Skip to content

Instantly share code, notes, and snippets.

@rdp
Created November 19, 2010 23:56
Show Gist options
  • Select an option

  • Save rdp/707442 to your computer and use it in GitHub Desktop.

Select an option

Save rdp/707442 to your computer and use it in GitHub Desktop.
swing app jruby
Exception in thread "AWT-EventQueue-0" ./bin/../lib/swing_helpers.rb:38:in `go': did not choose one (RuntimeError)
from bin\sensible-cinema:63:in `do_copy_dvd_to_hard_drive'
from bin\sensible-cinema:36:in `initialize'
from ./bin/../lib/swing_helpers.rb:20:in `call'
from ./bin/../lib/swing_helpers.rb:20:in `on_clicked'
from :1
...internal jruby stack elided...
from Java::JavaxSwing::JFileChooser.go(bin\sensible-cinema:63)
from SensibleSwing::MainWindow.do_copy_dvd_to_hard_drive(bin\sensible-cinema:36)
from SensibleSwing::MainWindow.initialize(./bin/../lib/swing_helpers.rb:20)
from Proc.call(./bin/../lib/swing_helpers.rb:20)
from Java::JavaxSwing::JButton.on_clicked(:1)
from (unknown).(unknown)(:1)
Exception in thread "AWT-EventQueue-0" org.racob.com.ComFailException: Invoke of: ConnectServer
Source: SWbemLocator
Description:
at org.racob.com.Dispatch.invokev(Native Method)
at org.racob.com.Dispatch.invokev(Dispatch.java:803)
at org.racob.com.Dispatch.callN(Dispatch.java:382)
at org.jruby.ext.win32ole.RubyWIN32OLE.invokeMethodOrGet(RubyWIN32OLE.java:203)
at org.jruby.ext.win32ole.RubyWIN32OLE.method_missing(RubyWIN32OLE.java:113)
at org.jruby.ext.win32ole.RubyWIN32OLE$i_method_0_0$RUBYINVOKER$method_missing.call(org/jruby/ext/win32ole/RubyWIN32OLE$i_method_0_0$RUBYINVOKER$method_missing.gen:65535)
at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:642)
at org.jruby.javasupport.util.RuntimeHelpers$MethodMissingMethod.call(RuntimeHelpers.java:401)
at org.jruby.runtime.callsite.CachingCallSite.callMethodMissing(CachingCallSite.java:363)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:276)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:68)
at org.jruby.ast.CallManyArgsNode.interpret(CallManyArgsNode.java:59)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:158)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:106)
at org.jruby.ast.VCallNode.interpret(VCallNode.java:85)
at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:180)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:174)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:146)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:180)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:174)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:146)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.WhenOneArgNode.when(WhenOneArgNode.java:49)
at org.jruby.ast.CaseNode.interpret(CaseNode.java:133)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:180)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:174)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:146)
at bin.sensible_minus_cinema.method__7$RUBY$get_dvd_drives(sensible-cinema:136)
at bin_sensible_minus_cinemaInvokermethod__7$RUBY$get_dvd_drivesFixed0.call(bin_sensible_minus_cinemaInvokermethod__7$RUBY$get_dvd_drivesFixed0#get_dvd_drives:65535)
at bin_sensible_minus_cinemaInvokermethod__7$RUBY$get_dvd_drivesFixed0.call(bin_sensible_minus_cinemaInvokermethod__7$RUBY$get_dvd_drivesFixed0#get_dvd_drives:65535)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:106)
at bin.sensible_minus_cinema.method__5$RUBY$choose_dvd_drive(sensible-cinema:109)
at bin_sensible_minus_cinemaInvokermethod__5$RUBY$choose_dvd_driveFixed0.call(bin_sensible_minus_cinemaInvokermethod__5$RUBY$choose_dvd_driveFixed0#choose_dvd_drive:65535)
at bin_sensible_minus_cinemaInvokermethod__5$RUBY$choose_dvd_driveFixed0.call(bin_sensible_minus_cinemaInvokermethod__5$RUBY$choose_dvd_driveFixed0#choose_dvd_drive:65535)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:106)
at bin.sensible_minus_cinema.method__3$RUBY$do_copy_dvd_to_hard_drive(sensible-cinema:58)
at bin_sensible_minus_cinemaInvokermethod__3$RUBY$do_copy_dvd_to_hard_driveFixed0.call(bin_sensible_minus_cinemaInvokermethod__3$RUBY$do_copy_dvd_to_hard_driveFixed0#do_copy_dvd_to_hard_drive:65535)
at bin_sensible_minus_cinemaInvokermethod__3$RUBY$do_copy_dvd_to_hard_driveFixed0.call(bin_sensible_minus_cinemaInvokermethod__3$RUBY$do_copy_dvd_to_hard_driveFixed0#do_copy_dvd_to_hard_drive:65535)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:106)
at bin.sensible_minus_cinema.block_1$RUBY$__block__(sensible-cinema:36)
at bin.sensible_minus_cinemaBlockCallback$block_1$RUBY$__block__xx1.call(Unknown Source)
at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:136)
at org.jruby.runtime.BlockBody.call(BlockBody.java:78)
at org.jruby.runtime.Block.call(Block.java:89)
at org.jruby.RubyProc.call(RubyProc.java:224)
at org.jruby.RubyProc.call(RubyProc.java:203)
at org.jruby.RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.call(org/jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen:65535)
at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:182)
at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:178)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:106)
at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:373)
at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:327)
at org.jruby.runtime.BlockBody.call(BlockBody.java:78)
at org.jruby.runtime.Block.call(Block.java:89)
at org.jruby.RubyProc.call(RubyProc.java:224)
at org.jruby.RubyProc.call(RubyProc.java:207)
at org.jruby.javasupport.JavaUtil$1.call(JavaUtil.java:231)
at org.jruby.javasupport.util.RuntimeHelpers$MethodMissingMethod.call(RuntimeHelpers.java:401)
at org.jruby.gen.InterfaceImpl1809777163.actionPerformed(org/jruby/gen/InterfaceImpl1809777163.gen:13)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
@rdp
Copy link
Author

rdp commented Feb 22, 2011

I think this meant "in swing, if one thread has an unhandled exception, it will start a new thread...and unfortunately WIN32OLE seems to be particular to threads and like to prefer only running in one [?]"
http://jira.codehaus.org/browse/JRUBY-5423

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment