Weird stacktrace/error

hello,

anybody can give me a hint what could be the cause of such a
stacktrace. the code works fine on MRI.

with regards
Kristian

DummyDynamicScope.java:49:in getBackRef': java.lang.RuntimeException: DummyDynamicScope should never be used for backref storage from RubyRegexp.java:1404:in updateBackRef’
from RubyRegexp.java:1396:in updateBackRef' from RubyRegexp.java:1386:in search’
from RubyRegexp.java:1301:in op_match' from RubyString.java:1446:in op_match’
from org/jruby/RubyString$i_method_1_0$RUBYINVOKER$op_match.gen:-1:in
call' from JavaMethod.java:721:in call’
from RubyClass.java:472:in finvoke' from RubyObject.java:1442:in send’
from org/jruby/RubyObject$i_method_multi$RUBYINVOKER$send.gen:-1:in
call' from JavaMethod.java:276:in call’
from CachingCallSite.java:187:in call' from numeric_validator.rb:69:in file
from numeric_validator.rb:-1:in __file__' from JittedMethod.java:102:in call’
from CachingCallSite.java:280:in cacheAndCall' from CachingCallSite.java:69:in call’
from FCallManyArgsNode.java:60:in interpret' from NewlineNode.java:104:in interpret’
from InterpretedMethod.java:229:in call' from DefaultMethod.java:193:in call’
from RubyClass.java:491:in finvoke' from RubyObject.java:1448:in send’
from org/jruby/RubyObject$i_method_multi$RUBYINVOKER$send.gen:-1:in
call' from JavaMethod.java:293:in call’
from CachingCallSite.java:350:in cacheAndCall' from CachingCallSite.java:229:in call’
from numeric_validator.rb:63:in __file__' from numeric_validator.rb:-1:in file
from JittedMethod.java:221:in call' from CachingCallSite.java:350:in cacheAndCall’
from CachingCallSite.java:229:in call' from FCallThreeArgNode.java:40:in interpret’
from NewlineNode.java:104:in interpret' from BlockNode.java:71:in interpret’
from InterpretedMethod.java:173:in call' from DefaultMethod.java:169:in call’
from CachingCallSite.java:310:in cacheAndCall' from CachingCallSite.java:149:in call’
from CallOneArgNode.java:57:in interpret' from IfNode.java:117:in interpret’
from NewlineNode.java:104:in interpret' from InterpretedBlock.java:317:in evalBlockBody’
from InterpretedBlock.java:268:in yield' from Block.java:194:in yield’
from RubyEnumerable.java:627:in call' from CallBlock.java:78:in yield’
from Block.java:194:in yield' from RubyArray.java:1635:in eachCommon’
from RubyArray.java:1642:in each' from org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in call’
from RubyClass.java:432:in finvoke' from RuntimeHelpers.java:390:in invoke’
from RubyEnumerable.java:70:in callEach' from RubyEnumerable.java:624:in collect’
from
org/jruby/RubyEnumerable$s_method_0_0$RUBYFRAMEDINVOKER$collect.gen:-1:in
call' from CachingCallSite.java:116:in callBlock’
from CachingCallSite.java:123:in call' from CallNoArgBlockNode.java:64:in interpret’
from CallNoArgNode.java:61:in interpret' from NewlineNode.java:104:in interpret’
from BlockNode.java:71:in interpret' from InterpretedMethod.java:210:in call’
from DefaultMethod.java:185:in call' from CachingCallSite.java:187:in call’
from CallTwoArgNode.java:59:in interpret' from NewlineNode.java:104:in interpret’
from BlockNode.java:71:in interpret' from InterpretedMethod.java:173:in call’
from DefaultMethod.java:169:in call' from CachingCallSite.java:310:in cacheAndCall’
from CachingCallSite.java:149:in call' from FCallOneArgNode.java:36:in interpret’
from OrNode.java:97:in interpret' from IfNode.java:111:in interpret’
from NewlineNode.java:104:in interpret' from BlockNode.java:71:in interpret’
from InterpretedMethod.java:173:in call' from DefaultMethod.java:169:in call’
from CachingCallSite.java:310:in cacheAndCall' from CachingCallSite.java:149:in call’
from FCallOneArgNode.java:36:in interpret' from AndNode.java:94:in interpret’
from AndNode.java:90:in interpret' from NewlineNode.java:104:in interpret’
from InterpretedBlock.java:317:in evalBlockBody' from InterpretedBlock.java:251:in yield’
from InterpretedBlock.java:185:in yieldSpecific' from Block.java:99:in yieldSpecific’
from resource.rb:1004:in ensure_1$RUBY$__ensure___0' from resource.rb:1002:in file
from resource.rb:-1:in __file__' from JittedMethod.java:170:in call’
from CachingCallSite.java:320:in cacheAndCall' from CachingCallSite.java:158:in callBlock’
from CachingCallSite.java:173:in callIter' from FCallOneArgBlockNode.java:34:in interpret’
from NewlineNode.java:104:in interpret' from InterpretedMethod.java:173:in call’
from DefaultMethod.java:169:in call' from CachingCallSite.java:310:in cacheAndCall’
from CachingCallSite.java:149:in call' from FCallOneArgNode.java:36:in interpret’
from NewlineNode.java:104:in interpret' from BlockNode.java:71:in interpret’
from InterpretedMethod.java:112:in call' from DefaultMethod.java:135:in call’
from SuperCallSite.java:267:in cacheAndCall' from SuperCallSite.java:50:in callBlock’
from SuperCallSite.java:55:in call' from SuperNode.java:111:in interpret’
from NewlineNode.java:104:in interpret' from InterpretedBlock.java:317:in evalBlockBody’
from InterpretedBlock.java:251:in yield' from InterpretedBlock.java:185:in yieldSpecific’
from Block.java:99:in yieldSpecific' from ZYieldNode.java:25:in interpret’
from NewlineNode.java:104:in interpret' from EnsureNode.java:96:in interpret’
from BeginNode.java:83:in interpret' from NewlineNode.java:104:in interpret’
from BlockNode.java:71:in interpret' from InterpretedMethod.java:192:in call’
from DefaultMethod.java:177:in call' from CachingCallSite.java:320:in cacheAndCall’
from CachingCallSite.java:158:in callBlock' from CachingCallSite.java:173:in callIter’
from FCallOneArgBlockNode.java:34:in interpret' from NewlineNode.java:104:in interpret’
from InterpretedMethod.java:112:in call' from DefaultMethod.java:135:in call’
from SuperCallSite.java:267:in cacheAndCall' from SuperCallSite.java:50:in callBlock’
from SuperCallSite.java:55:in call' from SuperNode.java:111:in interpret’
from NewlineNode.java:104:in interpret' from BlockNode.java:71:in interpret’
from InterpretedMethod.java:136:in call' from DefaultMethod.java:153:in call’
from CachingCallSite.java:290:in cacheAndCall' from CachingCallSite.java:109:in call’
from CallSpecialArgNode.java:65:in interpret' from NewlineNode.java:104:in interpret’
from BlockNode.java:71:in interpret' from InterpretedMethod.java:173:in call’
from DefaultMethod.java:169:in call' from CachingCallSite.java:310:in cacheAndCall’
from CachingCallSite.java:149:in call' from CallOneArgNode.java:57:in interpret’
from NewlineNode.java:104:in interpret' from BlockNode.java:71:in interpret’
from IfNode.java:119:in interpret' from NewlineNode.java:104:in interpret’
from BlockNode.java:71:in interpret' from InterpretedMethod.java:173:in call’
from DefaultMethod.java:169:in call' from CachingCallSite.java:310:in cacheAndCall’
from CachingCallSite.java:149:in call' from CallOneArgNode.java:57:in interpret’
from NewlineNode.java:104:in interpret' from BlockNode.java:71:in interpret’
from InterpretedMethod.java:155:in call' from DefaultMethod.java:161:in call’
from CachingCallSite.java:116:in callBlock' from CachingCallSite.java:123:in call’
from RubyClass.java:698:in call' from DynamicMethod.java:168:in call’
from CachingCallSite.java:107:in call' from CallNoArgNode.java:61:in interpret’
from InstAsgnNode.java:95:in interpret' from NewlineNode.java:104:in interpret’
from BlockNode.java:71:in interpret' from InterpretedBlock.java:317:in evalBlockBody’
from InterpretedBlock.java:305:in yield' from Block.java:199:in yield’
from RubyObject.java:508:in yieldUnder' from RubyObject.java:330:in specificEval’
from RubyObject.java:1284:in instance_eval' from org/jruby/RubyObject$i_method_multi$RUBYFRAMEDINVOKER$instance_eval.gen:-1:in call’
from CachingCallSite.java:300:in cacheAndCall' from CachingCallSite.java:118:in callBlock’
from CachingCallSite.java:123:in call' from FCallNoArgBlockPassNode.java:27:in interpret’
from NewlineNode.java:104:in interpret' from InterpretedBlock.java:317:in evalBlockBody’
from InterpretedBlock.java:268:in yield' from Block.java:194:in yield’
from RubyArray.java:1635:in eachCommon' from RubyArray.java:1642:in each’
from org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in
call' from CachingCallSite.java:116:in callBlock’
from CachingCallSite.java:123:in call' from CallNoArgBlockNode.java:64:in interpret’
from NewlineNode.java:104:in interpret' from InterpretedMethod.java:173:in call’
from DefaultMethod.java:169:in call' from CachingCallSite.java:310:in cacheAndCall’
from CachingCallSite.java:149:in call' from CallOneArgNode.java:57:in interpret’
from NewlineNode.java:104:in interpret' from InterpretedMethod.java:173:in call’
from DefaultMethod.java:169:in call' from CachingCallSite.java:147:in call’
from CallOneArgNode.java:57:in interpret' from NewlineNode.java:104:in interpret’
from InterpretedMethod.java:136:in call' from DefaultMethod.java:153:in call’
from CachingCallSite.java:290:in cacheAndCall' from CachingCallSite.java:109:in call’
from VCallNode.java:85:in interpret' from NewlineNode.java:104:in interpret’
from BlockNode.java:71:in interpret' from InterpretedMethod.java:136:in call’
from DefaultMethod.java:153:in call' from CachingCallSite.java:290:in cacheAndCall’
from CachingCallSite.java:109:in call' from VCallNode.java:85:in interpret’
from NewlineNode.java:104:in interpret' from BlockNode.java:71:in interpret’
from RescueNode.java:225:in executeBody' from RescueNode.java:147:in interpretWithJavaExceptions’
from RescueNode.java:110:in interpret' from BeginNode.java:83:in interpret’
from NewlineNode.java:104:in interpret' from BlockNode.java:71:in interpret’
from InterpretedBlock.java:317:in evalBlockBody' from InterpretedBlock.java:251:in yield’
from InterpretedBlock.java:185:in yieldSpecific' from Block.java:99:in yieldSpecific’
from Timeout.java:74:in timeout' from org/jruby/ext/Timeout$s_method_multi$RUBYINVOKER$timeout.gen:-1:in call’
from CachingCallSite.java:156:in callBlock' from CachingCallSite.java:163:in call’
from CallOneArgBlockNode.java:60:in interpret' from NewlineNode.java:104:in interpret’
from BlockNode.java:71:in interpret' from InterpretedMethod.java:210:in call’
from DefaultMethod.java:185:in call' from CachingCallSite.java:330:in cacheAndCall’
from CachingCallSite.java:189:in call' from CallTwoArgNode.java:59:in interpret’
from CallOneArgNode.java:57:in interpret' from LocalAsgnNode.java:123:in interpret’
from NewlineNode.java:104:in interpret' from BlockNode.java:71:in interpret’
from InterpretedBlock.java:317:in evalBlockBody' from InterpretedBlock.java:268:in yield’
from Block.java:194:in yield' from RubyArray.java:1635:in eachCommon’
from RubyArray.java:1642:in each' from org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in call’
from CachingCallSite.java:300:in cacheAndCall' from CachingCallSite.java:118:in callBlock’
from CachingCallSite.java:123:in call' from CallNoArgBlockNode.java:64:in interpret’
from NewlineNode.java:104:in interpret' from BlockNode.java:71:in interpret’
from InterpretedMethod.java:112:in call' from InterpretedMethod.java:124:in call’
from DefaultMethod.java:144:in call' from CachingCallSite.java:280:in cacheAndCall’
from CachingCallSite.java:69:in call' from FCallManyArgsNode.java:60:in interpret’
from ToAryNode.java:69:in interpret' from MultipleAsgnNode.java:128:in interpret’
from NewlineNode.java:104:in interpret' from BlockNode.java:71:in interpret’
from InterpretedMethod.java:173:in call' from DefaultMethod.java:169:in call’
from CachingCallSite.java:310:in cacheAndCall' from CachingCallSite.java:149:in call’
from CallOneArgNode.java:57:in interpret' from CallOneArgNode.java:57:in interpret’
from LocalAsgnNode.java:123:in interpret' from NewlineNode.java:104:in interpret’
from InterpretedBlock.java:317:in evalBlockBody' from InterpretedBlock.java:268:in yield’
from Block.java:194:in yield' from RubyArray.java:1635:in eachCommon’
from RubyArray.java:1642:in each' from org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in call’
from CachingCallSite.java:300:in cacheAndCall' from CachingCallSite.java:118:in callBlock’
from CachingCallSite.java:123:in call' from CallNoArgBlockNode.java:64:in interpret’
from NewlineNode.java:104:in interpret' from BlockNode.java:71:in interpret’
from EnsureNode.java:96:in interpret' from InterpretedMethod.java:136:in call’
from DefaultMethod.java:153:in call' from CachingCallSite.java:290:in cacheAndCall’
from CachingCallSite.java:109:in call' from CallNoArgNode.java:61:in interpret’
from LocalAsgnNode.java:123:in interpret' from NewlineNode.java:104:in interpret’
from BlockNode.java:71:in interpret' from IfNode.java:119:in interpret’
from NewlineNode.java:104:in interpret' from BlockNode.java:71:in interpret’
from EnsureNode.java:96:in interpret' from BeginNode.java:83:in interpret’
from NewlineNode.java:104:in interpret' from BlockNode.java:71:in interpret’
from InterpretedMethod.java:136:in call' from DefaultMethod.java:153:in call’
from CachingCallSite.java:290:in cacheAndCall' from CachingCallSite.java:109:in call’
from CallNoArgNode.java:61:in interpret' from OrNode.java:97:in interpret’
from NewlineNode.java:104:in interpret' from InterpretedMethod.java:136:in call’
from DefaultMethod.java:153:in call' from CachingCallSite.java:290:in cacheAndCall’
from CachingCallSite.java:109:in call' from VCallNode.java:85:in interpret’
from FCallOneArgNode.java:36:in interpret' from IfNode.java:119:in interpret’
from NewlineNode.java:104:in interpret' from InterpretedBlock.java:317:in evalBlockBody’
from InterpretedBlock.java:305:in yield' from BlockBody.java:72:in call’
from BlockBody.java:78:in call' from Block.java:89:in call’
from RubyProc.java:221:in call' from RubyProc.java:204:in call’
from Ruby.java:2616:in tearDown' from Main.java:274:in run’
from Main.java:117:in run' from Main.java:97:in main’


Kristian Meier + Saumya Sharma + Sanuka Meier
Vadakkethu House,
Edayanmula West PO - 689532,
Pathanamthitta District, Kerala, INDIA

tel: +91 468 2319577

protect your privacy while searching the net: www.ixquick.com

         _=_
       q(-_-)p
        '_) (_`
        /__/  \
     _(<_   / )_
  (__\_\_|_/__)

To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email

I found a workaround. changing following piece of code (simplified)

def validate_with_comparison(value, cmp, expected)
value.send(cmp, expected)
end

to where the method invocation is direct

def validate_with_comparison(value, cmp, expected)
if cmp == :=~
return value =~ expected
end
value.send(cmp, expected)
end

I was not able to isolate the “bug” into simple script, is it a bug ?

with regards
Kristian

On Wed, Nov 11, 2009 at 2:38 PM, kristian [email protected] wrote:

DummyDynamicScope should never be used for backref storage
    from JavaMethod.java:276:in call'     from RubyClass.java:491:in finvoke’
    from FCallThreeArgNode.java:40:in interpret'     from InterpretedBlock.java:268:in yield’
    from RubyEnumerable.java:624:in collect'     from CachingCallSite.java:187:in call’
    from NewlineNode.java:104:in interpret'     from InterpretedBlock.java:251:in yield’
    from NewlineNode.java:104:in interpret'     from SuperCallSite.java:50:in callBlock’
    from BeginNode.java:83:in interpret'     from DefaultMethod.java:135:in call’
    from CallSpecialArgNode.java:65:in interpret'     from NewlineNode.java:104:in interpret’
    from CachingCallSite.java:116:in callBlock'     from Block.java:199:in yield’
    from InterpretedBlock.java:317:in evalBlockBody'     from DefaultMethod.java:169:in call’
    from DefaultMethod.java:153:in call'     from NewlineNode.java:104:in interpret’
    from Block.java:99:in yieldSpecific'     from CachingCallSite.java:189:in call’
    from org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in call'     from CachingCallSite.java:69:in call’
    from CallOneArgNode.java:57:in interpret'     from CachingCallSite.java:123:in call’
    from NewlineNode.java:104:in interpret'     from CachingCallSite.java:290:in cacheAndCall’
    from IfNode.java:119:in interpret'     from Main.java:117:in run’

protect your privacy while searching the net: www.ixquick.com

      =
     q(--)p
      '
) (`
      /__/ Â
    (<  / )

   (__|_/)


Kristian Meier + Saumya Sharma + Sanuka Meier
Vadakkethu House,
Edayanmula West PO - 689532,
Pathanamthitta District, Kerala, INDIA

tel: +91 468 2319577

protect your privacy while searching the net: www.ixquick.com

         _=_
       q(-_-)p
        '_) (_`
        /__/  \
     _(<_   / )_
  (__\_\_|_/__)

To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email

DummyDynamicScope.java:49:in getBackRef': java.lang.RuntimeException: Â Â Â Â from org/jruby/RubyObject$i_method_multi$RUBYINVOKER$send.gen:-1:incall’
    from DefaultMethod.java:193:in call'     from CachingCallSite.java:229:incall’
    from InterpretedBlock.java:317:in evalBlockBody'     from RubyEnumerable.java:70:incallEach’
    from DefaultMethod.java:185:in call'     from IfNode.java:111:ininterpret’
    from InterpretedBlock.java:317:in evalBlockBody'     from FCallOneArgBlockNode.java:34:ininterpret’
    from SuperCallSite.java:267:in cacheAndCall'     from EnsureNode.java:96:ininterpret’
    from InterpretedMethod.java:112:in call'     from CachingCallSite.java:109:incall’
    from IfNode.java:119:in interpret'     from DefaultMethod.java:161:incall’
    from InterpretedBlock.java:305:in yield'     from NewlineNode.java:104:ininterpret’
    from InterpretedMethod.java:173:in call'     from InterpretedMethod.java:136:incall’
    from VCallNode.java:85:in interpret'     from InterpretedBlock.java:185:inyieldSpecific’
    from CachingCallSite.java:330:in cacheAndCall'     from RubyArray.java:1642:ineach’
    from CachingCallSite.java:280:in cacheAndCall'     from CallOneArgNode.java:57:ininterpret’
    from CachingCallSite.java:118:in callBlock'     from LocalAsgnNode.java:123:ininterpret’
    from DefaultMethod.java:153:in call'     from FCallOneArgNode.java:36:ininterpret’
    from Main.java:274:in run'     from Main.java:117:inrun’
    from Main.java:97:in `main’

Hi Kristian,

I’ve just hit the same issue in a fairly complex DataMapper
application. I’ve been trying to come up with a good reduction, but
I’m still working on it (its not easy to isolate this issue at all).
My stack trace almost identical (including numeric_validator.rb line,
which is part of dm-validations).

Running completely in interpreted mode (with flag -X-C) this issue.

Alex

(P.S. Gmail saw your message as spam!)


To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email