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

GC crash #2908

Closed
YorickPeterse opened this Issue Jan 28, 2014 · 13 comments

Comments

Projects
None yet
3 participants
@YorickPeterse
Member

YorickPeterse commented Jan 28, 2014

When running a production app in a multi-threaded environment the following error once in a while pops up:

Rubinius Crash Report #rbxcrashreport

Error: signal SIGSEGV

[[Backtrace]]
ruby[0x59c600]
/lib64/libpthread.so.0(+0xfae0)[0x7f3734432ae0]
ruby(rb_gc_mark+0x1e)[0x6f3dee]
ruby(_ZN8rubinius4Data4Info4markEPNS_6ObjectERNS_10ObjectMarkE+0x6e)[0x69150e]
ruby(_ZN8rubinius16GarbageCollector11scan_objectEPNS_6ObjectE+0x80)[0x704990]
ruby(_ZN8rubinius7BakerGC7collectEPNS_6GCDataEPNS_17YoungCollectStatsE+0x2a8)[0x701858]
ruby(_ZN8rubinius12ObjectMemory13collect_youngEPNS_5StateEPNS_6GCDataEPNS_17YoungCollectStatsE+0x75)[0x646165]
ruby(_ZN8rubinius12ObjectMemory13collect_maybeEPNS_5StateERNS_11GCTokenImplEPNS_9CallFrameE+0x238)[0x6464e8]
ruby(_ZN8rubinius2VM13collect_maybeERNS_11GCTokenImplEPNS_9CallFrameE+0x3f)[0x67e3af]
ruby[0x68b661]
ruby(_ZN8rubinius5Class8allocateEPNS_5StateERNS_11GCTokenImplEPNS_9CallFrameE+0x489)[0x68cad9]
ruby(_ZN8rubinius10Primitives14class_allocateEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0xb2)[0x639c22]
ruby(_ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE+0x1e97)[0x5c1777]
ruby(_ZN8rubinius11MachineCode19execute_specializedINS_17SplatOnlyArgumentEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0x264)[0x5ff604]
ruby(_ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE+0x1f9a)[0x5c187a]
ruby(_ZN8rubinius11MachineCode19execute_specializedINS_11OneArgumentEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0x298)[0x5ff178]
ruby(_ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE+0x1e97)[0x5c1777]
ruby(_ZN8rubinius16BlockEnvironment19execute_interpreterEPNS_5StateEPNS_9CallFrameEPS0_RNS_9ArgumentsERNS_15BlockInvocationE+0x201)[0x685b41]
ruby(_ZN8rubinius16BlockEnvironment6invokeEPNS_5StateEPNS_9CallFrameEPS0_RNS_9ArgumentsERNS_15BlockInvocationE+0x7d)[0x68623d]
ruby(_ZN8rubinius16BlockEnvironment4callEPNS_5StateEPNS_9CallFrameERNS_9ArgumentsEi+0x3d)[0x68645d]
ruby(rbx_yield_stack+0xca)[0x76deaa]
[0x7f37339404f7]

[[System Info]]
sysname: Linux
nodename: ip-10-33-185-48
release: 3.4.73-64.112.amzn1.x86_64
version: #1 SMP Tue Dec 10 01:50:05 UTC 2013
machine: x86_64

Sadly I'm currently not aware what's causing it, though it might be that @dbussink's recent GC fixes solve the above issue (haven't been able to confirm that yet).

@YorickPeterse

This comment has been minimized.

Show comment
Hide comment
@YorickPeterse

YorickPeterse Feb 11, 2014

Member

Experienced another one on 2.2.5:

Rubinius Crash Report #rbxcrashreport

Error: signal SIGSEGV

[[Backtrace]]
review_collector[0x5a07cd]
/lib64/libc.so.6(+0x34c20)[0x7fe385ce4c20]
review_collector(_ZN8rubinius7BakerGC10saw_objectEPNS_6ObjectE+0x1b)[0x71194b]
review_collector(rb_gc_mark+0x32)[0x702be2]
review_collector(_ZN8rubinius4Data4Info4markEPNS_6ObjectERNS_10ObjectMarkE+0x51)[0x6aa1c1]
review_collector(_ZN8rubinius16GarbageCollector11scan_objectEPNS_6ObjectE+0xc2)[0x7158c2]
review_collector(_ZN8rubinius7BakerGC7collectEPNS_6GCDataEPNS_17YoungCollectStatsE+0x2c7)[0x711e97]
review_collector(_ZN8rubinius12ObjectMemory13collect_youngEPNS_5StateEPNS_6GCDataEPNS_17YoungCollectStatsE+0x71)[0x64b761]
review_collector(_ZN8rubinius12ObjectMemory13collect_maybeEPNS_5StateERNS_11GCTokenImplEPNS_9CallFrameE+0x12d)[0x64b4dd]
review_collector(_ZN8rubinius2VM13collect_maybeERNS_11GCTokenImplEPNS_9CallFrameE+0x45)[0x699da5]
review_collector[0x6a5e23]
review_collector(_ZN8rubinius5Class8allocateEPNS_5StateERNS_11GCTokenImplEPNS_9CallFrameE+0x40)[0x6a58b0]
review_collector(rbx_create_instance+0x2a)[0x77022a]
[0x7fe35116fd2f]

[[System Info]]
sysname: Linux
nodename: ip-10-55-94-115
release: 3.4.73-64.112.amzn1.x86_64
version: #1 SMP Tue Dec 10 01:50:05 UTC 2013
machine: x86_64

Currently looking into to see if this is caused by Nokogiri or something else.

Member

YorickPeterse commented Feb 11, 2014

Experienced another one on 2.2.5:

Rubinius Crash Report #rbxcrashreport

Error: signal SIGSEGV

[[Backtrace]]
review_collector[0x5a07cd]
/lib64/libc.so.6(+0x34c20)[0x7fe385ce4c20]
review_collector(_ZN8rubinius7BakerGC10saw_objectEPNS_6ObjectE+0x1b)[0x71194b]
review_collector(rb_gc_mark+0x32)[0x702be2]
review_collector(_ZN8rubinius4Data4Info4markEPNS_6ObjectERNS_10ObjectMarkE+0x51)[0x6aa1c1]
review_collector(_ZN8rubinius16GarbageCollector11scan_objectEPNS_6ObjectE+0xc2)[0x7158c2]
review_collector(_ZN8rubinius7BakerGC7collectEPNS_6GCDataEPNS_17YoungCollectStatsE+0x2c7)[0x711e97]
review_collector(_ZN8rubinius12ObjectMemory13collect_youngEPNS_5StateEPNS_6GCDataEPNS_17YoungCollectStatsE+0x71)[0x64b761]
review_collector(_ZN8rubinius12ObjectMemory13collect_maybeEPNS_5StateERNS_11GCTokenImplEPNS_9CallFrameE+0x12d)[0x64b4dd]
review_collector(_ZN8rubinius2VM13collect_maybeERNS_11GCTokenImplEPNS_9CallFrameE+0x45)[0x699da5]
review_collector[0x6a5e23]
review_collector(_ZN8rubinius5Class8allocateEPNS_5StateERNS_11GCTokenImplEPNS_9CallFrameE+0x40)[0x6a58b0]
review_collector(rbx_create_instance+0x2a)[0x77022a]
[0x7fe35116fd2f]

[[System Info]]
sysname: Linux
nodename: ip-10-55-94-115
release: 3.4.73-64.112.amzn1.x86_64
version: #1 SMP Tue Dec 10 01:50:05 UTC 2013
machine: x86_64

Currently looking into to see if this is caused by Nokogiri or something else.

@YorickPeterse

This comment has been minimized.

Show comment
Hide comment
@YorickPeterse

YorickPeterse Feb 11, 2014

Member

Another one that occurred before the one reported above:

Rubinius Crash Report #rbxcrashreport

Error: signal SIGSEGV

[[Backtrace]]
review_collector[0x5a07cd]
/lib64/libc.so.6(+0x34c20)[0x7f19e16cec20]
review_collector(rb_gc_mark+0x17)[0x702bc7]
review_collector(_ZN8rubinius4Data4Info4markEPNS_6ObjectERNS_10ObjectMarkE+0x51)[0x6aa1c1]
review_collector(_ZN8rubinius16GarbageCollector11scan_objectEPNS_6ObjectE+0xc2)[0x7158c2]
review_collector(_ZN8rubinius7BakerGC7collectEPNS_6GCDataEPNS_17YoungCollectStatsE+0x2c7)[0x711e97]
review_collector(_ZN8rubinius12ObjectMemory13collect_youngEPNS_5StateEPNS_6GCDataEPNS_17YoungCollectStatsE+0x71)[0x64b761]
review_collector(_ZN8rubinius12ObjectMemory13collect_maybeEPNS_5StateERNS_11GCTokenImplEPNS_9CallFrameE+0x12d)[0x64b4dd]
review_collector(_ZN8rubinius2VM13collect_maybeERNS_11GCTokenImplEPNS_9CallFrameE+0x45)[0x699da5]
review_collector(rbx_prologue_check+0x71)[0x76ee91]
[0x7f19e2eb1b47]
Member

YorickPeterse commented Feb 11, 2014

Another one that occurred before the one reported above:

Rubinius Crash Report #rbxcrashreport

Error: signal SIGSEGV

[[Backtrace]]
review_collector[0x5a07cd]
/lib64/libc.so.6(+0x34c20)[0x7f19e16cec20]
review_collector(rb_gc_mark+0x17)[0x702bc7]
review_collector(_ZN8rubinius4Data4Info4markEPNS_6ObjectERNS_10ObjectMarkE+0x51)[0x6aa1c1]
review_collector(_ZN8rubinius16GarbageCollector11scan_objectEPNS_6ObjectE+0xc2)[0x7158c2]
review_collector(_ZN8rubinius7BakerGC7collectEPNS_6GCDataEPNS_17YoungCollectStatsE+0x2c7)[0x711e97]
review_collector(_ZN8rubinius12ObjectMemory13collect_youngEPNS_5StateEPNS_6GCDataEPNS_17YoungCollectStatsE+0x71)[0x64b761]
review_collector(_ZN8rubinius12ObjectMemory13collect_maybeEPNS_5StateERNS_11GCTokenImplEPNS_9CallFrameE+0x12d)[0x64b4dd]
review_collector(_ZN8rubinius2VM13collect_maybeERNS_11GCTokenImplEPNS_9CallFrameE+0x45)[0x699da5]
review_collector(rbx_prologue_check+0x71)[0x76ee91]
[0x7f19e2eb1b47]
@YorickPeterse

This comment has been minimized.

Show comment
Hide comment
@YorickPeterse

YorickPeterse Feb 11, 2014

Member

I suppose the one good part here is that the issue re-occurs consistently. Now I need to figure out a way to reproduce it in a standalone environment.

Member

YorickPeterse commented Feb 11, 2014

I suppose the one good part here is that the issue re-occurs consistently. Now I need to figure out a way to reproduce it in a standalone environment.

@dbussink

This comment has been minimized.

Show comment
Hide comment
@dbussink

dbussink Feb 11, 2014

Member

What is review_collector here? Maybe a problematic C extension?

Member

dbussink commented Feb 11, 2014

What is review_collector here? Maybe a problematic C extension?

@tak1n

This comment has been minimized.

Show comment
Hide comment
@tak1n

tak1n Feb 11, 2014

Member

Don't know if i should open a new issue for this but it looks like a similar error trace for me...

[9] pry(main)> [BUG: Invalid byte array size]
ruby(_ZN8rubinius3bugEPKc+0x43) [0x59fd13]
ruby(_ZN8rubinius9ByteArray13create_pinnedEPNS_5StateEl+0xa6) [0x680126]
ruby(_ZN8rubinius6String13create_pinnedEPNS_5StateEPNS_6FixnumE+0x6a) [0x6c7e5a]
ruby(_ZN8rubinius2IO11socket_readEPNS_5StateEPNS_6FixnumES4_S4_PNS_9CallFrameE+0x5b) [0x6a2feb]
ruby(_ZN8rubinius10Primitives14io_socket_readEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0xe5) [0x6263a5]
ruby(_ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE+0x1429) [0x5bb739]
ruby(_ZN8rubinius11MachineCode19execute_specializedINS_16GenericArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0x21c) [0x5f826c]
ruby(_ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE+0x1429) [0x5bb739]
ruby(_ZN8rubinius11MachineCode19execute_specializedINS_11OneArgumentEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0x2ac) [0x5f994c]
ruby(_ZN8rubinius12CompiledCode16default_executorEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0xbf) [0x686c2f]
ruby(_ZN8rubinius8CallSite19empty_cache_privateEPNS_5StateEPS0_PNS_9CallFrameERNS_9ArgumentsE+0x138) [0x682108]
ruby(_ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE+0x1429) [0x5bb739]
ruby(_ZN8rubinius16BlockEnvironment19execute_interpreterEPNS_5StateEPNS_9CallFrameEPS0_RNS_9ArgumentsERNS_15BlockInvocationE+0x214) [0x67e964]
ruby(_ZN8rubinius16BlockEnvironment6invokeEPNS_5StateEPNS_9CallFrameEPS0_RNS_9ArgumentsERNS_15BlockInvocationE+0x7d) [0x67f07d]
ruby(_ZN8rubinius16BlockEnvironment4callEPNS_5StateEPNS_9CallFrameERNS_9ArgumentsEi+0x3d) [0x67f29d]
ruby(_ZN8rubinius4Proc4callEPNS_5StateEPNS_9CallFrameERNS_9ArgumentsE+0x2ac) [0x6c222c]
ruby(_ZN8rubinius10Primitives9proc_callEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0x89) [0x61ce29]
ruby(_ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE+0x2c76) [0x5bcf86]
ruby(_ZN8rubinius11MachineCode19execute_specializedINS_17SplatOnlyArgumentEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0x278) [0x5f9e08]
ruby(_ZN8rubinius8CallSite11empty_cacheEPNS_5StateEPS0_PNS_9CallFrameERNS_9ArgumentsE+0x138) [0x6822e8]
ruby(_ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE+0x2c76) [0x5bcf86]
ruby(_ZN8rubinius11MachineCode19execute_specializedINS_11NoArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0x1e4) [0x5fa1c4]
ruby(_ZN8rubinius8Dispatch4sendEPNS_5StateEPNS_9CallFrameERNS_10LookupDataERNS_9ArgumentsENS_19MethodMissingReasonE+0x6c) [0x59628c]
ruby(_ZN8rubinius6Object4sendEPNS_5StateEPNS_9CallFrameEPNS_6SymbolEb+0xa6) [0x6b68b6]
ruby(_ZN8rubinius6Thread13in_new_threadEPv+0x456) [0x6d4e86]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x7e9a) [0x7fe812881e9a]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7fe811d9c3fd]

***Repl Closed***

Error occurs when Im using the sublime2 extension SublimeREPL
Starting sublime from terminal so current terminal ruby is used (rbx 2.2.4 for this case)

Member

tak1n commented Feb 11, 2014

Don't know if i should open a new issue for this but it looks like a similar error trace for me...

[9] pry(main)> [BUG: Invalid byte array size]
ruby(_ZN8rubinius3bugEPKc+0x43) [0x59fd13]
ruby(_ZN8rubinius9ByteArray13create_pinnedEPNS_5StateEl+0xa6) [0x680126]
ruby(_ZN8rubinius6String13create_pinnedEPNS_5StateEPNS_6FixnumE+0x6a) [0x6c7e5a]
ruby(_ZN8rubinius2IO11socket_readEPNS_5StateEPNS_6FixnumES4_S4_PNS_9CallFrameE+0x5b) [0x6a2feb]
ruby(_ZN8rubinius10Primitives14io_socket_readEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0xe5) [0x6263a5]
ruby(_ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE+0x1429) [0x5bb739]
ruby(_ZN8rubinius11MachineCode19execute_specializedINS_16GenericArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0x21c) [0x5f826c]
ruby(_ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE+0x1429) [0x5bb739]
ruby(_ZN8rubinius11MachineCode19execute_specializedINS_11OneArgumentEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0x2ac) [0x5f994c]
ruby(_ZN8rubinius12CompiledCode16default_executorEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0xbf) [0x686c2f]
ruby(_ZN8rubinius8CallSite19empty_cache_privateEPNS_5StateEPS0_PNS_9CallFrameERNS_9ArgumentsE+0x138) [0x682108]
ruby(_ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE+0x1429) [0x5bb739]
ruby(_ZN8rubinius16BlockEnvironment19execute_interpreterEPNS_5StateEPNS_9CallFrameEPS0_RNS_9ArgumentsERNS_15BlockInvocationE+0x214) [0x67e964]
ruby(_ZN8rubinius16BlockEnvironment6invokeEPNS_5StateEPNS_9CallFrameEPS0_RNS_9ArgumentsERNS_15BlockInvocationE+0x7d) [0x67f07d]
ruby(_ZN8rubinius16BlockEnvironment4callEPNS_5StateEPNS_9CallFrameERNS_9ArgumentsEi+0x3d) [0x67f29d]
ruby(_ZN8rubinius4Proc4callEPNS_5StateEPNS_9CallFrameERNS_9ArgumentsE+0x2ac) [0x6c222c]
ruby(_ZN8rubinius10Primitives9proc_callEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0x89) [0x61ce29]
ruby(_ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE+0x2c76) [0x5bcf86]
ruby(_ZN8rubinius11MachineCode19execute_specializedINS_17SplatOnlyArgumentEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0x278) [0x5f9e08]
ruby(_ZN8rubinius8CallSite11empty_cacheEPNS_5StateEPS0_PNS_9CallFrameERNS_9ArgumentsE+0x138) [0x6822e8]
ruby(_ZN8rubinius11MachineCode11interpreterEPNS_5StateEPS0_PNS_20InterpreterCallFrameE+0x2c76) [0x5bcf86]
ruby(_ZN8rubinius11MachineCode19execute_specializedINS_11NoArgumentsEEEPNS_6ObjectEPNS_5StateEPNS_9CallFrameEPNS_10ExecutableEPNS_6ModuleERNS_9ArgumentsE+0x1e4) [0x5fa1c4]
ruby(_ZN8rubinius8Dispatch4sendEPNS_5StateEPNS_9CallFrameERNS_10LookupDataERNS_9ArgumentsENS_19MethodMissingReasonE+0x6c) [0x59628c]
ruby(_ZN8rubinius6Object4sendEPNS_5StateEPNS_9CallFrameEPNS_6SymbolEb+0xa6) [0x6b68b6]
ruby(_ZN8rubinius6Thread13in_new_threadEPv+0x456) [0x6d4e86]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x7e9a) [0x7fe812881e9a]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7fe811d9c3fd]

***Repl Closed***

Error occurs when Im using the sublime2 extension SublimeREPL
Starting sublime from terminal so current terminal ruby is used (rbx 2.2.4 for this case)

@dbussink

This comment has been minimized.

Show comment
Hide comment
@dbussink

dbussink Feb 11, 2014

Member

@Benny1992 That's a very different issue, so probably best as a separate one. Do you have a way to reproduce that?

Member

dbussink commented Feb 11, 2014

@Benny1992 That's a very different issue, so probably best as a separate one. Do you have a way to reproduce that?

@tak1n

This comment has been minimized.

Show comment
Hide comment
@tak1n

tak1n Feb 11, 2014

Member

okay opening a new one
only appearing with SublimeREPL
pry in terminal works fine, after some input with sublimeREPL it's appearing again
so reproducable with sublime2

Member

tak1n commented Feb 11, 2014

okay opening a new one
only appearing with SublimeREPL
pry in terminal works fine, after some input with sublimeREPL it's appearing again
so reproducable with sublime2

@YorickPeterse

This comment has been minimized.

Show comment
Hide comment
@YorickPeterse

YorickPeterse Feb 12, 2014

Member

@dbussink No, it's one of our applications that is misbehaving. The proctitle is simply set to review_collector.

Member

YorickPeterse commented Feb 12, 2014

@dbussink No, it's one of our applications that is misbehaving. The proctitle is simply set to review_collector.

@YorickPeterse

This comment has been minimized.

Show comment
Hide comment
@YorickPeterse

YorickPeterse Feb 12, 2014

Member

Output of the backtraces as shown in GDB (http://hastebin.com/raw/suyudovuga link that's a bit easier to read):

'The field value consists of a single absolute URI' in HTTP spec                                                                                                           [82/1804]
daemon.rb:139: Finished message 07636422-ef25-4524-8d27-af5edc882e0c in 3.030494 seconds at 2014-02-12T12:16:37+01:00

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd93c9700 (LWP 15608)]
0x00007ffff5e2a017 in mark (node=0x7fffcc373dd0) at xml_node.c:17
17        rb_gc_mark(DOC_RUBY_OBJECT(node->doc));
(gdb) bt
#0  0x00007ffff5e2a017 in mark (node=0x7fffcc373dd0) at xml_node.c:17
#1  0x00000000006aef01 in rubinius::Data::Info::mark (this=<optimized out>, t=0x7fffda2c0cf8, mark=...) at vm/builtin/data.cpp:155
#2  0x000000000071ab62 in rubinius::GarbageCollector::scan_object (this=0x154f880, obj=0x7fffda2c0cf8) at vm/gc/gc.cpp:108
#3  0x0000000000716fa7 in rubinius::BakerGC::collect (this=0x154f880, data=0x7fffd93b1748, stats=0x7fffd93b1728) at vm/gc/baker.cpp:215
#4  0x00000000006539e1 in rubinius::ObjectMemory::collect_young (this=0x154f3b0, state=0x7fffd93b17f8, data=0x7fffd93b1748, stats=0x7fffd93b1728) at vm/object_memory.cpp:574
#5  0x000000000065375d in rubinius::ObjectMemory::collect_maybe (this=0x154f3b0, state=0x7fffd93b17f8, gct=..., call_frame=<optimized out>) at vm/object_memory.cpp:531
#6  0x000000000069e995 in rubinius::VM::collect_maybe (this=0x7fffcc373dd0, gct=..., call_frame=0x0) at vm/vm.cpp:310
#7  0x00000000006aab13 in collect_and_allocate (state=<optimized out>, gct=..., self=<optimized out>, self=<optimized out>, self=<optimized out>, self=<optimized out>, 
    self=<optimized out>, calling_environment=<optimized out>, state=<optimized out>, gct=..., self=<optimized out>, calling_environment=<optimized out>)
    at vm/builtin/class.cpp:66
#8  rubinius::(anonymous namespace)::allocate_packed (state=0x7fffd93c8ec0, gct=..., self=0x7fffd93b1858, calling_environment=0x7fffd93b2150) at vm/builtin/class.cpp:114
#9  0x00000000006aa570 in rubinius::Class::allocate (this=0x2465290, state=0x7fffd93c8ec0, gct=..., calling_environment=0x7fffd93b2150) at vm/builtin/class.cpp:133
#10 0x0000000000614759 in rubinius::Primitives::class_allocate (state=0x7fffd93c8ec0, call_frame=0x7fffd93b2150, exec=0x7ffff54ae6c8, mod=0x1580e20, args=...)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/gen/method_primitives.cpp:3800
#11 0x00000000005b6eff in execute (this=<optimized out>, state=<optimized out>, args=..., this=<optimized out>, state=<optimized out>, call_frame=<optimized out>, args=...)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/builtin/call_site.hpp:108
#12 rubinius::MachineCode::interpreter (state=0x7fffd93c8ec0, mcode=0x7fffd0118e60, call_frame=0x7fffd93b2150)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/gen/instruction_implementations.hpp:543
#13 0x00000000006093f3 in rubinius::MachineCode::execute_specialized<rubinius::OneArgument> (state=0x7fffd93c8ec0, previous=<optimized out>, exec=0x7fffeeab2820, mod=0x2460d00, 
    args=...) at vm/machine_code.cpp:671
#14 0x00000000005b6eff in execute (this=<optimized out>, state=<optimized out>, args=..., this=<optimized out>, state=<optimized out>, call_frame=<optimized out>, args=...)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/builtin/call_site.hpp:108
#15 rubinius::MachineCode::interpreter (state=0x7fffd93c8ec0, mcode=0x7fffd0112d90, call_frame=0x7fffd93b2960)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/gen/instruction_implementations.hpp:543
#16 0x00000000006a61ff in rubinius::BlockEnvironment::execute_interpreter (state=0x7fffd93c8ec0, previous=<optimized out>, env=0x7fffdaa5a728, args=..., invocation=...)
    at vm/builtin/block_environment.cpp:356
#17 0x00000000006a5e00 in rubinius::BlockEnvironment::invoke (state=0x7fffd93c8ec0, previous=0x1, env=0x7fffdaa5a728, args=..., invocation=...)
    at vm/builtin/block_environment.cpp:91
#18 0x00000000006a644d in rubinius::BlockEnvironment::call (this=0x0, state=0x7fffcc373dd0, call_frame=0x1, args=..., flags=<error reading variable: Value out of range.>)
    at vm/builtin/block_environment.cpp:375
#19 0x00000000006e77c5 in rubinius::Proc::call (this=<optimized out>, state=0x7fffd93c8ec0, call_frame=0x7fffd93b2dd8, args=...) at vm/builtin/proc.cpp:119
#20 0x000000000062e5ff in rubinius::Primitives::proc_call (state=0x7fffd93c8ec0, call_frame=0x7fffd93b2dd8, exec=0x7ffff54ba258, mod=0x158ae60, args=...)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/gen/method_primitives.cpp:14988
#21 0x0000000000772122 in execute (this=<optimized out>, state=<optimized out>, call_frame=<optimized out>, args=..., this=<optimized out>, state=<optimized out>, 
    call_frame=<optimized out>, args=...) at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/builtin/call_site.hpp:108
#22 rbx_splat_send_private (state=0x7fffd93c8ec0, call_frame=0x7fffd93b2dd8, call_site=0x7fffdbabe8f0, count=<optimized out>, call_flags=<optimized out>, args=<optimized out>)
    at vm/llvm/jit_util.cpp:147
---Type <return> to continue, or q <return> to quit---
#23 0x00007ffff62c608c in ?? ()
#24 0x00007fffd93c8ec0 in ?? ()
#25 0x0000000000000000 in ?? ()
Member

YorickPeterse commented Feb 12, 2014

Output of the backtraces as shown in GDB (http://hastebin.com/raw/suyudovuga link that's a bit easier to read):

'The field value consists of a single absolute URI' in HTTP spec                                                                                                           [82/1804]
daemon.rb:139: Finished message 07636422-ef25-4524-8d27-af5edc882e0c in 3.030494 seconds at 2014-02-12T12:16:37+01:00

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd93c9700 (LWP 15608)]
0x00007ffff5e2a017 in mark (node=0x7fffcc373dd0) at xml_node.c:17
17        rb_gc_mark(DOC_RUBY_OBJECT(node->doc));
(gdb) bt
#0  0x00007ffff5e2a017 in mark (node=0x7fffcc373dd0) at xml_node.c:17
#1  0x00000000006aef01 in rubinius::Data::Info::mark (this=<optimized out>, t=0x7fffda2c0cf8, mark=...) at vm/builtin/data.cpp:155
#2  0x000000000071ab62 in rubinius::GarbageCollector::scan_object (this=0x154f880, obj=0x7fffda2c0cf8) at vm/gc/gc.cpp:108
#3  0x0000000000716fa7 in rubinius::BakerGC::collect (this=0x154f880, data=0x7fffd93b1748, stats=0x7fffd93b1728) at vm/gc/baker.cpp:215
#4  0x00000000006539e1 in rubinius::ObjectMemory::collect_young (this=0x154f3b0, state=0x7fffd93b17f8, data=0x7fffd93b1748, stats=0x7fffd93b1728) at vm/object_memory.cpp:574
#5  0x000000000065375d in rubinius::ObjectMemory::collect_maybe (this=0x154f3b0, state=0x7fffd93b17f8, gct=..., call_frame=<optimized out>) at vm/object_memory.cpp:531
#6  0x000000000069e995 in rubinius::VM::collect_maybe (this=0x7fffcc373dd0, gct=..., call_frame=0x0) at vm/vm.cpp:310
#7  0x00000000006aab13 in collect_and_allocate (state=<optimized out>, gct=..., self=<optimized out>, self=<optimized out>, self=<optimized out>, self=<optimized out>, 
    self=<optimized out>, calling_environment=<optimized out>, state=<optimized out>, gct=..., self=<optimized out>, calling_environment=<optimized out>)
    at vm/builtin/class.cpp:66
#8  rubinius::(anonymous namespace)::allocate_packed (state=0x7fffd93c8ec0, gct=..., self=0x7fffd93b1858, calling_environment=0x7fffd93b2150) at vm/builtin/class.cpp:114
#9  0x00000000006aa570 in rubinius::Class::allocate (this=0x2465290, state=0x7fffd93c8ec0, gct=..., calling_environment=0x7fffd93b2150) at vm/builtin/class.cpp:133
#10 0x0000000000614759 in rubinius::Primitives::class_allocate (state=0x7fffd93c8ec0, call_frame=0x7fffd93b2150, exec=0x7ffff54ae6c8, mod=0x1580e20, args=...)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/gen/method_primitives.cpp:3800
#11 0x00000000005b6eff in execute (this=<optimized out>, state=<optimized out>, args=..., this=<optimized out>, state=<optimized out>, call_frame=<optimized out>, args=...)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/builtin/call_site.hpp:108
#12 rubinius::MachineCode::interpreter (state=0x7fffd93c8ec0, mcode=0x7fffd0118e60, call_frame=0x7fffd93b2150)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/gen/instruction_implementations.hpp:543
#13 0x00000000006093f3 in rubinius::MachineCode::execute_specialized<rubinius::OneArgument> (state=0x7fffd93c8ec0, previous=<optimized out>, exec=0x7fffeeab2820, mod=0x2460d00, 
    args=...) at vm/machine_code.cpp:671
#14 0x00000000005b6eff in execute (this=<optimized out>, state=<optimized out>, args=..., this=<optimized out>, state=<optimized out>, call_frame=<optimized out>, args=...)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/builtin/call_site.hpp:108
#15 rubinius::MachineCode::interpreter (state=0x7fffd93c8ec0, mcode=0x7fffd0112d90, call_frame=0x7fffd93b2960)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/gen/instruction_implementations.hpp:543
#16 0x00000000006a61ff in rubinius::BlockEnvironment::execute_interpreter (state=0x7fffd93c8ec0, previous=<optimized out>, env=0x7fffdaa5a728, args=..., invocation=...)
    at vm/builtin/block_environment.cpp:356
#17 0x00000000006a5e00 in rubinius::BlockEnvironment::invoke (state=0x7fffd93c8ec0, previous=0x1, env=0x7fffdaa5a728, args=..., invocation=...)
    at vm/builtin/block_environment.cpp:91
#18 0x00000000006a644d in rubinius::BlockEnvironment::call (this=0x0, state=0x7fffcc373dd0, call_frame=0x1, args=..., flags=<error reading variable: Value out of range.>)
    at vm/builtin/block_environment.cpp:375
#19 0x00000000006e77c5 in rubinius::Proc::call (this=<optimized out>, state=0x7fffd93c8ec0, call_frame=0x7fffd93b2dd8, args=...) at vm/builtin/proc.cpp:119
#20 0x000000000062e5ff in rubinius::Primitives::proc_call (state=0x7fffd93c8ec0, call_frame=0x7fffd93b2dd8, exec=0x7ffff54ba258, mod=0x158ae60, args=...)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/gen/method_primitives.cpp:14988
#21 0x0000000000772122 in execute (this=<optimized out>, state=<optimized out>, call_frame=<optimized out>, args=..., this=<optimized out>, state=<optimized out>, 
    call_frame=<optimized out>, args=...) at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/builtin/call_site.hpp:108
#22 rbx_splat_send_private (state=0x7fffd93c8ec0, call_frame=0x7fffd93b2dd8, call_site=0x7fffdbabe8f0, count=<optimized out>, call_flags=<optimized out>, args=<optimized out>)
    at vm/llvm/jit_util.cpp:147
---Type <return> to continue, or q <return> to quit---
#23 0x00007ffff62c608c in ?? ()
#24 0x00007fffd93c8ec0 in ?? ()
#25 0x0000000000000000 in ?? ()
@YorickPeterse

This comment has been minimized.

Show comment
Hide comment
@YorickPeterse

YorickPeterse Feb 12, 2014

Member

After compiling Nokogiri from source (to ensure that the changes made to it by @dbussink are present) I'm presented with the following segfault instead:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd95af700 (LWP 18447)]
rubinius::BakerGC::saw_object (this=0x154f880, obj=0x746f6f7220) at vm/gc/baker.cpp:86
86          if(!obj->young_object_p()) return NULL;
(gdb) bt
#0  rubinius::BakerGC::saw_object (this=0x154f880, obj=0x746f6f7220) at vm/gc/baker.cpp:86
#1  0x0000000000707cd2 in rb_gc_mark (ptr=140736751232752) at vm/capi/gc.cpp:44
#2  0x00000000006aef01 in rubinius::Data::Info::mark (this=<optimized out>, t=0x7fffdae5ff00, mark=...) at vm/builtin/data.cpp:155
#3  0x000000000071ab62 in rubinius::GarbageCollector::scan_object (this=0x154f880, obj=0x7fffdae5ff00) at vm/gc/gc.cpp:108
#4  0x0000000000716fa7 in rubinius::BakerGC::collect (this=0x154f880, data=0x7fffd9593a28, stats=0x7fffd9593a08) at vm/gc/baker.cpp:215
#5  0x00000000006539e1 in rubinius::ObjectMemory::collect_young (this=0x154f3b0, state=0x7fffd9593ad8, data=0x7fffd9593a28, stats=0x7fffd9593a08) at vm/object_memory.cpp:574
#6  0x000000000065375d in rubinius::ObjectMemory::collect_maybe (this=0x154f3b0, state=0x7fffd9593ad8, gct=..., call_frame=<optimized out>) at vm/object_memory.cpp:531
#7  0x000000000069e995 in rubinius::VM::collect_maybe (this=0x154f880, gct=..., call_frame=0x716a40 <rubinius::BakerGC::saw_object(rubinius::Object*)>) at vm/vm.cpp:310
#8  0x00000000006aab13 in collect_and_allocate (state=<optimized out>, gct=..., self=<optimized out>, self=<optimized out>, self=<optimized out>, self=<optimized out>, 
    self=<optimized out>, calling_environment=<optimized out>, state=<optimized out>, gct=..., self=<optimized out>, calling_environment=<optimized out>)
    at vm/builtin/class.cpp:66
#9  rubinius::(anonymous namespace)::allocate_packed (state=0x7fffc80008c0, gct=..., self=0x7fffd9593b38, calling_environment=0x7fffd9594430) at vm/builtin/class.cpp:114
#10 0x00000000006aa570 in rubinius::Class::allocate (this=0x2430900, state=0x7fffc80008c0, gct=..., calling_environment=0x7fffd9594430) at vm/builtin/class.cpp:133
#11 0x0000000000614759 in rubinius::Primitives::class_allocate (state=0x7fffc80008c0, call_frame=0x7fffd9594430, exec=0x7ffff54ae6c8, mod=0x1580e20, args=...)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/gen/method_primitives.cpp:3800
#12 0x00000000005b6eff in execute (this=<optimized out>, state=<optimized out>, args=..., this=<optimized out>, state=<optimized out>, call_frame=<optimized out>, args=...)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/builtin/call_site.hpp:108
#13 rubinius::MachineCode::interpreter (state=0x7fffc80008c0, mcode=0x7fffcc2d4510, call_frame=0x7fffd9594430)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/gen/instruction_implementations.hpp:543
#14 0x0000000000609e68 in rubinius::MachineCode::execute_specialized<rubinius::ThreeArguments> (state=0x7fffc80008c0, previous=<optimized out>, exec=0x7ffff4a382d8, 
    mod=0x24e0d80, args=...) at vm/machine_code.cpp:671
#15 0x00000000005a7629 in rubinius::Dispatch::send (this=0x7fffd95947e0, state=0x7fffc80008c0, call_frame=0x7fffd9594ac0, lookup=..., args=..., reason=<optimized out>)
    at vm/dispatch.cpp:49
#16 0x00000000007016e9 in rubinius::capi::capi_funcall_backend_native (env=0x7fffc80008c0, file=<optimized out>, line=-648349152, recv=0x7fffed158658, method=0x1d20e, 
    arg_count=<optimized out>, args=0x7fffd95948a0, block=0x1a) at vm/capi/capi.cpp:135
#17 0x00000000007033d8 in rb_funcall (receiver=<optimized out>, method_name=119310, arg_count=3) at vm/capi/capi.cpp:465
#18 0x00007ffff629c4c2 in reduce0 (val=22345856, data=<optimized out>, self=<optimized out>) at cparse.c:724
#19 0x00000000006d6b81 in rubinius::GenericArguments::invoke (state=<optimized out>, nm=0x7fffed15fb98, env=<optimized out>, args=...) at vm/builtin/native_method.cpp:572
#20 0x00000000006d468a in rubinius::NativeMethod::executor_implementation<rubinius::GenericArguments> (state=0x7fffc80008c0, previous=<optimized out>, exec=0x7fffba3e5a50, 
    mod=0x1580f60, args=...) at vm/builtin/native_method.cpp:710
#21 0x00000000006e7848 in rubinius::Proc::call (this=<optimized out>, state=0x7fffc80008c0, call_frame=0x7fffd9594f58, args=...) at vm/builtin/proc.cpp:122
#22 0x000000000062e5ff in rubinius::Primitives::proc_call (state=0x7fffc80008c0, call_frame=0x7fffd9594f58, exec=0x7ffff54ba258, mod=0x158ae60, args=...)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/gen/method_primitives.cpp:14988
#23 0x0000000000772122 in execute (this=<optimized out>, state=<optimized out>, call_frame=<optimized out>, args=..., this=<optimized out>, state=<optimized out>, 
    call_frame=<optimized out>, args=...) at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/builtin/call_site.hpp:108
#24 rbx_splat_send_private (state=0x7fffc80008c0, call_frame=0x7fffd9594f58, call_site=0x7fffdb995918, count=<optimized out>, call_flags=<optimized out>, args=<optimized out>)
    at vm/llvm/jit_util.cpp:147
#25 0x00007ffff62d7bbc in ?? ()
#26 0x00007fffd9595268 in ?? ()
#27 0x0000000000000000 in ?? ()
Member

YorickPeterse commented Feb 12, 2014

After compiling Nokogiri from source (to ensure that the changes made to it by @dbussink are present) I'm presented with the following segfault instead:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd95af700 (LWP 18447)]
rubinius::BakerGC::saw_object (this=0x154f880, obj=0x746f6f7220) at vm/gc/baker.cpp:86
86          if(!obj->young_object_p()) return NULL;
(gdb) bt
#0  rubinius::BakerGC::saw_object (this=0x154f880, obj=0x746f6f7220) at vm/gc/baker.cpp:86
#1  0x0000000000707cd2 in rb_gc_mark (ptr=140736751232752) at vm/capi/gc.cpp:44
#2  0x00000000006aef01 in rubinius::Data::Info::mark (this=<optimized out>, t=0x7fffdae5ff00, mark=...) at vm/builtin/data.cpp:155
#3  0x000000000071ab62 in rubinius::GarbageCollector::scan_object (this=0x154f880, obj=0x7fffdae5ff00) at vm/gc/gc.cpp:108
#4  0x0000000000716fa7 in rubinius::BakerGC::collect (this=0x154f880, data=0x7fffd9593a28, stats=0x7fffd9593a08) at vm/gc/baker.cpp:215
#5  0x00000000006539e1 in rubinius::ObjectMemory::collect_young (this=0x154f3b0, state=0x7fffd9593ad8, data=0x7fffd9593a28, stats=0x7fffd9593a08) at vm/object_memory.cpp:574
#6  0x000000000065375d in rubinius::ObjectMemory::collect_maybe (this=0x154f3b0, state=0x7fffd9593ad8, gct=..., call_frame=<optimized out>) at vm/object_memory.cpp:531
#7  0x000000000069e995 in rubinius::VM::collect_maybe (this=0x154f880, gct=..., call_frame=0x716a40 <rubinius::BakerGC::saw_object(rubinius::Object*)>) at vm/vm.cpp:310
#8  0x00000000006aab13 in collect_and_allocate (state=<optimized out>, gct=..., self=<optimized out>, self=<optimized out>, self=<optimized out>, self=<optimized out>, 
    self=<optimized out>, calling_environment=<optimized out>, state=<optimized out>, gct=..., self=<optimized out>, calling_environment=<optimized out>)
    at vm/builtin/class.cpp:66
#9  rubinius::(anonymous namespace)::allocate_packed (state=0x7fffc80008c0, gct=..., self=0x7fffd9593b38, calling_environment=0x7fffd9594430) at vm/builtin/class.cpp:114
#10 0x00000000006aa570 in rubinius::Class::allocate (this=0x2430900, state=0x7fffc80008c0, gct=..., calling_environment=0x7fffd9594430) at vm/builtin/class.cpp:133
#11 0x0000000000614759 in rubinius::Primitives::class_allocate (state=0x7fffc80008c0, call_frame=0x7fffd9594430, exec=0x7ffff54ae6c8, mod=0x1580e20, args=...)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/gen/method_primitives.cpp:3800
#12 0x00000000005b6eff in execute (this=<optimized out>, state=<optimized out>, args=..., this=<optimized out>, state=<optimized out>, call_frame=<optimized out>, args=...)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/builtin/call_site.hpp:108
#13 rubinius::MachineCode::interpreter (state=0x7fffc80008c0, mcode=0x7fffcc2d4510, call_frame=0x7fffd9594430)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/gen/instruction_implementations.hpp:543
#14 0x0000000000609e68 in rubinius::MachineCode::execute_specialized<rubinius::ThreeArguments> (state=0x7fffc80008c0, previous=<optimized out>, exec=0x7ffff4a382d8, 
    mod=0x24e0d80, args=...) at vm/machine_code.cpp:671
#15 0x00000000005a7629 in rubinius::Dispatch::send (this=0x7fffd95947e0, state=0x7fffc80008c0, call_frame=0x7fffd9594ac0, lookup=..., args=..., reason=<optimized out>)
    at vm/dispatch.cpp:49
#16 0x00000000007016e9 in rubinius::capi::capi_funcall_backend_native (env=0x7fffc80008c0, file=<optimized out>, line=-648349152, recv=0x7fffed158658, method=0x1d20e, 
    arg_count=<optimized out>, args=0x7fffd95948a0, block=0x1a) at vm/capi/capi.cpp:135
#17 0x00000000007033d8 in rb_funcall (receiver=<optimized out>, method_name=119310, arg_count=3) at vm/capi/capi.cpp:465
#18 0x00007ffff629c4c2 in reduce0 (val=22345856, data=<optimized out>, self=<optimized out>) at cparse.c:724
#19 0x00000000006d6b81 in rubinius::GenericArguments::invoke (state=<optimized out>, nm=0x7fffed15fb98, env=<optimized out>, args=...) at vm/builtin/native_method.cpp:572
#20 0x00000000006d468a in rubinius::NativeMethod::executor_implementation<rubinius::GenericArguments> (state=0x7fffc80008c0, previous=<optimized out>, exec=0x7fffba3e5a50, 
    mod=0x1580f60, args=...) at vm/builtin/native_method.cpp:710
#21 0x00000000006e7848 in rubinius::Proc::call (this=<optimized out>, state=0x7fffc80008c0, call_frame=0x7fffd9594f58, args=...) at vm/builtin/proc.cpp:122
#22 0x000000000062e5ff in rubinius::Primitives::proc_call (state=0x7fffc80008c0, call_frame=0x7fffd9594f58, exec=0x7ffff54ba258, mod=0x158ae60, args=...)
    at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/gen/method_primitives.cpp:14988
#23 0x0000000000772122 in execute (this=<optimized out>, state=<optimized out>, call_frame=<optimized out>, args=..., this=<optimized out>, state=<optimized out>, 
    call_frame=<optimized out>, args=...) at /home/yorickpeterse/Private/Projects/ruby/rubinius/vm/builtin/call_site.hpp:108
#24 rbx_splat_send_private (state=0x7fffc80008c0, call_frame=0x7fffd9594f58, call_site=0x7fffdb995918, count=<optimized out>, call_flags=<optimized out>, args=<optimized out>)
    at vm/llvm/jit_util.cpp:147
#25 0x00007ffff62d7bbc in ?? ()
#26 0x00007fffd9595268 in ?? ()
#27 0x0000000000000000 in ?? ()
@YorickPeterse

This comment has been minimized.

Show comment
Hide comment
@YorickPeterse

YorickPeterse Feb 12, 2014

Member

GDB backtraces of all threads: http://hastebin.com/raw/mawehegoqa

Member

YorickPeterse commented Feb 12, 2014

GDB backtraces of all threads: http://hastebin.com/raw/mawehegoqa

@YorickPeterse

This comment has been minimized.

Show comment
Hide comment
@YorickPeterse

YorickPeterse Feb 12, 2014

Member

And one with optimizations disabled: http://hastebin.com/raw/rolenakale

Member

YorickPeterse commented Feb 12, 2014

And one with optimizations disabled: http://hastebin.com/raw/rolenakale

@YorickPeterse

This comment has been minimized.

Show comment
Hide comment
@YorickPeterse

YorickPeterse Feb 26, 2014

Member

Closing this one in favour of #2957 and the Nokogiri issue mentioned above as this particular case should be fixed.

Member

YorickPeterse commented Feb 26, 2014

Closing this one in favour of #2957 and the Nokogiri issue mentioned above as this particular case should be fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment