JavaEE Server(tomcatしかりglassfishしかり)でUnknown Error
サーバーログが以下の通り
2011/01/02 13:52:35 org.apache.catalina.core.ApplicationContext log
致命的: Application Error
org.jruby.rack.RackInitializationException: Unknown error – Unknown Error (20047) – C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\dosaf\WEB-INF\classpath:
from classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:217:in `mkdir_p’
from classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:215:in `reverse_each’
from classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:215:in `mkdir_p’
from classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:201:in `each’
from classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:201:in `mkdir_p’
from C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:259:in `configure_gem_home_and_path’
from C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:72:in `configure’
from C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:126:in `definition’
… 9 levels…
from classpath:/vendor/rack-1.2.1/rack/builder.rb:46:in `initialize’
from <script>:2:in `new’
from <script>:2
at org.jruby.rack.DefaultRackApplicationFactory$4.init(DefaultRackApplicationFactory.java:183)
at org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRackApplicationFactory.java:60)
at org.jruby.rack.PoolingRackApplicationFactory.getApplication(PoolingRackApplicationFactory.java:94)
at org.jruby.rack.DefaultRackDispatcher.process(DefaultRackDispatcher.java:28)
at org.jruby.rack.RackFilter.doFilter(RackFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:402)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:310)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:575)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1555)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.jruby.exceptions.RaiseException: Unknown error – Unknown Error (20047) – C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\dosaf\WEB-INF\classpath:
at (unknown).new(classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:243)
at FileUtils.fu_mkdir(classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:217)
at FileUtils.mkdir_p(classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:215)
at Array.reverse_each(classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:215)
at FileUtils.mkdir_p(classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:201)
at Array.each(classpath:/META-INF/jruby.home/lib/ruby/1.8/fileutils.rb:201)
at FileUtils.mkdir_p(C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:259)
at #<Class:01x359ad71f>.configure_gem_home_and_path(C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:72)
at #<Class:01x359ad71f>.configure(C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:126)
at #<Class:01x359ad71f>.definition(C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:116)
at #<Class:01x359ad71f>.load(C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:100)
at #<Class:01x359ad71f>.setup(C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/config/boot.rb:8)
at (unknown).(unknown)(C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/dosaf/WEB-INF/config/boot.rb:165)
at Kernel.require(classpath:/jruby/rack/rails.rb:165)
at JRuby::Rack::RailsBooter::Rails3Environment.load_environment(classpath:/jruby/rack/rails.rb:173)
at JRuby::Rack::RailsBooter::Rails3Environment.to_app(classpath:/jruby/rack/rails.rb:194)
at #<Class:01x4a30db6d>.new(<script>:2)
at (unknown).(unknown)(classpath:/vendor/rack-1.2.1/rack/builder.rb:46)
at Kernel.instance_eval(classpath:/vendor/rack-1.2.1/rack/builder.rb:46)
at Kernel.instance_eval(classpath:/vendor/rack-1.2.1/rack/builder.rb:46)
at Rack::Builder.initialize(<script>:2)
at (unknown).new(<script>:2)
at (unknown).(unknown)(:1)
対処法
WEB-INF/gems/gems/bundler-1.0.7/lib/bundler.rb:259の
FileUtils.mkdir_p bundle_path.to_sをコメントアウトする
※ただし、この対処法はあんまり検証してないので注意。たぶん問題はないと思うけれど。