Issue #8230 has been updated by gojpeg (Peter Leonov).


(gdb) bt
#0  0x00007fff8c484212 in __pthread_kill ()
#1  0x00007fff8578fb54 in pthread_kill ()
#2  0x00007fff857d3dce in abort ()
#3  0x0000000108970ac9 in rb_bug ()
#4  0x0000000108a15d7f in sigsegv ()
#5  <signal handler called>
#6  0x0000000108a6e971 in rb_backref_get ()
#7  0x00000001089f660b in rb_reg_search ()
#8  0x00000001089f1797 in rb_reg_match ()
#9  0x0000000108a78753 in vm_exec_core ()
#10 0x0000000108a7971e in vm_exec ()
#11 0x0000000108a7aee1 in rb_vm_invoke_proc ()
#12 0x0000000108973e21 in rb_exec_end_proc ()
#13 0x0000000108973ee5 in ruby_finalize_0 ()
#14 0x0000000108974002 in ruby_cleanup ()
#15 0x0000000108974269 in ruby_run_node ()
#16 0x000000010893d67f in main ()


----------------------------------------
Bug #8230: Segmentation fault: at_exit
https://bugs.ruby-lang.org/issues/8230#change-38319

Author: gojpeg (Peter Leonov)
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 
ruby -v: ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin12.2.1]


Got segfault usin TextMate run script window. Thought it up to TextMate and started to digg.
Ended up with heisenbug in at_exit.

STEPS:

Download two files:
* at_exit.rb
* big_file.rb

save these to some dir, chdir there and run:

    ruby -r ./at_exit.rb -e 'q'


EXPECTED:

Error message like this:

    -e:1:in `<main>': undefined local variable or method `q' for main:Object (NameError)


RESULT:

A segmentation fault. Output of the crash can be found in crash-output.txt attached below.


NOTES:

I have gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00).

If you look at the content of the files you could see lots of useless statements. It is OK, bug shows itself with all that garbage only.

While Ruby 2.0 couldn't be built on Mac OS X today I can't test this issue in it. But, it is ease to see about this bug it is all about stack corruption. If necessary, I can help with debugging on my box. 


-- 
http://bugs.ruby-lang.org/