When trying to use rjb 1.3.8 in a Rails project I'm getting segmentation faults when trying to save an ActiveRecord
object after doing some work with Rjb.
In pseudocode I'm doing:
Rjb::load('file.jar')
klass = Rjb::import('a.class')
instance = klass.new
value = instance.method
User.create!(:value => value)
(I can't share the actual code since it is proprietary and not my property).
This leads to a crash that does not reference rjb itself:
Program received signal SIGSEGV, Segmentation fault.
rb_eval (self=140737135005000, n=0x7ffff45e0d98) at eval.c:2977
2977 eval.c: No such file or directory.
in eval.c
(gdb) bt
#0 rb_eval (self=140737135005000, n=0x7ffff45e0d98) at eval.c:2977
#1 0x00007ffff7b18e8d in rb_eval (self=140737135005000, n=0x7ffff45e0cd0) at eval.c:3510
#2 0x00007ffff7b1909a in rb_eval (self=140737135005000, n=0x7ffff45e0c08) at eval.c:3526
#3 0x00007ffff7b1c11d in rb_eval (self=140737135005000, n=0x7ffff45dfdd0) at eval.c:3332
#4 0x00007ffff7b13790 in rb_call0 (klass=140737293187240, recv=140737135005000,
id=35873, oid=<value optimized out>, argc=<value optimized out>,
argv=<value optimized out>, body=0x7ffff45dfd80, flags=2) at eval.c:6089
#5 0x00007ffff7b13a97 in rb_call (klass=140737293187240, recv=140737135005000,
mid=35873, argc=1, argv=0x7ffffff04c90, scope=1, self=<value optimized out>)
at eval.c:6186
#6 0x00007ffff7b19154 in rb_eval (self=140737135005000, n=0x7ffff45c75c8) at eval.c:3531
#7 0x00007ffff7b1209d in rb_yield_0 (val=140737045442640, self=140737135005000,
klass=<value optimized out>, flags=0, avalue=0) at eval.c:5105
#8 0x00007ffff7af6b48 in rb_ary_collect (ary=140737045444800) at array.c:1838
I'm not sure how to provide additional debugging info, but since it is easy for me to reproduce this I'm happy to try
out some things if you think it is useful. |