warbler
  1. warbler
  2. WARBLER-15

Rails 3 executable war missing core_ext

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.1
    • Fix Version/s: None
    • Labels:
      None
    • Environment:

      JDK 1.6 on WinXP

      Description

      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)
        

        Activity

        Hide
        jpshackelford added a comment -

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

        Show
        jpshackelford added a comment - I have confirmed in my environment. Is there a work around?
        Hide
        jpshackelford added a comment -

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

        Show
        jpshackelford added a comment - Something must be goofy with the Kenai site because I just posted the comment above and I am not Andrey Moiseev.
        Hide
        Nick Sieger added a comment - - edited

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

        Show
        Nick Sieger added a comment - - edited Confirmed as well. See also http://jira.codehaus.org/browse/JRUBY-4774 which unfortunately was closed without getting resolved. Looking into it now.
        Hide
        Nick Sieger added a comment -

        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.

        Show
        Nick Sieger added a comment - 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.
        Hide
        undees added a comment -

        Thanks, Nick!

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

        Show
        undees added a comment - Thanks, Nick! Do we need to wait until JRuby-Rack comes out before the fix will take effect?

          People

          • Assignee:
            Nick Sieger
            Reporter:
            undees
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: