Project

General

Profile

Actions

Bug #12462

closed

Segmentation fault hapen when calling Proc that has return

Added by yancya (Shinta Koyanagi) over 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
[ruby-core:75856]

Description

Hi.
Is this bug?

I execute it.

ruby -ve "def x; Proc.new { return 1 }.tap(&:call); end; p x"

Result is this.

ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
-e:1: [BUG] Segmentation fault at 0x000000000d011c
(snip)

[1]    57115 abort      ruby -ve "def x; Proc.new { return 1 }.tap(&:call); end; p x"

not working

  • ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
  • ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
  • ruby 2.4.0dev (2016-06-06 trunk 55293) [x86_64-darwin15]

working

  • ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-darwin14.4.0]
  • ruby 2.0.0p648 (2015-12-16 revision 53162) [x86_64-darwin15.5.0]
  • ruby 2.1.10p492 (2016-04-01 revision 54464) [x86_64-darwin15.0]
  • ruby 2.2.5p319 (2016-04-26 revision 54774) [x86_64-darwin15]
  • jruby 9.1.2.0 (2.3.0) 2016-05-26 7357c8f Java HotSpot(TM) 64-Bit Server VM 25.51-b03 on 1.8.0_51-b16 +jit [darwin-x86_64]

Files

bug-12462.log (5.77 KB) bug-12462.log nobu (Nobuyoshi Nakada), 06/06/2016 09:39 AM
Actions #1

Updated by nobu (Nobuyoshi Nakada) over 5 years ago

  • Status changed from Open to Closed

Applied in changeset r55297.


vm_insnhelper.c: check symbol proc to throw

  • vm_insnhelper.c (vm_throw_start): check if the iseq is symbol proc, class definition should not be a symbol proc. [ruby-core:75856] [Bug #12462]

Updated by nobu (Nobuyoshi Nakada) over 5 years ago

  • Backport changed from 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN to 2.1: DONTNEED, 2.2: DONTNEED, 2.3: REQUIRED
  • Description updated (diff)
  • File bug-12462.log bug-12462.log added

Updated by nagachika (Tomoyuki Chikanaga) about 5 years ago

  • Backport changed from 2.1: DONTNEED, 2.2: DONTNEED, 2.3: REQUIRED to 2.1: DONTNEED, 2.2: DONTNEED, 2.3: DONE

ruby_2_3 r55774 merged revision(s) 55297.

Actions

Also available in: Atom PDF