Concurrent ---------- Key: JRUBY-3332 URL: http://jira.codehaus.org/browse/JRUBY-3332 Project: JRuby Issue Type: Bug Components: Core Classes/Modules Affects Versions: JRuby 1.1.6 Environment: MacOS 10.5.6 with JDK 1.6.0 64-bit Reporter: Peter K Chan
During the startup of my app, a ConcurrentModificationException was thrown. This is a very infrequent event, and I don't have any way to consistenttly reproduce it. However, I do have the stack trace available and I am hoping that by looking at the source, someone can figure out if this is a synchronization problem. {code} [01/25 11:54:18] TRACE: Bun started in 0.026. Exception in thread "NATChecker" java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) at java.util.HashMap$EntryIterator.next(HashMap.java:834) at java.util.HashMap$EntryIterator.next(HashMap.java:832) at java.util.HashMap.putAllForCreate(HashMap.java:435) at java.util.HashMap.<init>(HashMap.java:225) at org.jruby.javasupport.JavaClass.initializeClass(JavaClass.java:491) at org.jruby.javasupport.JavaClass.<init>(JavaClass.java:452) at org.jruby.javasupport.JavaClass.createJavaClass(JavaClass.java:877) at org.jruby.javasupport.JavaClass.get(JavaClass.java:860) at org.jruby.javasupport.Java.getInstance(Java.java:446) at org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject(JavaUtil.java:760) at org.jruby.javasupport.JavaUtil.java_to_ruby(JavaUtil.java:1077) at org.jruby.javasupport.Java.java_to_ruby(Java.java:1454) at org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:36) at org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:60) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:260) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:75) at org.jruby.ast.VCallNode.interpret(VCallNode.java:82) at org.jruby.ast.YieldNode.interpret(YieldNode.java:93) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.WhileNode.interpret(WhileNode.java:128) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:270) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:85) at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:63) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:202) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:190) at org.jruby.runtime.Block.yield(Block.java:133) at org.jruby.ast.YieldNode.interpret(YieldNode.java:95) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.WhileNode.interpret(WhileNode.java:128) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:270) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:85) at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:63) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.BlockNode.interpret(BlockNode.java:68) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:117) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:260) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:75) at org.jruby.ast.VCallNode.interpret(VCallNode.java:82) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:202) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:190) at org.jruby.runtime.BlockBody.call(BlockBody.java:64) at org.jruby.runtime.BlockBody.call(BlockBody.java:70) at org.jruby.runtime.Block.call(Block.java:116) at org.jruby.RubyProc.call(RubyProc.java:205) at org.jruby.RubyProc.call(RubyProc.java:187) at org.jruby.RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.call(org/jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen) at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodNoBlock.call(JavaMethod.java:62) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:226) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:73) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.RescueNode.executeBody(RescueNode.java:222) at org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:144) at org.jruby.ast.RescueNode.interpret(RescueNode.java:107) at org.jruby.ast.BeginNode.interpret(BeginNode.java:80) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:202) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:190) at org.jruby.runtime.Block.yield(Block.java:133) at org.jruby.ast.YieldNode.interpret(YieldNode.java:95) at org.jruby.ast.IfNode.interpret(IfNode.java:109) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:93) at org.jruby.ast.BeginNode.interpret(BeginNode.java:80) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.BlockNode.interpret(BlockNode.java:68) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:136) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:98) at org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:31) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.BlockNode.interpret(BlockNode.java:68) at org.jruby.ast.WhileNode.interpret(WhileNode.java:128) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:202) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:190) at org.jruby.runtime.BlockBody.call(BlockBody.java:64) at org.jruby.runtime.BlockBody.call(BlockBody.java:70) at org.jruby.runtime.Block.call(Block.java:116) at org.jruby.RubyProc.call(RubyProc.java:205) at org.jruby.RubyProc.call(RubyProc.java:187) at org.jruby.RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.call(org/jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen) at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodNoBlock.call(JavaMethod.java:62) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:226) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:73) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.BlockNode.interpret(BlockNode.java:68) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:202) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:190) at org.jruby.runtime.BlockBody.call(BlockBody.java:64) at org.jruby.runtime.BlockBody.call(BlockBody.java:70) at org.jruby.runtime.Block.call(Block.java:116) at org.jruby.RubyProc.call(RubyProc.java:205) at org.jruby.RubyProc.call(RubyProc.java:187) at org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:90) at java.lang.Thread.run(Thread.java:637) {code} -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email