History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: JRUBY-1639
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Vladimir Sizikov
Votes: 0
Watchers: 1
Operations

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

Exception when stopping WEBrick running the new rails application

Created: 29/Nov/07 10:08 AM   Updated: 26/May/08 10:47 PM
Component/s: Core Classes/Modules
Affects Version/s: JRuby 1.1+
Fix Version/s: JRuby 1.1+

Time Tracking:
Not Specified

Environment:
Reproducible only on Windows!
Latest JRuby 1.1b1 from trunk, rev. 5095.
Rails 1.2.6


 Description  « Hide
Just create a new rails app, start WEBrick, and then Control-C. Even more, pressing Control-C each time causes the exception to be printed again and again.

[2007-11-29 17:06:14] INFO WEBrick 1.3.1
[2007-11-29 17:06:14] INFO ruby 1.8.5 (2007-11-29) [java]
[2007-11-29 17:06:14] INFO WEBrick::HTTPServer#start: pid=5840 port=3000
java.nio.channels.CancelledKeyException
at sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:55)
at sun.nio.ch.SelectionKeyImpl.interestOps(SelectionKeyImpl.java:59)
at org.jruby.RubyIO.select_static(RubyIO.java:1480)
at org.jruby.RubyIO.select(RubyIO.java:1410)
at org.jruby.RubyIOInvoker$select_method_1_3.call(Unknown Source)
at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:144)
at org.jruby.runtime.CallSite$ArgumentBoxingCallSite.call(CallSite.java:103)
at org.jruby.evaluator.ASTInterpreter.callNode(ASTInterpreter.java:653)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:300)
at org.jruby.evaluator.ASTInterpreter.dAsgnNode(ASTInterpreter.java:851)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:320)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:363)
at org.jruby.evaluator.ASTInterpreter.rescueNode(ASTInterpreter.java:1517)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:443)
at org.jruby.evaluator.ASTInterpreter.whileNode(ASTInterpreter.java:1765)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:480)
at org.jruby.evaluator.ASTInterpreter.blockNode(ASTInterpreter.java:627)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:294)
at org.jruby.evaluator.ASTInterpreter.eval(ASTInterpreter.java:169)
at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:176)
at org.jruby.runtime.Block.yield(Block.java:115)
at org.jruby.evaluator.ASTInterpreter.yieldNode(ASTInterpreter.java:1821)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:484)
at org.jruby.evaluator.ASTInterpreter.eval(ASTInterpreter.java:169)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:147)
at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:158)
at org.jruby.evaluator.ASTInterpreter.callNode(ASTInterpreter.java:658)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:300)
at org.jruby.evaluator.ASTInterpreter.blockNode(ASTInterpreter.java:627)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:294)
at org.jruby.evaluator.ASTInterpreter.eval(ASTInterpreter.java:169)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:147)
at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:158)
at org.jruby.runtime.CallSite$ArgumentBoxingCallSite.call(CallSite.java:103)
at org.jruby.evaluator.ASTInterpreter.callNode(ASTInterpreter.java:653)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:300)
at org.jruby.evaluator.ASTInterpreter.blockNode(ASTInterpreter.java:627)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:294)
at org.jruby.evaluator.ASTInterpreter.eval(ASTInterpreter.java:169)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:147)
at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:158)
at org.jruby.runtime.CallSite$ArgumentBoxingCallSite.call(CallSite.java:103)
at org.jruby.evaluator.ASTInterpreter.callNode(ASTInterpreter.java:653)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:300)
at org.jruby.evaluator.ASTInterpreter.blockNode(ASTInterpreter.java:627)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:294)
at org.jruby.evaluator.ASTInterpreter.rootNode(ASTInterpreter.java:1619)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:449)
at org.jruby.evaluator.ASTInterpreter.eval(ASTInterpreter.java:169)
at org.jruby.Ruby.loadFile(Ruby.java:1801)
at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:52)
at org.jruby.runtime.load.LoadService.smartLoad(LoadService.java:318)
at org.jruby.runtime.load.LoadService.require(LoadService.java:344)
at org.jruby.RubyKernel.require(RubyKernel.java:678)
at org.jruby.RubyKernelInvoker$require_method_1_0.call(Unknown Source)
at org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:60)
at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:144)
at org.jruby.runtime.CallSite$ArgumentBoxingCallSite.call(CallSite.java:103)
at require1876483_12932988.__rescue_1(D:/work/jruby-dev/jruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27)
at require1876483_12932988._file_(D:/work/jruby-dev/jruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27)
at require1876483_12932988.run(D:/work/jruby-dev/jruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:115)
at org.jruby.RubyClass.invoke(RubyClass.java:239)
at org.jruby.javasupport.util.RuntimeHelpers.invokeAs(RuntimeHelpers.java:351)
at org.jruby.RubyObject.callSuper(RubyObject.java:455)
at require5880100_12932988.closure0(D:/work/jruby-dev/jruby/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495)
at require5880100_12932988Blockclosure0xx1.call(Unknown Source)
at org.jruby.runtime.CompiledBlockLight.yield(CompiledBlockLight.java:128)
at org.jruby.runtime.Block.yield(Block.java:115)
at new_constants_in15425661_12932988.__ensure_2(D:/work/jruby-dev/jruby/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:342)
at new_constants_in15425661_12932988.__ensure_1(D:/work/jruby-dev/jruby/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:342)
at new_constants_in15425661_12932988._file_(D:/work/jruby-dev/jruby/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:314)
at new_constants_in15425661_12932988.run(D:/work/jruby-dev/jruby/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:115)
at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:144)
at require5880100_12932988.__rescue_1(D:/work/jruby-dev/jruby/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495)
at require5880100_12932988._file_(D:/work/jruby-dev/jruby/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495)
at require5880100_12932988.run(D:/work/jruby-dev/jruby/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:115)
at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:158)
at org.jruby.runtime.CallSite$ArgumentBoxingCallSite.call(CallSite.java:103)
at org.jruby.evaluator.ASTInterpreter.fCallNode(ASTInterpreter.java:1103)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:346)
at org.jruby.evaluator.ASTInterpreter.blockNode(ASTInterpreter.java:627)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:294)
at org.jruby.evaluator.ASTInterpreter.rootNode(ASTInterpreter.java:1619)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:449)
at org.jruby.evaluator.ASTInterpreter.eval(ASTInterpreter.java:169)
at org.jruby.Ruby.loadFile(Ruby.java:1801)
at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:52)
at org.jruby.runtime.load.LoadService.smartLoad(LoadService.java:318)
at org.jruby.runtime.load.LoadService.require(LoadService.java:344)
at org.jruby.RubyKernel.require(RubyKernel.java:678)
at org.jruby.RubyKernelInvoker$require_method_1_0.call(Unknown Source)
at org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:60)
at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:144)
at org.jruby.runtime.CallSite$ArgumentBoxingCallSite.call(CallSite.java:103)
at org.jruby.evaluator.ASTInterpreter.fCallNode(ASTInterpreter.java:1103)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:346)
at org.jruby.evaluator.ASTInterpreter.rescueNode(ASTInterpreter.java:1517)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:443)
at org.jruby.evaluator.ASTInterpreter.eval(ASTInterpreter.java:169)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:147)
at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:158)
at org.jruby.runtime.CallSite$ArgumentBoxingCallSite.call(CallSite.java:103)
at script.server._file_(script\server:3)
at script.server.load(script\server)
at org.jruby.Ruby.runScript(Ruby.java:577)
at org.jruby.Ruby.runNormally(Ruby.java:507)
at org.jruby.Ruby.runFromMain(Ruby.java:430)
at org.jruby.Main.runInterpreter(Main.java:220)
at org.jruby.Main.runInterpreter(Main.java:176)
at org.jruby.Main.run(Main.java:119)
at org.jruby.Main.run(Main.java:93)
at org.jruby.Main.main(Main.java:84)
D:/work/jruby-dev/jruby/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/commands/servers/webrick.rb:7 warning: already initialized constant OPTIONS



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Thomas E Enebo - 29/Nov/07 10:13 AM
randrew on irc pointed out this bug:

http://jira.codehaus.org/browse/JETTY-315

We should probably do the same so we do not get a flood of bug reports against this from windows users....


Charles Oliver Nutter - 12/May/08 05:00 PM
I will try to investigate this for 1.1.2, but it's nontrivial.

Charles Oliver Nutter - 26/May/08 10:47 PM
Not going to make it into 1.1.2. This and other IO-interrupt-related bugs will require a larger piece of work to resolve.