From: mcarpenter@... Date: 2015-04-07T21:39:44+00:00 Subject: [ruby-core:68791] [Ruby trunk - Bug #11047] SEGV in ruby_yyparse Issue #11047 has been updated by Martin Carpenter. ps. originally discovered under 2.1.5 ---------------------------------------- Bug #11047: SEGV in ruby_yyparse https://bugs.ruby-lang.org/issues/11047#change-52062 * Author: Martin Carpenter * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.2.2p88 (2015-03-25 revision 50085) [x86_64-linux] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- Hello, Please find attached half a dozen test cases that cause the ruby parser (either in a script or via `eval` as below) to throw a segmentation violation due to stack corruption. Using 2.2-head on Ubuntu 14.04. To reproduce: ruby -e 'eval STDIN.read' < input_file Expected result: "Syntax error" or similar. Backtrace: All backtraces point only to `ruby_yyparse()` and I have not dug deeper: /home/martin/.rvm/rubies/ruby-2.2-head/lib/libruby.so.2.2(rb_vm_bugreport+0x51f) [0x7f5e164af7ff] vm_dump.c:693 /home/martin/.rvm/rubies/ruby-2.2-head/lib/libruby.so.2.2(rb_bug_context+0xcb) [0x7f5e1634390b] error.c:425 /home/martin/.rvm/rubies/ruby-2.2-head/lib/libruby.so.2.2(sigsegv+0x3e) [0x7f5e1642305e] signal.c:879 /lib/x86_64-linux-gnu/libc.so.6 [0x7f5e15f35d40] /home/martin/.rvm/rubies/ruby-2.2-head/lib/libruby.so.2.2(ruby_yyparse+0x77d4) [0x7f5e163ca714] parse.y:2103 /home/martin/.rvm/rubies/ruby-2.2-head/lib/libruby.so.2.2(yycompile0+0xef) [0x7f5e163d2e0f] parse.y:5514 /home/martin/.rvm/rubies/ruby-2.2-head/lib/libruby.so.2.2(rb_suppress_tracing+0xf7) [0x7f5e164b4de7] vm_trace.c:406 /home/martin/.rvm/rubies/ruby-2.2-head/lib/libruby.so.2.2(rb_parser_compile_file_path+0xa5) [0x7f5e163c2105] parse.y:5547 /home/martin/.rvm/rubies/ruby-2.2-head/lib/libruby.so.2.2(load_file_internal2+0xc5) [0x7f5e16421255] ruby.c:1655 /home/martin/.rvm/rubies/ruby-2.2-head/lib/libruby.so.2.2(rb_protect+0x100) [0x7f5e1634be40] eval.c:876 /home/martin/.rvm/rubies/ruby-2.2-head/lib/libruby.so.2.2(load_file_internal+0xd2) [0x7f5e1641ef02] ruby.c:1709 /home/martin/.rvm/rubies/ruby-2.2-head/lib/libruby.so.2.2(rb_ensure+0xb8) [0x7f5e1634c068] eval.c:907 /home/martin/.rvm/rubies/ruby-2.2-head/lib/libruby.so.2.2(process_options+0x9e1) [0x7f5e164223d1] ruby.c:1751 /home/martin/.rvm/rubies/ruby-2.2-head/lib/libruby.so.2.2(ruby_process_options+0xe8) [0x7f5e16422968] ruby.c:1966 /home/martin/.rvm/rubies/ruby-2.2-head/lib/libruby.so.2.2(ruby_options+0xb2) [0x7f5e1634d482] eval.c:100 /home/martin/.rvm/rubies/ruby-2.2-head/bin/ruby(main+0x43) [0x400883] main.c:36 ---Files-------------------------------- crashes.tar.gz (387 Bytes) -- https://bugs.ruby-lang.org/