Forum: Ruby-core [ruby-trunk - Bug #8144][Open] test_segv_test(TestRubyOptions) test failure

Posted by Vít Ondruch (vo_x)
on 2013-03-22 10:58
(Received via mailing list)
Issue #8144 has been reported by vo.x (Vit Ondruch).

----------------------------------------
Bug #8144: test_segv_test(TestRubyOptions) test failure
https://bugs.ruby-lang.org/issues/8144

Author: vo.x (Vit Ondruch)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby -v: ruby 2.0.0p0 (2013-02-24) [i386-linux]


=begin
After doing several successful builds [1], next build crashed suddenly 
with:

 test_segv_test(TestRubyOptions) 
[/builddir/build/BUILD/ruby-2.0.0-p0/test/ruby/test_rubyoptions.rb:513]:
 Expected /#<Bogus:/ to match "-e:3: [BUG] Segmentation fault\nruby 
2.0.0p0 (2013-02-24) [i386-linux]\n\n-- Control frame information 
-----------------------------------------------\nc:0003 p:---- s:0009 
e:000008 CFUNC  :kill\nc:0002 p:0041 s:0004 E:001ffc EVAL   -e:3 
[FINISH]\nc:0001 p:0000 s:0002 E:001d24 TOP    [FINISH]\n\n-e:3:in 
`<main>'\n-e:3:in `kill'\n\n-- C level backtrace information 
-------------------------------------------\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x175cc9) 
[0x519cc9] 
vm_dump.c:647\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x54aef) 
[0x3f8aef] 
error.c:283\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_bug+0x41) 
[0x3f8f01] 
error.c:302\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x10700d) 
[0x4ab00d] 
signal.c:649\n[0xd84410]\n[0xd84430]\n/lib/libc.so.6(kill+0x16) 
[0x8dcab6]\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_f_kill+0x66) 
[0x4abaa6] signal.c:424\n/builddir/build/BUILD/ruby-2.0.0-p0/
 libruby.so.2.0.0(+0x15ad6f) [0x4fed6f] 
vm_insnhelper.c:1294\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15f7d9) 
[0x5037d9] 
vm_insnhelper.c:1438\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x170eaf) 
[0x514eaf] 
vm_insnhelper.c:1528\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x16365c) 
[0x50765c] 
insns.def:1017\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x1691d4) 
[0x50d1d4] 
vm.c:1175\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_iseq_eval_main+0x8c) 
[0x50f11c] 
vm.c:1423\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x57ccc) 
[0x3fbccc] 
eval.c:250\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_exec_node+0x25) 
[0x3fd535] 
eval.c:315\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_run_node+0x31) 
[0x3feff1] eval.c:307\n/builddir/build/BUILD/ruby-2.0.0-p0/ruby() 
[0x80486b9] main.c:36\n/lib/libc.so.6(__libc_start_main+0xf3) 
[0x8c7963]\n/builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486e1] 
main.c:
 38\n\n-- Other runtime information 
-----------------------------------------------\n\n* Loaded script: 
-e\n\n* Loaded features:\n\n".


In readable form:

 test_segv_test(TestRubyOptions) 
[/builddir/build/BUILD/ruby-2.0.0-p0/test/ruby/test_rubyoptions.rb:513]:
 Expected /#<Bogus:/ to match "-e:3: [BUG] Segmentation fault
 ruby 2.0.0p0 (2013-02-24) [i386-linux]

 -- Control frame information 
-----------------------------------------------
 c:0003 p:---- s:0009 e:000008 CFUNC  :kill
 c:0002 p:0041 s:0004 E:001ffc EVAL   -e:3 [FINISH]
 c:0001 p:0000 s:0002 E:001d24 TOP    [FINISH]

 -e:3:in `<main>'
 -e:3:in `kill'

 -- C level backtrace information 
-------------------------------------------
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x175cc9) 
[0x519cc9] vm_dump.c:647
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x54aef) 
[0x3f8aef] error.c:283
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_bug+0x41) 
[0x3f8f01] error.c:302
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x10700d) 
[0x4ab00d] signal.c:649
 [0xd84410]
 [0xd84430]
 /lib/libc.so.6(kill+0x16) [0x8dcab6]
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_f_kill+0x66) 
[0x4abaa6] signal.c:424
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15ad6f) 
[0x4fed6f] vm_insnhelper.c:1294
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15f7d9) 
[0x5037d9] vm_insnhelper.c:1438
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x170eaf) 
[0x514eaf] vm_insnhelper.c:1528
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x16365c) 
[0x50765c] insns.def:1017
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x1691d4) 
[0x50d1d4] vm.c:1175
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_iseq_eval_main+0x8c) 
[0x50f11c] vm.c:1423
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x57ccc) 
[0x3fbccc] eval.c:250
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_exec_node+0x25) 
[0x3fd535] eval.c:315
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_run_node+0x31) 
[0x3feff1] eval.c:307
 /builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486b9] main.c:36
 /lib/libc.so.6(__libc_start_main+0xf3) [0x8c7963]
 /builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486e1] main.c:38

 -- Other runtime information 
-----------------------------------------------

 * Loaded script: -e

 * Loaded features:

 ".




[1] https://bugs.ruby-lang.org/issues/7521#note-7
=end
Posted by naruse (Yui NARUSE) (Guest)
on 2013-03-22 11:59
(Received via mailing list)
Issue #8144 has been updated by naruse (Yui NARUSE).


I also experienced a similar failure on Linux i686 various distribution.
http://www.rubyist.net/~akr/chkbuild/debian/ruby-t...
http://c5632.rubyci.org/~chkbuild/ruby-trunk/log/2...
http://u32.rubyci.org/~chkbuild/ruby-trunk/log/201...

On this debian squeeze it always happen, but on CentOS 5.8/Ubuntu 10.04 
it is at random.

My some inspection it seems because fprintf in 
rb_dump_backtrace_with_lines.
It is called from signal handler and fprintf is async signal unsafe.
This fprintf seems to break some memory value for example rb_cString.
But I doubt this really caused by this...

Anyway on debian squeeze, following patch fixed this.
Could you try this?

diff --git a/addr2line.c b/addr2line.c
index c0fad49..fc12b97 100644
--- a/addr2line.c
+++ b/addr2line.c
@@ -617,21 +617,25 @@ rb_dump_backtrace_with_lines(int num_traces, void 
**trace, char **syms)
     /* fprintf may not be async-signal safe */
     for (i = 0; i < num_traces; i++) {
        line_info_t *line = &lines[i];
+       #define BUFLEN 256
+       char buf[BUFLEN];
+       int n;

        if (line->line > 0) {
            if (line->filename) {
                if (line->dirname && line->dirname[0]) {
-                   fprintf(stderr, "%s %s/%s:%d\n", syms[i], 
line->dirname, line->filename, line->l
+                   n = snprintf(buf, BUFLEN, "%s %s/%s:%d\n", syms[i], 
line->dirname, line->filenam
                }
                else {
-                   fprintf(stderr, "%s %s:%d\n", syms[i], 
line->filename, line->line);
+                   n = snprintf(buf, BUFLEN, "%s %s:%d\n", syms[i], 
line->filename, line->line);
                }
            } else {
-               fprintf(stderr, "%s ???:%d\n", syms[i], line->line);
+               n = snprintf(buf, BUFLEN, "%s ???:%d\n", syms[i], 
line->line);
            }
        } else {
-           fprintf(stderr, "%s\n", syms[i]);
+           n = snprintf(buf, BUFLEN, "%s\n", syms[i]);
        }
+       n = write(2, buf, n);
     }

     for (i = 0; i < num_traces; i++) {

----------------------------------------
Bug #8144: test_segv_test(TestRubyOptions) test failure
https://bugs.ruby-lang.org/issues/8144#change-37817

Author: vo.x (Vit Ondruch)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby -v: ruby 2.0.0p0 (2013-02-24) [i386-linux]


=begin
After doing several successful builds [1], next build crashed suddenly 
with:

 test_segv_test(TestRubyOptions) 
[/builddir/build/BUILD/ruby-2.0.0-p0/test/ruby/test_rubyoptions.rb:513]:
 Expected /#<Bogus:/ to match "-e:3: [BUG] Segmentation fault\nruby 
2.0.0p0 (2013-02-24) [i386-linux]\n\n-- Control frame information 
-----------------------------------------------\nc:0003 p:---- s:0009 
e:000008 CFUNC  :kill\nc:0002 p:0041 s:0004 E:001ffc EVAL   -e:3 
[FINISH]\nc:0001 p:0000 s:0002 E:001d24 TOP    [FINISH]\n\n-e:3:in 
`<main>'\n-e:3:in `kill'\n\n-- C level backtrace information 
-------------------------------------------\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x175cc9) 
[0x519cc9] 
vm_dump.c:647\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x54aef) 
[0x3f8aef] 
error.c:283\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_bug+0x41) 
[0x3f8f01] 
error.c:302\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x10700d) 
[0x4ab00d] 
signal.c:649\n[0xd84410]\n[0xd84430]\n/lib/libc.so.6(kill+0x16) 
[0x8dcab6]\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_f_kill+0x66) 
[0x4abaa6] signal.c:424\n/builddir/build/BUILD/ruby-2.0.0-p0/
 libruby.so.2.0.0(+0x15ad6f) [0x4fed6f] 
vm_insnhelper.c:1294\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15f7d9) 
[0x5037d9] 
vm_insnhelper.c:1438\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x170eaf) 
[0x514eaf] 
vm_insnhelper.c:1528\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x16365c) 
[0x50765c] 
insns.def:1017\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x1691d4) 
[0x50d1d4] 
vm.c:1175\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_iseq_eval_main+0x8c) 
[0x50f11c] 
vm.c:1423\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x57ccc) 
[0x3fbccc] 
eval.c:250\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_exec_node+0x25) 
[0x3fd535] 
eval.c:315\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_run_node+0x31) 
[0x3feff1] eval.c:307\n/builddir/build/BUILD/ruby-2.0.0-p0/ruby() 
[0x80486b9] main.c:36\n/lib/libc.so.6(__libc_start_main+0xf3) 
[0x8c7963]\n/builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486e1] 
main.c:
 38\n\n-- Other runtime information 
-----------------------------------------------\n\n* Loaded script: 
-e\n\n* Loaded features:\n\n".


In readable form:

 test_segv_test(TestRubyOptions) 
[/builddir/build/BUILD/ruby-2.0.0-p0/test/ruby/test_rubyoptions.rb:513]:
 Expected /#<Bogus:/ to match "-e:3: [BUG] Segmentation fault
 ruby 2.0.0p0 (2013-02-24) [i386-linux]

 -- Control frame information 
-----------------------------------------------
 c:0003 p:---- s:0009 e:000008 CFUNC  :kill
 c:0002 p:0041 s:0004 E:001ffc EVAL   -e:3 [FINISH]
 c:0001 p:0000 s:0002 E:001d24 TOP    [FINISH]

 -e:3:in `<main>'
 -e:3:in `kill'

 -- C level backtrace information 
-------------------------------------------
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x175cc9) 
[0x519cc9] vm_dump.c:647
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x54aef) 
[0x3f8aef] error.c:283
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_bug+0x41) 
[0x3f8f01] error.c:302
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x10700d) 
[0x4ab00d] signal.c:649
 [0xd84410]
 [0xd84430]
 /lib/libc.so.6(kill+0x16) [0x8dcab6]
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_f_kill+0x66) 
[0x4abaa6] signal.c:424
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15ad6f) 
[0x4fed6f] vm_insnhelper.c:1294
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15f7d9) 
[0x5037d9] vm_insnhelper.c:1438
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x170eaf) 
[0x514eaf] vm_insnhelper.c:1528
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x16365c) 
[0x50765c] insns.def:1017
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x1691d4) 
[0x50d1d4] vm.c:1175
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_iseq_eval_main+0x8c) 
[0x50f11c] vm.c:1423
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x57ccc) 
[0x3fbccc] eval.c:250
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_exec_node+0x25) 
[0x3fd535] eval.c:315
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_run_node+0x31) 
[0x3feff1] eval.c:307
 /builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486b9] main.c:36
 /lib/libc.so.6(__libc_start_main+0xf3) [0x8c7963]
 /builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486e1] main.c:38

 -- Other runtime information 
-----------------------------------------------

 * Loaded script: -e

 * Loaded features:

 ".




[1] https://bugs.ruby-lang.org/issues/7521#note-7
=end
Posted by Vít Ondruch (vo_x)
on 2013-03-22 12:07
(Received via mailing list)
Issue #8144 has been updated by vo.x (Vit Ondruch).


Thank you Yui. I could try it, but I am afraid I don't know how to 
recognize that it works for sure, due to its random nature :/
----------------------------------------
Bug #8144: test_segv_test(TestRubyOptions) test failure
https://bugs.ruby-lang.org/issues/8144#change-37818

Author: vo.x (Vit Ondruch)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby -v: ruby 2.0.0p0 (2013-02-24) [i386-linux]


=begin
After doing several successful builds [1], next build crashed suddenly 
with:

 test_segv_test(TestRubyOptions) 
[/builddir/build/BUILD/ruby-2.0.0-p0/test/ruby/test_rubyoptions.rb:513]:
 Expected /#<Bogus:/ to match "-e:3: [BUG] Segmentation fault\nruby 
2.0.0p0 (2013-02-24) [i386-linux]\n\n-- Control frame information 
-----------------------------------------------\nc:0003 p:---- s:0009 
e:000008 CFUNC  :kill\nc:0002 p:0041 s:0004 E:001ffc EVAL   -e:3 
[FINISH]\nc:0001 p:0000 s:0002 E:001d24 TOP    [FINISH]\n\n-e:3:in 
`<main>'\n-e:3:in `kill'\n\n-- C level backtrace information 
-------------------------------------------\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x175cc9) 
[0x519cc9] 
vm_dump.c:647\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x54aef) 
[0x3f8aef] 
error.c:283\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_bug+0x41) 
[0x3f8f01] 
error.c:302\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x10700d) 
[0x4ab00d] 
signal.c:649\n[0xd84410]\n[0xd84430]\n/lib/libc.so.6(kill+0x16) 
[0x8dcab6]\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_f_kill+0x66) 
[0x4abaa6] signal.c:424\n/builddir/build/BUILD/ruby-2.0.0-p0/
 libruby.so.2.0.0(+0x15ad6f) [0x4fed6f] 
vm_insnhelper.c:1294\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15f7d9) 
[0x5037d9] 
vm_insnhelper.c:1438\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x170eaf) 
[0x514eaf] 
vm_insnhelper.c:1528\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x16365c) 
[0x50765c] 
insns.def:1017\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x1691d4) 
[0x50d1d4] 
vm.c:1175\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_iseq_eval_main+0x8c) 
[0x50f11c] 
vm.c:1423\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x57ccc) 
[0x3fbccc] 
eval.c:250\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_exec_node+0x25) 
[0x3fd535] 
eval.c:315\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_run_node+0x31) 
[0x3feff1] eval.c:307\n/builddir/build/BUILD/ruby-2.0.0-p0/ruby() 
[0x80486b9] main.c:36\n/lib/libc.so.6(__libc_start_main+0xf3) 
[0x8c7963]\n/builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486e1] 
main.c:
 38\n\n-- Other runtime information 
-----------------------------------------------\n\n* Loaded script: 
-e\n\n* Loaded features:\n\n".


In readable form:

 test_segv_test(TestRubyOptions) 
[/builddir/build/BUILD/ruby-2.0.0-p0/test/ruby/test_rubyoptions.rb:513]:
 Expected /#<Bogus:/ to match "-e:3: [BUG] Segmentation fault
 ruby 2.0.0p0 (2013-02-24) [i386-linux]

 -- Control frame information 
-----------------------------------------------
 c:0003 p:---- s:0009 e:000008 CFUNC  :kill
 c:0002 p:0041 s:0004 E:001ffc EVAL   -e:3 [FINISH]
 c:0001 p:0000 s:0002 E:001d24 TOP    [FINISH]

 -e:3:in `<main>'
 -e:3:in `kill'

 -- C level backtrace information 
-------------------------------------------
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x175cc9) 
[0x519cc9] vm_dump.c:647
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x54aef) 
[0x3f8aef] error.c:283
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_bug+0x41) 
[0x3f8f01] error.c:302
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x10700d) 
[0x4ab00d] signal.c:649
 [0xd84410]
 [0xd84430]
 /lib/libc.so.6(kill+0x16) [0x8dcab6]
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_f_kill+0x66) 
[0x4abaa6] signal.c:424
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15ad6f) 
[0x4fed6f] vm_insnhelper.c:1294
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15f7d9) 
[0x5037d9] vm_insnhelper.c:1438
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x170eaf) 
[0x514eaf] vm_insnhelper.c:1528
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x16365c) 
[0x50765c] insns.def:1017
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x1691d4) 
[0x50d1d4] vm.c:1175
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_iseq_eval_main+0x8c) 
[0x50f11c] vm.c:1423
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x57ccc) 
[0x3fbccc] eval.c:250
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_exec_node+0x25) 
[0x3fd535] eval.c:315
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_run_node+0x31) 
[0x3feff1] eval.c:307
 /builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486b9] main.c:36
 /lib/libc.so.6(__libc_start_main+0xf3) [0x8c7963]
 /builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486e1] main.c:38

 -- Other runtime information 
-----------------------------------------------

 * Loaded script: -e

 * Loaded features:

 ".




[1] https://bugs.ruby-lang.org/issues/7521#note-7
=end
Posted by naruse (Yui NARUSE) (Guest)
on 2013-03-22 12:44
(Received via mailing list)
Issue #8144 has been updated by naruse (Yui NARUSE).


vo.x (Vit Ondruch) wrote:
> Thank you Yui. I could try it, but I am afraid I don't know how to recognize 
that it works for sure, due to its random nature :/

Try below:

 while make TESTS='-vn test_segv_test ruby/test_rubyoptions.rb' 
test-all;do :;done
----------------------------------------
Bug #8144: test_segv_test(TestRubyOptions) test failure
https://bugs.ruby-lang.org/issues/8144#change-37820

Author: vo.x (Vit Ondruch)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby -v: ruby 2.0.0p0 (2013-02-24) [i386-linux]


=begin
After doing several successful builds [1], next build crashed suddenly 
with:

 test_segv_test(TestRubyOptions) 
[/builddir/build/BUILD/ruby-2.0.0-p0/test/ruby/test_rubyoptions.rb:513]:
 Expected /#<Bogus:/ to match "-e:3: [BUG] Segmentation fault\nruby 
2.0.0p0 (2013-02-24) [i386-linux]\n\n-- Control frame information 
-----------------------------------------------\nc:0003 p:---- s:0009 
e:000008 CFUNC  :kill\nc:0002 p:0041 s:0004 E:001ffc EVAL   -e:3 
[FINISH]\nc:0001 p:0000 s:0002 E:001d24 TOP    [FINISH]\n\n-e:3:in 
`<main>'\n-e:3:in `kill'\n\n-- C level backtrace information 
-------------------------------------------\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x175cc9) 
[0x519cc9] 
vm_dump.c:647\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x54aef) 
[0x3f8aef] 
error.c:283\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_bug+0x41) 
[0x3f8f01] 
error.c:302\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x10700d) 
[0x4ab00d] 
signal.c:649\n[0xd84410]\n[0xd84430]\n/lib/libc.so.6(kill+0x16) 
[0x8dcab6]\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_f_kill+0x66) 
[0x4abaa6] signal.c:424\n/builddir/build/BUILD/ruby-2.0.0-p0/
 libruby.so.2.0.0(+0x15ad6f) [0x4fed6f] 
vm_insnhelper.c:1294\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15f7d9) 
[0x5037d9] 
vm_insnhelper.c:1438\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x170eaf) 
[0x514eaf] 
vm_insnhelper.c:1528\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x16365c) 
[0x50765c] 
insns.def:1017\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x1691d4) 
[0x50d1d4] 
vm.c:1175\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_iseq_eval_main+0x8c) 
[0x50f11c] 
vm.c:1423\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x57ccc) 
[0x3fbccc] 
eval.c:250\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_exec_node+0x25) 
[0x3fd535] 
eval.c:315\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_run_node+0x31) 
[0x3feff1] eval.c:307\n/builddir/build/BUILD/ruby-2.0.0-p0/ruby() 
[0x80486b9] main.c:36\n/lib/libc.so.6(__libc_start_main+0xf3) 
[0x8c7963]\n/builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486e1] 
main.c:
 38\n\n-- Other runtime information 
-----------------------------------------------\n\n* Loaded script: 
-e\n\n* Loaded features:\n\n".


In readable form:

 test_segv_test(TestRubyOptions) 
[/builddir/build/BUILD/ruby-2.0.0-p0/test/ruby/test_rubyoptions.rb:513]:
 Expected /#<Bogus:/ to match "-e:3: [BUG] Segmentation fault
 ruby 2.0.0p0 (2013-02-24) [i386-linux]

 -- Control frame information 
-----------------------------------------------
 c:0003 p:---- s:0009 e:000008 CFUNC  :kill
 c:0002 p:0041 s:0004 E:001ffc EVAL   -e:3 [FINISH]
 c:0001 p:0000 s:0002 E:001d24 TOP    [FINISH]

 -e:3:in `<main>'
 -e:3:in `kill'

 -- C level backtrace information 
-------------------------------------------
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x175cc9) 
[0x519cc9] vm_dump.c:647
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x54aef) 
[0x3f8aef] error.c:283
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_bug+0x41) 
[0x3f8f01] error.c:302
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x10700d) 
[0x4ab00d] signal.c:649
 [0xd84410]
 [0xd84430]
 /lib/libc.so.6(kill+0x16) [0x8dcab6]
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_f_kill+0x66) 
[0x4abaa6] signal.c:424
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15ad6f) 
[0x4fed6f] vm_insnhelper.c:1294
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15f7d9) 
[0x5037d9] vm_insnhelper.c:1438
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x170eaf) 
[0x514eaf] vm_insnhelper.c:1528
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x16365c) 
[0x50765c] insns.def:1017
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x1691d4) 
[0x50d1d4] vm.c:1175
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_iseq_eval_main+0x8c) 
[0x50f11c] vm.c:1423
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x57ccc) 
[0x3fbccc] eval.c:250
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_exec_node+0x25) 
[0x3fd535] eval.c:315
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_run_node+0x31) 
[0x3feff1] eval.c:307
 /builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486b9] main.c:36
 /lib/libc.so.6(__libc_start_main+0xf3) [0x8c7963]
 /builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486e1] main.c:38

 -- Other runtime information 
-----------------------------------------------

 * Loaded script: -e

 * Loaded features:

 ".




[1] https://bugs.ruby-lang.org/issues/7521#note-7
=end
Posted by kosaki (Motohiro KOSAKI) (Guest)
on 2013-03-22 14:11
(Received via mailing list)
Issue #8144 has been updated by kosaki (Motohiro KOSAKI).


>My some inspection it seems because fprintf in rb_dump_backtrace_with_lines.
>It is called from signal handler and fprintf is async signal unsafe.
>This fprintf seems to break some memory value for example rb_cString.
>But I doubt this really caused by this...

I really doubt it.
rb_dump_backtrace_with_lines() is only called from SEGV handler. but 
SEGV itself shouldn't be happen.
Moreover, I wonder why kill() in libc makes SEGV, not from ruby code.




----------------------------------------
Bug #8144: test_segv_test(TestRubyOptions) test failure
https://bugs.ruby-lang.org/issues/8144#change-37824

Author: vo.x (Vit Ondruch)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby -v: ruby 2.0.0p0 (2013-02-24) [i386-linux]


=begin
After doing several successful builds [1], next build crashed suddenly 
with:

 test_segv_test(TestRubyOptions) 
[/builddir/build/BUILD/ruby-2.0.0-p0/test/ruby/test_rubyoptions.rb:513]:
 Expected /#<Bogus:/ to match "-e:3: [BUG] Segmentation fault\nruby 
2.0.0p0 (2013-02-24) [i386-linux]\n\n-- Control frame information 
-----------------------------------------------\nc:0003 p:---- s:0009 
e:000008 CFUNC  :kill\nc:0002 p:0041 s:0004 E:001ffc EVAL   -e:3 
[FINISH]\nc:0001 p:0000 s:0002 E:001d24 TOP    [FINISH]\n\n-e:3:in 
`<main>'\n-e:3:in `kill'\n\n-- C level backtrace information 
-------------------------------------------\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x175cc9) 
[0x519cc9] 
vm_dump.c:647\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x54aef) 
[0x3f8aef] 
error.c:283\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_bug+0x41) 
[0x3f8f01] 
error.c:302\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x10700d) 
[0x4ab00d] 
signal.c:649\n[0xd84410]\n[0xd84430]\n/lib/libc.so.6(kill+0x16) 
[0x8dcab6]\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_f_kill+0x66) 
[0x4abaa6] signal.c:424\n/builddir/build/BUILD/ruby-2.0.0-p0/
 libruby.so.2.0.0(+0x15ad6f) [0x4fed6f] 
vm_insnhelper.c:1294\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15f7d9) 
[0x5037d9] 
vm_insnhelper.c:1438\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x170eaf) 
[0x514eaf] 
vm_insnhelper.c:1528\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x16365c) 
[0x50765c] 
insns.def:1017\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x1691d4) 
[0x50d1d4] 
vm.c:1175\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_iseq_eval_main+0x8c) 
[0x50f11c] 
vm.c:1423\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x57ccc) 
[0x3fbccc] 
eval.c:250\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_exec_node+0x25) 
[0x3fd535] 
eval.c:315\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_run_node+0x31) 
[0x3feff1] eval.c:307\n/builddir/build/BUILD/ruby-2.0.0-p0/ruby() 
[0x80486b9] main.c:36\n/lib/libc.so.6(__libc_start_main+0xf3) 
[0x8c7963]\n/builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486e1] 
main.c:
 38\n\n-- Other runtime information 
-----------------------------------------------\n\n* Loaded script: 
-e\n\n* Loaded features:\n\n".


In readable form:

 test_segv_test(TestRubyOptions) 
[/builddir/build/BUILD/ruby-2.0.0-p0/test/ruby/test_rubyoptions.rb:513]:
 Expected /#<Bogus:/ to match "-e:3: [BUG] Segmentation fault
 ruby 2.0.0p0 (2013-02-24) [i386-linux]

 -- Control frame information 
-----------------------------------------------
 c:0003 p:---- s:0009 e:000008 CFUNC  :kill
 c:0002 p:0041 s:0004 E:001ffc EVAL   -e:3 [FINISH]
 c:0001 p:0000 s:0002 E:001d24 TOP    [FINISH]

 -e:3:in `<main>'
 -e:3:in `kill'

 -- C level backtrace information 
-------------------------------------------
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x175cc9) 
[0x519cc9] vm_dump.c:647
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x54aef) 
[0x3f8aef] error.c:283
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_bug+0x41) 
[0x3f8f01] error.c:302
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x10700d) 
[0x4ab00d] signal.c:649
 [0xd84410]
 [0xd84430]
 /lib/libc.so.6(kill+0x16) [0x8dcab6]
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_f_kill+0x66) 
[0x4abaa6] signal.c:424
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15ad6f) 
[0x4fed6f] vm_insnhelper.c:1294
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15f7d9) 
[0x5037d9] vm_insnhelper.c:1438
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x170eaf) 
[0x514eaf] vm_insnhelper.c:1528
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x16365c) 
[0x50765c] insns.def:1017
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x1691d4) 
[0x50d1d4] vm.c:1175
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_iseq_eval_main+0x8c) 
[0x50f11c] vm.c:1423
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x57ccc) 
[0x3fbccc] eval.c:250
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_exec_node+0x25) 
[0x3fd535] eval.c:315
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_run_node+0x31) 
[0x3feff1] eval.c:307
 /builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486b9] main.c:36
 /lib/libc.so.6(__libc_start_main+0xf3) [0x8c7963]
 /builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486e1] main.c:38

 -- Other runtime information 
-----------------------------------------------

 * Loaded script: -e

 * Loaded features:

 ".




[1] https://bugs.ruby-lang.org/issues/7521#note-7
=end
Posted by kosaki (Motohiro KOSAKI) (Guest)
on 2013-03-22 14:57
(Received via mailing list)
Issue #8144 has been updated by kosaki (Motohiro KOSAKI).


>I really doubt it.
>rb_dump_backtrace_with_lines() is only called from SEGV handler. but SEGV itself 
shouldn't be happen.
>Moreover, I wonder why kill() in libc makes SEGV, not from ruby code.

Sorry, I was confusion. It was test_segv_test. so, SEGV is not wrong.
----------------------------------------
Bug #8144: test_segv_test(TestRubyOptions) test failure
https://bugs.ruby-lang.org/issues/8144#change-37825

Author: vo.x (Vit Ondruch)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby -v: ruby 2.0.0p0 (2013-02-24) [i386-linux]


=begin
After doing several successful builds [1], next build crashed suddenly 
with:

 test_segv_test(TestRubyOptions) 
[/builddir/build/BUILD/ruby-2.0.0-p0/test/ruby/test_rubyoptions.rb:513]:
 Expected /#<Bogus:/ to match "-e:3: [BUG] Segmentation fault\nruby 
2.0.0p0 (2013-02-24) [i386-linux]\n\n-- Control frame information 
-----------------------------------------------\nc:0003 p:---- s:0009 
e:000008 CFUNC  :kill\nc:0002 p:0041 s:0004 E:001ffc EVAL   -e:3 
[FINISH]\nc:0001 p:0000 s:0002 E:001d24 TOP    [FINISH]\n\n-e:3:in 
`<main>'\n-e:3:in `kill'\n\n-- C level backtrace information 
-------------------------------------------\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x175cc9) 
[0x519cc9] 
vm_dump.c:647\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x54aef) 
[0x3f8aef] 
error.c:283\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_bug+0x41) 
[0x3f8f01] 
error.c:302\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x10700d) 
[0x4ab00d] 
signal.c:649\n[0xd84410]\n[0xd84430]\n/lib/libc.so.6(kill+0x16) 
[0x8dcab6]\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_f_kill+0x66) 
[0x4abaa6] signal.c:424\n/builddir/build/BUILD/ruby-2.0.0-p0/
 libruby.so.2.0.0(+0x15ad6f) [0x4fed6f] 
vm_insnhelper.c:1294\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15f7d9) 
[0x5037d9] 
vm_insnhelper.c:1438\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x170eaf) 
[0x514eaf] 
vm_insnhelper.c:1528\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x16365c) 
[0x50765c] 
insns.def:1017\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x1691d4) 
[0x50d1d4] 
vm.c:1175\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_iseq_eval_main+0x8c) 
[0x50f11c] 
vm.c:1423\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x57ccc) 
[0x3fbccc] 
eval.c:250\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_exec_node+0x25) 
[0x3fd535] 
eval.c:315\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_run_node+0x31) 
[0x3feff1] eval.c:307\n/builddir/build/BUILD/ruby-2.0.0-p0/ruby() 
[0x80486b9] main.c:36\n/lib/libc.so.6(__libc_start_main+0xf3) 
[0x8c7963]\n/builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486e1] 
main.c:
 38\n\n-- Other runtime information 
-----------------------------------------------\n\n* Loaded script: 
-e\n\n* Loaded features:\n\n".


In readable form:

 test_segv_test(TestRubyOptions) 
[/builddir/build/BUILD/ruby-2.0.0-p0/test/ruby/test_rubyoptions.rb:513]:
 Expected /#<Bogus:/ to match "-e:3: [BUG] Segmentation fault
 ruby 2.0.0p0 (2013-02-24) [i386-linux]

 -- Control frame information 
-----------------------------------------------
 c:0003 p:---- s:0009 e:000008 CFUNC  :kill
 c:0002 p:0041 s:0004 E:001ffc EVAL   -e:3 [FINISH]
 c:0001 p:0000 s:0002 E:001d24 TOP    [FINISH]

 -e:3:in `<main>'
 -e:3:in `kill'

 -- C level backtrace information 
-------------------------------------------
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x175cc9) 
[0x519cc9] vm_dump.c:647
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x54aef) 
[0x3f8aef] error.c:283
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_bug+0x41) 
[0x3f8f01] error.c:302
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x10700d) 
[0x4ab00d] signal.c:649
 [0xd84410]
 [0xd84430]
 /lib/libc.so.6(kill+0x16) [0x8dcab6]
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_f_kill+0x66) 
[0x4abaa6] signal.c:424
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15ad6f) 
[0x4fed6f] vm_insnhelper.c:1294
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15f7d9) 
[0x5037d9] vm_insnhelper.c:1438
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x170eaf) 
[0x514eaf] vm_insnhelper.c:1528
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x16365c) 
[0x50765c] insns.def:1017
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x1691d4) 
[0x50d1d4] vm.c:1175
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_iseq_eval_main+0x8c) 
[0x50f11c] vm.c:1423
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x57ccc) 
[0x3fbccc] eval.c:250
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_exec_node+0x25) 
[0x3fd535] eval.c:315
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_run_node+0x31) 
[0x3feff1] eval.c:307
 /builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486b9] main.c:36
 /lib/libc.so.6(__libc_start_main+0xf3) [0x8c7963]
 /builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486e1] main.c:38

 -- Other runtime information 
-----------------------------------------------

 * Loaded script: -e

 * Loaded features:

 ".




[1] https://bugs.ruby-lang.org/issues/7521#note-7
=end
Posted by Vít Ondruch (vo_x)
on 2013-03-22 16:10
(Received via mailing list)
Issue #8144 has been updated by vo.x (Vit Ondruch).


naruse (Yui NARUSE) wrote:
> Try below:
>
>  while make TESTS='-vn test_segv_test ruby/test_rubyoptions.rb' test-all;do 
:;done

I gave it try, running *without* the patch for 2 hours and no luck to 
reproduce the original issue on my local machine, therefore there is no 
point to try the patch. Sorry :/


----------------------------------------
Bug #8144: test_segv_test(TestRubyOptions) test failure
https://bugs.ruby-lang.org/issues/8144#change-37827

Author: vo.x (Vit Ondruch)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby -v: ruby 2.0.0p0 (2013-02-24) [i386-linux]


=begin
After doing several successful builds [1], next build crashed suddenly 
with:

 test_segv_test(TestRubyOptions) 
[/builddir/build/BUILD/ruby-2.0.0-p0/test/ruby/test_rubyoptions.rb:513]:
 Expected /#<Bogus:/ to match "-e:3: [BUG] Segmentation fault\nruby 
2.0.0p0 (2013-02-24) [i386-linux]\n\n-- Control frame information 
-----------------------------------------------\nc:0003 p:---- s:0009 
e:000008 CFUNC  :kill\nc:0002 p:0041 s:0004 E:001ffc EVAL   -e:3 
[FINISH]\nc:0001 p:0000 s:0002 E:001d24 TOP    [FINISH]\n\n-e:3:in 
`<main>'\n-e:3:in `kill'\n\n-- C level backtrace information 
-------------------------------------------\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x175cc9) 
[0x519cc9] 
vm_dump.c:647\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x54aef) 
[0x3f8aef] 
error.c:283\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_bug+0x41) 
[0x3f8f01] 
error.c:302\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x10700d) 
[0x4ab00d] 
signal.c:649\n[0xd84410]\n[0xd84430]\n/lib/libc.so.6(kill+0x16) 
[0x8dcab6]\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_f_kill+0x66) 
[0x4abaa6] signal.c:424\n/builddir/build/BUILD/ruby-2.0.0-p0/
 libruby.so.2.0.0(+0x15ad6f) [0x4fed6f] 
vm_insnhelper.c:1294\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15f7d9) 
[0x5037d9] 
vm_insnhelper.c:1438\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x170eaf) 
[0x514eaf] 
vm_insnhelper.c:1528\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x16365c) 
[0x50765c] 
insns.def:1017\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x1691d4) 
[0x50d1d4] 
vm.c:1175\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_iseq_eval_main+0x8c) 
[0x50f11c] 
vm.c:1423\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x57ccc) 
[0x3fbccc] 
eval.c:250\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_exec_node+0x25) 
[0x3fd535] 
eval.c:315\n/builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_run_node+0x31) 
[0x3feff1] eval.c:307\n/builddir/build/BUILD/ruby-2.0.0-p0/ruby() 
[0x80486b9] main.c:36\n/lib/libc.so.6(__libc_start_main+0xf3) 
[0x8c7963]\n/builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486e1] 
main.c:
 38\n\n-- Other runtime information 
-----------------------------------------------\n\n* Loaded script: 
-e\n\n* Loaded features:\n\n".


In readable form:

 test_segv_test(TestRubyOptions) 
[/builddir/build/BUILD/ruby-2.0.0-p0/test/ruby/test_rubyoptions.rb:513]:
 Expected /#<Bogus:/ to match "-e:3: [BUG] Segmentation fault
 ruby 2.0.0p0 (2013-02-24) [i386-linux]

 -- Control frame information 
-----------------------------------------------
 c:0003 p:---- s:0009 e:000008 CFUNC  :kill
 c:0002 p:0041 s:0004 E:001ffc EVAL   -e:3 [FINISH]
 c:0001 p:0000 s:0002 E:001d24 TOP    [FINISH]

 -e:3:in `<main>'
 -e:3:in `kill'

 -- C level backtrace information 
-------------------------------------------
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x175cc9) 
[0x519cc9] vm_dump.c:647
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x54aef) 
[0x3f8aef] error.c:283
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_bug+0x41) 
[0x3f8f01] error.c:302
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x10700d) 
[0x4ab00d] signal.c:649
 [0xd84410]
 [0xd84430]
 /lib/libc.so.6(kill+0x16) [0x8dcab6]
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_f_kill+0x66) 
[0x4abaa6] signal.c:424
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15ad6f) 
[0x4fed6f] vm_insnhelper.c:1294
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x15f7d9) 
[0x5037d9] vm_insnhelper.c:1438
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x170eaf) 
[0x514eaf] vm_insnhelper.c:1528
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x16365c) 
[0x50765c] insns.def:1017
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x1691d4) 
[0x50d1d4] vm.c:1175
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(rb_iseq_eval_main+0x8c) 
[0x50f11c] vm.c:1423
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(+0x57ccc) 
[0x3fbccc] eval.c:250
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_exec_node+0x25) 
[0x3fd535] eval.c:315
 /builddir/build/BUILD/ruby-2.0.0-p0/libruby.so.2.0.0(ruby_run_node+0x31) 
[0x3feff1] eval.c:307
 /builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486b9] main.c:36
 /lib/libc.so.6(__libc_start_main+0xf3) [0x8c7963]
 /builddir/build/BUILD/ruby-2.0.0-p0/ruby() [0x80486e1] main.c:38

 -- Other runtime information 
-----------------------------------------------

 * Loaded script: -e

 * Loaded features:

 ".




[1] https://bugs.ruby-lang.org/issues/7521#note-7
=end
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.