Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Intermittent NullPointerException under 188.8.131.52/184.108.40.206 #3999
I'm running my jruby app as a war under Tomcat 8.0.35.
LoadError: load error: ethon/curls/options -- java.lang.NullPointerException: null
Now I thought this could be an ethon problem, but i've been using it a while and never saw this error (yet) up until trying 220.127.116.11/18.104.22.168.
I do have a large log with ir.debug enabled as well. If requested, i prefer to provide that privately.
jruby 22.214.171.124 (2.3.0) 2016-05-26 7357c8f Java HotSpot(TM) 64-Bit Server VM 25.91-b14 on 1.8.0_91-b14 +jit [linux-x86_64]
CentOS release 6.7 (Final)
Also tested on jruby 126.96.36.199 and java 8u77
Linux app-01.local 2.6.32-573.18.1.el6.x86_64 #1 SMP Tue Feb 9 22:46:17 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
No NullPointerException and rack failure :)
Intermittent NullPointerException from ethon gem.
Ok, the link you provided for
I'd be more interested in getting the following: reproduce with
Without a NullPointException trace (which -d should give you) I can only guess at this right now.
Sorry about that, https://gist.github.com/abiacco/897fb4829b1eb601670c09d9366c51f5
So looking at that gist I can surmise when we prepare this code for compilation we do some data flow analysis (live variable). During that analysis we ask for the data for a particular BB and it returns null. This means something has a reference to and ID in our CFG which was never setup during our DFG construction (missed or dangling edge)
I think DataFlowGraph.buildFlowGraph will follow all nodes in the CFG. Unless we somehow have some errant incoming/outgoing edge referring to a node which no longer exists (which would be an invariant broken in CFG).
@abiacco we really really hope this is reproducible with -Xjit.threshold=0 (from Java end -Djruby.jit.threshold=0)
I didn't really understand any of that but ok :)
Last night i ran a 100 deployment test and did not hit the error at all using:
-Djruby.jit.threshold=0 -Djruby.backtrace.style=full -Djruby.debug.fullTrace=true
I started the test again this morning without those 3 params and hit the error on deployment # 7
Here's the gist with the extra trace flags