Project

General

Profile

Bug #13236

Updated by nobu (Nobuyoshi Nakada) about 7 years ago

I have a program that segfault under certain conditions. It does not happen often, so it is hard to get the segfault. 
 The code is in https://github.com/DamienRobert/drain 
 You can run 'rake test' to (sometime, not often) get the core dump. I was able to get the coredump across different computers and different ruby versions. 
 In the tests I construct a graph with a cyclic path, so there is probably a bug in the gc when there are cyclic dependencies. 

 I join a coredump (compressed with xz), here is the backtrace (not very usefull because I did not compile ruby with debugging symbols): 

 ``` 
 Core was generated by `/usr/bin/ruby -w -Ilib:test -I/usr/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib /us'. 
 Program terminated with signal SIGABRT, Aborted. 
 #0    0x00007facdff1304f in raise () from /usr/lib/libc.so.6 
 [Current thread is 1 (Thread 0x7face08fe700 (LWP 7251))] 
 (gdb) bt 
 #0    0x00007facdff1304f in raise () from /usr/lib/libc.so.6 
 #1    0x00007facdff1447a in abort () from /usr/lib/libc.so.6 
 #2    0x00007face03096e1 in ?? () from /usr/lib/libruby.so.2.4 
 #3    0x00007face03c50ee in ?? () from /usr/lib/libruby.so.2.4 
 #4    <signal handler called> 
 #5    0x00007face02c9b44 in ?? () from /usr/lib/libruby.so.2.4 
 #6    0x00007face0321d0d in ?? () from /usr/lib/libruby.so.2.4 
 #7    0x00007face0322f13 in ?? () from /usr/lib/libruby.so.2.4 
 #8    0x00007face032515d in rb_gc_call_finalizer_at_exit () 
    from /usr/lib/libruby.so.2.4 
 #9    0x00007face03104c4 in ruby_cleanup () from /usr/lib/libruby.so.2.4 
 #10 0x00007face0310645 in ruby_run_node () from /usr/lib/libruby.so.2.4 
 #11 0x00000000004007cb in ?? () 
 #12 0x00007facdff00291 in __libc_start_main () from /usr/lib/libc.so.6 
 #13 0x00000000004007fa in _start () 
 ```

Back