From: Michael Klishin Date: 2011-08-31T13:01:30+09:00 Subject: [ruby-core:39208] [Ruby 1.9 - Bug #5252] Segmentation Fault Issue #5252 has been updated by Michael Klishin. Are you using any C extensions or libraries that may depend on C extensions? This looks like a well-know type of problems with missing GC guard. ---------------------------------------- Bug #5252: Segmentation Fault http://redmine.ruby-lang.org/issues/5252 Author: NagaChaitanya Vellanki Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux] I am running a rake task to query data from a oracle database using C extension, I am seeing segmentation fault happening randomly. ruby -v ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux] I have tried running the rake task inside the gdb, I have obtained the stack trace using the gdb. Can anyone help me understand the stack trace?. (gdb) run /usr/bin/rake cassandra:load_data SETTINGS_FILE=loader_files/68865463.yaml --trace Starting program: ruby /usr/bin/rake cassandra:load_data SETTINGS_FILE=loader_files/68865463.yaml --trace [Thread debugging using libthread_db enabled] [New Thread 46912499556288 (LWP 30944)] [New Thread 1073756512 (LWP 30947)] ** Invoke cassandra:load_data (first_time) ** Invoke environment (first_time) ** Execute environment [New Thread 1074284896 (LWP 30948)] ** Execute cassandra:load_data [New Thread 1082677600 (LWP 30949)] [New Thread 1091070304 (LWP 30950)] [Thread 1091070304 (LWP 30950) exited] [New Thread 1099463008 (LWP 30951)] "Finished pulling data" [Thread 1099463008 (LWP 30951) exited] [New Thread 1099463008 (LWP 30952)] [Thread 1099463008 (LWP 30952) exited] [New Thread 1099463008 (LWP 30995)] [Thread 1099463008 (LWP 30995) exited] [New Thread 1091070304 (LWP 30996)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 46912499556288 (LWP 30944)] 0x00002aaaaab1b272 in finalize_list (objspace=0x503740, p=0xc0bb358) at gc.c:1814 1814 slot->limit--; (gdb) bt full #0 0x00002aaaaab1b272 in finalize_list (objspace=0x503740, p=0xc0bb358) at gc.c:1814 slot = (struct heaps_slot *) 0x2aaab9213850 tmp = (RVALUE *) 0xc0bb358 #1 0x00002aaaaab1c6f4 in rb_gc_finalize_deferred () at gc.c:2621 No locals. #2 0x00002aaaaac20395 in rb_threadptr_execute_interrupts_rec (th=0x5033c0, sched_depth=0) at thread.c:1305 wait_event__ = Variable "wait_event__" is not available. (gdb) backtrace #0 0x00002aaaaab1b272 in finalize_list (objspace=0x503740, p=0xc0bb358) at gc.c:1814 #1 0x00002aaaaab1c6f4 in rb_gc_finalize_deferred () at gc.c:2621 #2 0x00002aaaaac20395 in rb_threadptr_execute_interrupts_rec (th=0x5033c0, sched_depth=0) at thread.c:1305 #3 0x00002aaaaac11162 in vm_call_method (th=0x5033c0, cfp=0x2aaaadd34670, num=1, blockptr=0x1, flag=0, id=60584, me=0x17646e0, recv=198781640) at vm_insnhelper.c:670 #4 0x00002aaaaac1477d in vm_exec_core (th=0x5033c0, initial=Variable "initial" is not available. ) at insns.def:1006 #5 0x00002aaaaac192ba in vm_exec (th=0x5033c0) at vm.c:1147 #6 0x00002aaaaac19c9c in invoke_block_from_c (th=0x5033c0, block=0x24a6eb0, self=5653000, argc=Variable "argc" is not available. ) at vm.c:558 #7 0x00002aaaaac1a071 in rb_vm_invoke_proc (th=0x5033c0, proc=0x24a6eb0, self=5653000, argc=2, argv=0x2aaaadc35200, blockptr=0x0) at vm.c:604 #8 0x00002aaaaab11d0d in proc_call (argc=2, argv=0x2aaaadc35200, procval=Variable "procval" is not available. ) at proc.c:556 #9 0x00002aaaaac10f85 in vm_call_method (th=0x5033c0, cfp=0x2aaaadd34988, num=2, blockptr=0x1, flag=0, id=5912, me=0x5fc6d0, recv=35624360) at vm_insnhelper.c:402 #10 0x00002aaaaac1477d in vm_exec_core (th=0x5033c0, initial=Variable "initial" is not available. ) at insns.def:1006 #11 0x00002aaaaac192ba in vm_exec (th=0x5033c0) at vm.c:1147 #12 0x00002aaaaac19c9c in invoke_block_from_c (th=0x5033c0, block=0x2aaaadd34ab8, self=35415120, argc=Variable "argc" is not available. ) at vm.c:558 #13 0x00002aaaaac1a3f7 in rb_yield (val=35624360) at vm.c:588 #14 0x00002aaaaaadbb3b in rb_ary_each (ary=35414320) at array.c:1427 #15 0x00002aaaaac10f85 in vm_call_method (th=0x5033c0, cfp=0x2aaaadd34a90, num=0, blockptr=0x2aaaadd34ab9, flag=0, id=424, me=0x5b9630, recv=35414320) at vm_insnhelper.c:402 #16 0x00002aaaaac1477d in vm_exec_core (th=0x5033c0, initial=Variable "initial" is not available. ) at insns.def:1006 #17 0x00002aaaaac192ba in vm_exec (th=0x5033c0) at vm.c:1147 #18 0x00002aaaaac19c9c in invoke_block_from_c (th=0x5033c0, block=0x2aaaadd34dd0, self=9467640, argc=Variable "argc" is not available. ) at vm.c:558 #19 0x00002aaaaac1a3f7 in rb_yield (val=5558320) at vm.c:588 #20 0x00002aaaaaadbb3b in rb_ary_each (ary=9079920) at array.c:1427 #21 0x00002aaaaac10f85 in vm_call_method (th=0x5033c0, cfp=0x2aaaadd34da8, num=0, blockptr=0x2aaaadd34dd1, flag=0, id=424, me=0x5b9630, recv=9079920) at vm_insnhelper.c:402 #22 0x00002aaaaac1477d in vm_exec_core (th=0x5033c0, initial=Variable "initial" is not available. ) at insns.def:1006 #23 0x00002aaaaac192ba in vm_exec (th=0x5033c0) at vm.c:1147 #24 0x00002aaaaac19669 in rb_iseq_eval_main (iseqval=5468880) at vm.c:1388 #25 0x00002aaaaab0a8e2 in ruby_exec_internal (n=0x5372d0) at eval.c:214 #26 0x00002aaaaab0a909 in ruby_exec_node (n=0x5372d0) at eval.c:261 #27 0x00002aaaaab0cf3f in ruby_run_node (n=0x5372d0) at eval.c:254 #28 0x000000000040097f in main (argc=5, argv=0x7fffffffdc28) at main.c:35 (gdb) quit -- http://redmine.ruby-lang.org