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


Reply via email to