Issue Details (XML | Word | Printable)

Key: WARBLER-15
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Nick Sieger
Reporter: undees
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
warbler

Rails 3 executable war missing core_ext

Created: 19/Jul/10 09:39 PM   Updated: 02/Dec/10 10:37 PM   Resolved: 02/Dec/10 09:23 PM
Component/s: None
Affects Version/s: 1.0.1
Fix Version/s: None

Time Tracking:
Not Specified

Environment:

JDK 1.6 on WinXP


Tags:


 Description  « Hide

Steps to reproduce:

  1. With Rails 3 beta 4 installed, generate a new app:
    jruby -S rails new myapp -d sqlite3
    cd myapp
    
  2. Edit the Gemfile to contain only these three lines:
    source 'http://rubygems.org'
    gem 'rails', '3.0.0.beta4'
    gem 'activerecord-jdbcsqlite3-adapter'
    
  3. Install the required gems:
    jruby -S bundle install
    
  4. Edit the development and production databases to use these settings:
    adapter: sqlite3
    database: C:/database.sqlite3
    
  5. Generate and migrate a simple model:
    jruby -S rails generate scaffold Thing name:string
    jruby -S rake db:migrate
    
  6. Start the app with jruby -S rails server, and verify that you can browse to localhost and create a few objects.
  7. Package the app with Warbler
    jruby -S warble executable war
    
  8. Start the app with Winstone, and note the presence of an error in the log:
    java -jar myapp.war
    [Winstone 2010/07/19 14:26:23] - Beginning extraction from war file
    [Winstone 2010/07/19 14:26:36] - WARNING: The Servlet 2.4/2.5 spec XSD was unavailable inside the winstone classpath. Will be retrieved from the web if required (slow)
    [Winstone 2010/07/19 14:26:37] - No webapp classes folder found - C:\Documents and Settings\username\Local Settings\Temp\winstone2622334649102654124webroot\myapp.war\WEB-INF\classes
    [webapp 2010/07/19 14:26:38] - Warning: error application could not be initialized
    org.jruby.rack.RackInitializationException: no such file to load -- builtin/core_ext/symbol
    
            at org.jruby.rack.DefaultRackApplicationFactory.newRuntime(DefaultRackApplicationFactory.java:85)
            at org.jruby.rack.DefaultRackApplicationFactory.createApplication(DefaultRackApplicationFactory.java:177)
            at org.jruby.rack.DefaultRackApplicationFactory.newErrorApplication(DefaultRackApplicationFactory.java:127)
            at org.jruby.rack.DefaultRackApplicationFactory.init(DefaultRackApplicationFactory.java:45)
            at org.jruby.rack.PoolingRackApplicationFactory.init(PoolingRackApplicationFactory.java:50)
            at org.jruby.rack.RackServletContextListener.contextInitialized(RackServletContextListener.java:40)
            at winstone.WebAppConfiguration.<init>(WebAppConfiguration.java:889)
            at winstone.HostConfiguration.initWebApp(HostConfiguration.java:131)
            at winstone.HostConfiguration.<init>(HostConfiguration.java:73)
            at winstone.HostGroup.initHost(HostGroup.java:85)
            at winstone.HostGroup.<init>(HostGroup.java:45)
            at winstone.Launcher.<init>(Launcher.java:196)
            at winstone.Launcher.main(Launcher.java:391)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.lang.reflect.Method.invoke(Unknown Source)
            at Main.launchWinstone(Main.java:66)
            at Main.start(Main.java:71)
            at Main.main(Main.java:96)
    Caused by: org.jruby.exceptions.RaiseException: no such file to load -- builtin/core_ext/symbol
            at (unknown).new(:1)
            at (unknown).(unknown)(:1)
    
    [webapp 2010/07/19 14:26:38] - Info: using runtime pool timeout of 30 seconds
    [webapp 2010/07/19 14:26:38] - Warning: no min runtimes specified.
    [webapp 2010/07/19 14:26:38] - Warning: no max runtimes specified.
    [Winstone 2010/07/19 14:26:38] - Listener winstone.ajp13.Ajp13Listener not found / disabled - ignoring
    [Winstone 2010/07/19 14:26:38] - Listener winstone.ssl.HttpsListener not found / disabled - ignoring
    [Winstone 2010/07/19 14:26:38] - Winstone Servlet Engine v0.9.10 running: controlPort=disabled
    [Winstone 2010/07/19 14:26:38] - HTTP Listener started: port=8080
    
    [webapp 2010/07/19 14:28:19] - Application Error
    org.jruby.rack.RackInitializationException: no such file to load -- builtin/core_ext/symbol
    
            at org.jruby.rack.DefaultRackApplicationFactory.newRuntime(DefaultRackApplicationFactory.java:85)
            at org.jruby.rack.DefaultRackApplicationFactory.createApplication(DefaultRackApplicationFactory.java:177)
            at org.jruby.rack.DefaultRackApplicationFactory.newApplication(DefaultRackApplicationFactory.java:50)
            at org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRackApplicationFactory.java:58)
            at org.jruby.rack.PoolingRackApplicationFactory.getApplication(PoolingRackApplicationFactory.java:94)
            at org.jruby.rack.servlet.DefaultServletDispatcher.process(DefaultServletDispatcher.java:36)
            at org.jruby.rack.RackFilter.doFilter(RackFilter.java:56)
            at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
            at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
            at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
            at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
            at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
            at java.lang.Thread.run(Unknown Source)
    Caused by: org.jruby.exceptions.RaiseException: no such file to load -- builtin/core_ext/symbol
            at (unknown).new(:1)
            at (unknown).(unknown)(:1)
    
  9. Visit localhost. Notice the root URL displays the Rails welcome message correctly, but that trying to visit the /things path throws an error. Specifically, the browser says "Application initialization failed: no such file to load – builtin/core_ext/symbol", and the console contains the following info:
    [webapp 2010/07/19 14:28:19] - Application Error
    org.jruby.rack.RackInitializationException: no such file to load -- builtin/core_ext/symbol
    
            at org.jruby.rack.DefaultRackApplicationFactory.newRuntime(DefaultRackApplicationFactory.java:85)
            at org.jruby.rack.DefaultRackApplicationFactory.createApplication(DefaultRackApplicationFactory.java:177)
            at org.jruby.rack.DefaultRackApplicationFactory.newApplication(DefaultRackApplicationFactory.java:50)
            at org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRackApplicationFactory.java:58)
            at org.jruby.rack.PoolingRackApplicationFactory.getApplication(PoolingRackApplicationFactory.java:94)
            at org.jruby.rack.servlet.DefaultServletDispatcher.process(DefaultServletDispatcher.java:36)
            at org.jruby.rack.RackFilter.doFilter(RackFilter.java:56)
            at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
            at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
            at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
            at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
            at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
            at java.lang.Thread.run(Unknown Source)
    Caused by: org.jruby.exceptions.RaiseException: no such file to load -- builtin/core_ext/symbol
            at (unknown).new(:1)
            at (unknown).(unknown)(:1)
    


jpshackelford added a comment - 27/Sep/10 02:56 PM

I have confirmed in my environment. Is there a work around?


jpshackelford added a comment - 27/Sep/10 03:01 PM

Something must be goofy with the Kenai site because I just posted the comment above and I am not Andrey Moiseev.


Nick Sieger added a comment - 01/Dec/10 10:23 PM - edited

Confirmed as well. See also http://jira.codehaus.org/browse/JRUBY-4774 which unfortunately was closed without getting resolved. Looking into it now.


Nick Sieger added a comment - 02/Dec/10 09:23 PM

This actually turned out to be a bug in JRuby itself. I'm going to copy part of the fix to JRuby-Rack for the 1.0.4 release. Make sure to pick up JRuby 1.5.6 or later.


undees added a comment - 02/Dec/10 10:37 PM

Thanks, Nick!

Do we need to wait until JRuby-Rack comes out before the fix will take effect?