-
-
Notifications
You must be signed in to change notification settings - Fork 925
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
jrubyc blows with NPE #2840
Comments
I have this fixed in some local work I have been doing. It should land today. |
💖 great!! 💖 |
Fixed in commit b856bd9. Should be fine now. |
On d2ea85f this still blows if
|
Ah ok. This is because we are no properly emitting TRACE instructions which --debug instruments into your source. |
…ncode/decode needed ability to deal with null.
@MSNexploder ok somewhat unexpected and partially forgotten use case. when you AOT or use IR persistence (which AOT is now implemented with) it will also save instrumented trace instrs. I obviously knew about it because I had a FIXME but I never thought about its usage with AOT itself. Not sure if we should allow this or we should just omit emitting these when we generate our save format. For now they are in there. If you load this class and have set_trance_func you will see debugging from the AOT'd class. |
Not really sure about emitting trace instrs... Maybe display some sort of warning / hint? |
Meanwhile, I found another one
|
Fixed in 79ed302. |
Found another one. This time it's
|
Is the error you get this:
Could you give me a complete command-line for this. I find this particular error strange as I would not expect jrubyc to end up with a bytecode error unless perhaps a code block ran into a bytecode limit? |
I should point out I am passing JRUBY_OPTS="-d -Xbacktrace.style=raw" to get real offending backtrace. |
Removing one of the longer methods / a few shorter ones "fixes" the compilation. Regardless of the actual methods removed. Complete stacktrace:
|
@MSNexploder I might leave this for @headius on Monday. This I think is even an open issue for this impl of AOT (I don't see if off-hand). compiler.rb makes a String and then saves it but it does not check the string's length. In the case you are compiling something which emits more than a 32k byte string which cannot fit into a Java string literal. The solution is not super tough. We just need to break this IR compiled output into n <32k byte strings and concat them as part of bootstrapping this AOT output. |
The text was updated successfully, but these errors were encountered: