Menu

#891 NPE in HtmlSerializer's isVisible

closed
None
5
2012-10-21
2009-08-21
Jari Bakken
No

I'm sorry I haven't been able to isolate this - only happens periodically when running my tests.
Hopefully not too hard to fix.

  java.lang.NullPointerException: null (NativeException)
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:329:in `isVisible'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:319:in `appendText'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:116:in `appendNode'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
  com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:47:in `asText'
  com/gargoylesoftware/htmlunit/html/DomNode.java:671:in `asText'

Discussion

  • Daniel Gredler

    Daniel Gredler - 2009-08-24

    Who's calling DomNode.asText() at the bottom of the stack trace? Is it user code? I'm just trying to figure out if maybe it's being executed from the main thread while background JS is modifying the DOM.

     
  • Jari Bakken

    Jari Bakken - 2009-08-24

    Yes, that is a very likely explanation - the user code is polling the DOM for a JS update - so asText() is being called from the main thread.

    Here's the full backtrace JRuby backtrace:

    java.lang.NullPointerException: null (NativeException)
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:329:in `isVisible'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:319:in `appendText'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:116:in `appendNode'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:220:in `appendChildren'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:174:in `appendNode'
      com/gargoylesoftware/htmlunit/html/HtmlSerializer.java:47:in `asText'
      com/gargoylesoftware/htmlunit/html/DomNode.java:671:in `asText'
      sun.reflect.GeneratedMethodAccessor58:-1:in `invoke'
      sun/reflect/DelegatingMethodAccessorImpl.java:25:in `invoke'
      java/lang/reflect/Method.java:597:in `invoke'
      org/jruby/javasupport/JavaMethod.java:302:in `invokeWithExceptionHandling'
      org/jruby/javasupport/JavaMethod.java:263:in `invoke'
      org/jruby/java/invokers/InstanceMethodInvoker.java:38:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:75:in `call'
      celerity/browser.rb:185:in `method__14$RUBY$text'
      celerity/browser#text:-1:in `call'
      celerity/browser#text:-1:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:75:in `call'
      celerity/container.rb:51:in `method__2$RUBY$contains_text'
      celerity/container#contains_text:-1:in `call'
      celerity/container#contains_text:-1:in `call'
      org/jruby/runtime/callsite/SuperCallSite.java:48:in `callBlock'
      org/jruby/runtime/callsite/SuperCallSite.java:55:in `call'
      celerity/browser.rb:242:in `method__19$RUBY$contains_text'
      celerity/browser#contains_text:-1:in `call'
      celerity/browser#contains_text:-1:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:115:in `call'
      org/jruby/ast/CallOneArgNode.java:57:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/runtime/InterpretedBlock.java:222:in `evalBlockBody'
      org/jruby/runtime/InterpretedBlock.java:210:in `yield'
      org/jruby/runtime/Block.java:204:in `yield'
      celerity/browser.rb:411:in `block_6$RUBY$__block__'
      celerity.browserBlockCallback$block_6$RUBY$__block__xx1:-1:in `call'
      org/jruby/runtime/CompiledBlock.java:105:in `yield'
      org/jruby/runtime/Block.java:194:in `yield'
      org/jruby/ext/Timeout.java:86:in `timeout'
      org/jruby/ext/org/jruby/ext/Timeout$s_method_multi$RUBYINVOKER$timeout.gen:-1:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:288:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:126:in `callBlock'
      org/jruby/runtime/callsite/CachingCallSite.java:141:in `callIter'
      celerity/browser.rb:408:in `method__32$RUBY$wait_until'
      celerity/browser#wait_until:-1:in `call'
      org/jruby/internal/runtime/methods/DynamicMethod.java:168:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:288:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:126:in `callBlock'
      org/jruby/runtime/callsite/CachingCallSite.java:131:in `call'
      org/jruby/ast/CallOneArgBlockNode.java:60:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:136:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:139:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:258:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:77:in `call'
      org/jruby/ast/CallNoArgNode.java:61:in `interpret'
      org/jruby/ast/AttrAssignOneArgNode.java:33:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/runtime/InterpretedBlock.java:222:in `evalBlockBody'
      org/jruby/runtime/InterpretedBlock.java:210:in `yield'
      org/jruby/runtime/Block.java:199:in `yield'
      org/jruby/RubyObject.java:462:in `yieldUnder'
      org/jruby/RubyObject.java:1338:in `instance_exec'
      org/jruby/org/jruby/RubyObject$i_method_0_3$RUBYFRAMEDINVOKER$instance_exec.gen:-1:in `call'
      org/jruby/internal/runtime/methods/DynamicMethod.java:160:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:84:in `callBlock'
      org/jruby/runtime/callsite/CachingCallSite.java:91:in `call'
      org/jruby/ast/FCallSpecialArgBlockPassNode.java:36:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/IfNode.java:114:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/runtime/InterpretedBlock.java:222:in `evalBlockBody'
      org/jruby/runtime/InterpretedBlock.java:173:in `yield'
      org/jruby/runtime/Block.java:194:in `yield'
      org/jruby/ast/YieldNode.java:143:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/RescueNode.java:225:in `executeBody'
      org/jruby/ast/RescueNode.java:147:in `interpretWithJavaExceptions'
      org/jruby/ast/RescueNode.java:110:in `interpret'
      org/jruby/ast/BeginNode.java:83:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:192:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:163:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:124:in `callBlock'
      org/jruby/runtime/callsite/CachingCallSite.java:141:in `callIter'
      org/jruby/ast/FCallOneArgBlockNode.java:34:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:229:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:179:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:164:in `callBlock'
      org/jruby/runtime/callsite/CachingCallSite.java:171:in `call'
      org/jruby/ast/CallSpecialArgBlockPassNode.java:66:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/RescueNode.java:225:in `executeBody'
      org/jruby/ast/RescueNode.java:147:in `interpretWithJavaExceptions'
      org/jruby/ast/RescueNode.java:110:in `interpret'
      org/jruby/ast/BeginNode.java:83:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:173:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:155:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:115:in `call'
      org/jruby/ast/CallOneArgNode.java:57:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:173:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:155:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:115:in `call'
      org/jruby/ast/CallOneArgNode.java:57:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/ast/RescueNode.java:225:in `executeBody'
      org/jruby/ast/RescueNode.java:147:in `interpretWithJavaExceptions'
      org/jruby/ast/RescueNode.java:110:in `interpret'
      org/jruby/ast/BeginNode.java:83:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/ast/IfNode.java:114:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:210:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:171:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:155:in `call'
      org/jruby/ast/FCallTwoArgNode.java:38:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:173:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:155:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:115:in `call'
      org/jruby/ast/CallOneArgNode.java:57:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:112:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:121:in `call'
      org/jruby/runtime/callsite/SuperCallSite.java:48:in `callBlock'
      org/jruby/runtime/callsite/SuperCallSite.java:55:in `call'
      org/jruby/ast/ZSuperNode.java:100:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:173:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:155:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:115:in `call'
      org/jruby/ast/CallOneArgNode.java:57:in `interpret'
      org/jruby/ast/IfNode.java:112:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/runtime/InterpretedBlock.java:222:in `evalBlockBody'
      org/jruby/runtime/InterpretedBlock.java:173:in `yield'
      org/jruby/runtime/Block.java:194:in `yield'
      org/jruby/RubyArray.java:1562:in `each'
      org/jruby/org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:268:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:86:in `callBlock'
      org/jruby/runtime/callsite/CachingCallSite.java:91:in `call'
      org/jruby/ast/CallNoArgBlockNode.java:64:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:173:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:155:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:278:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:117:in `call'
      org/jruby/ast/CallOneArgNode.java:57:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:173:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:155:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:278:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:117:in `call'
      org/jruby/ast/CallOneArgNode.java:57:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/runtime/InterpretedBlock.java:222:in `evalBlockBody'
      org/jruby/runtime/InterpretedBlock.java:173:in `yield'
      org/jruby/runtime/Block.java:194:in `yield'
      org/jruby/ast/YieldNode.java:143:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:229:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:179:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:308:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:166:in `callBlock'
      org/jruby/runtime/callsite/CachingCallSite.java:181:in `callIter'
      org/jruby/ast/CallTwoArgBlockNode.java:62:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:173:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:155:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:278:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:117:in `call'
      org/jruby/ast/CallOneArgNode.java:57:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:112:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:121:in `call'
      org/jruby/runtime/callsite/SuperCallSite.java:267:in `cacheAndCall'
      org/jruby/runtime/callsite/SuperCallSite.java:50:in `callBlock'
      org/jruby/runtime/callsite/SuperCallSite.java:55:in `call'
      org/jruby/ast/ZSuperNode.java:100:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:173:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:155:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:278:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:117:in `call'
      org/jruby/ast/CallOneArgNode.java:57:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/runtime/InterpretedBlock.java:222:in `evalBlockBody'
      org/jruby/runtime/InterpretedBlock.java:173:in `yield'
      org/jruby/runtime/Block.java:194:in `yield'
      org/jruby/RubyArray.java:1562:in `each'
      org/jruby/org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:268:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:86:in `callBlock'
      org/jruby/runtime/callsite/CachingCallSite.java:91:in `call'
      org/jruby/ast/CallNoArgBlockNode.java:64:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:173:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:155:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:278:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:117:in `call'
      org/jruby/ast/CallOneArgNode.java:57:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:112:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:121:in `call'
      org/jruby/runtime/callsite/SuperCallSite.java:267:in `cacheAndCall'
      org/jruby/runtime/callsite/SuperCallSite.java:50:in `callBlock'
      org/jruby/runtime/callsite/SuperCallSite.java:55:in `call'
      org/jruby/ast/ZSuperNode.java:100:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:173:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:155:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:278:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:117:in `call'
      org/jruby/ast/CallOneArgNode.java:57:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/runtime/InterpretedBlock.java:222:in `evalBlockBody'
      org/jruby/runtime/InterpretedBlock.java:173:in `yield'
      org/jruby/runtime/Block.java:194:in `yield'
      org/jruby/RubyArray.java:1562:in `each'
      org/jruby/org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:268:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:86:in `callBlock'
      org/jruby/runtime/callsite/CachingCallSite.java:91:in `call'
      org/jruby/ast/CallNoArgBlockPassNode.java:53:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:155:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:147:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:268:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:86:in `callBlock'
      org/jruby/runtime/callsite/CachingCallSite.java:91:in `call'
      org/jruby/ast/CallNoArgBlockNode.java:64:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:173:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:155:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:278:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:117:in `call'
      org/jruby/ast/CallOneArgNode.java:57:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:112:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:121:in `call'
      org/jruby/runtime/callsite/SuperCallSite.java:267:in `cacheAndCall'
      org/jruby/runtime/callsite/SuperCallSite.java:50:in `callBlock'
      org/jruby/runtime/callsite/SuperCallSite.java:55:in `call'
      org/jruby/ast/ZSuperNode.java:100:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:192:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:163:in `call'
      org/jruby/RubyClass.java:434:in `finvoke'
      org/jruby/RubyObject.java:1429:in `send'
      org/jruby/org/jruby/RubyObject$i_method_multi$RUBYINVOKER$send.gen:-1:in `call'
      org/jruby/internal/runtime/methods/JavaMethod.java:276:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:155:in `call'
      org/jruby/ast/CallSpecialArgNode.java:69:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/runtime/InterpretedBlock.java:222:in `evalBlockBody'
      org/jruby/runtime/InterpretedBlock.java:173:in `yield'
      org/jruby/runtime/Block.java:194:in `yield'
      org/jruby/RubyArray.java:2138:in `collect'
      org/jruby/org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$collect.gen:-1:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:84:in `callBlock'
      org/jruby/runtime/callsite/CachingCallSite.java:91:in `call'
      org/jruby/ast/CallNoArgBlockNode.java:64:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:112:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:121:in `call'
      org/jruby/javasupport/util/RuntimeHelpers.java:359:in `call'
      org/jruby/internal/runtime/methods/DynamicMethod.java:168:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:344:in `callMethodMissing'
      org/jruby/runtime/callsite/CachingCallSite.java:275:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:117:in `call'
      org/jruby/ast/CallOneArgNode.java:57:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/ast/BlockNode.java:71:in `interpret'
      org/jruby/ast/RescueNode.java:225:in `executeBody'
      org/jruby/ast/RescueNode.java:147:in `interpretWithJavaExceptions'
      org/jruby/ast/RescueNode.java:110:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:173:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:155:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:278:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:117:in `call'
      org/jruby/ast/CallOneArgNode.java:57:in `interpret'
      org/jruby/ast/NewlineNode.java:104:in `interpret'
      org/jruby/internal/runtime/methods/InterpretedMethod.java:173:in `call'
      org/jruby/internal/runtime/methods/DefaultMethod.java:155:in `call'
      org/jruby/runtime/callsite/CachingCallSite.java:278:in `cacheAndCall'
      org/jruby/runtime/callsite/CachingCallSite.java:117:in `call'
      stories_minus_framework/trunk/script/slave_run:8:in `__file__'
      stories_minus_framework/trunk/script/slave_run:-1:in `load'
      org/jruby/Ruby.java:592:in `runScript'
      org/jruby/Ruby.java:514:in `runNormally'
      org/jruby/Ruby.java:360:in `runFromMain'
      org/jruby/Main.java:268:in `run'
      org/jruby/Main.java:113:in `run'
      org/jruby/Main.java:97:in `main'
      lib/celerity/container.rb:51:in `contains_text'
      lib/celerity/browser.rb:242:in `contains_text'
      /home/qaa/distributed-stories/stories-framework/trunk/lib/pages/finn/travel/progress_page.rb:27:in `cheapest_price'
      lib/celerity/browser.rb:411:in `wait_until'
      lib/celerity/browser.rb:408:in `wait_until'
      /home/qaa/distributed-stories/stories-framework/trunk/lib/pages/finn/travel/progress_page.rb:16:in `cheapest_price'
      stories-framework/trunk/script/../features/finn/step_definitions/search_result_steps.rb:24
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/core_ext/instance_exec.rb:22:in `instance_exec'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/core_ext/instance_exec.rb:22:in `cucumber_instance_exec'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/core_ext/instance_exec.rb:41:in `cucumber_run_with_backtrace_filtering'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/core_ext/instance_exec.rb:10:in `cucumber_instance_exec'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/rb_support/rb_step_definition.rb:41:in `invoke'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/step_match.rb:16:in `invoke'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/step_invocation.rb:38:in `invoke'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/step_invocation.rb:25:in `accept'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/visitor.rb:79:in `visit_step'
      /home/qaa/distributed-stories/stories-framework/trunk/lib/core/cucumber/formatter/ci.rb:141:in `visit_step'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/step_collection.rb:15:in `accept'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/step_collection.rb:14:in `each'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/step_collection.rb:14:in `accept'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/visitor.rb:75:in `visit_steps'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/scenario.rb:33:in `accept'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/step_mother.rb:188:in `before_and_after'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/scenario.rb:32:in `accept'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/visitor.rb:45:in `visit_feature_element'
      /home/qaa/distributed-stories/stories-framework/trunk/lib/core/cucumber/formatter/ci.rb:87:in `visit_feature_element'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/feature.rb:25:in `accept'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/feature.rb:24:in `each'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/feature.rb:24:in `accept'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/visitor.rb:23:in `visit_feature'
      /home/qaa/distributed-stories/stories-framework/trunk/lib/core/cucumber/formatter/ci.rb:41:in `visit_feature'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/features.rb:29:in `accept'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/features.rb:17:in `each'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/features.rb:17:in `each'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/features.rb:28:in `accept'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/ast/visitor.rb:19:in `visit_features'
      /home/qaa/distributed-stories/stories-framework/trunk/lib/core/cucumber/formatter/ci.rb:30:in `visit_features'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/broadcaster.rb:9:in `method_missing'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/broadcaster.rb:8:in `map'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/broadcaster.rb:8:in `method_missing'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/cli/main.rb:55:in `execute!'
      /home/qaa/distributed-stories/stories-framework/trunk/vendor/gems/gems/cucumber-0.3.96/lib/cucumber/cli/main.rb:22:in `execute'
      stories-framework/trunk/script/slave_run:8
    
     
  • Daniel Gredler

    Daniel Gredler - 2009-09-01

    I'm hesitant to guess at a fix here, but I'm having trouble writing a test case that exhibits this behavior. Can you come up with something (in Java)? If not, we'll wait until after the 2.6 release and then do a bit of guessing at a solution.

     
  • Jari Bakken

    Jari Bakken - 2009-09-02

    Having a hard time isolating the issue - the page in question does an AJAX poll, and fails pretty rarely.
    The best I can do is offer to run our test suite with a build of HtmlUnit that prints some debug info that would confirm your guesses. Let me know!

     
  • RBRi

    RBRi - 2011-01-15

    Hi Jari,

    is this still an issue for you. If yes, please test again with the latest version.

     
  • SourceForge Robot

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 30 days (the time period specified by
    the administrator of this Tracker).

     

Log in to post a comment.

MongoDB Logo MongoDB