Project

General

Profile

Actions

Bug #13238

closed

string.c assertion fails after attempting to modify singleton class of a frozen string

Added by owst (Owen Stephens) about 7 years ago. Updated about 7 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin14]
[ruby-core:79638]

Description

Hi,

The following code causes an assertion failure in 2.3.3. Create two files, bug.rb and not_frozen.rb:

bug.rb:

s = 'abc'.freeze

def s.something; end rescue nil

require_relative 'not_frozen'

not_frozen.rb:

'abc'

And then run ruby bug.rb

The output is:

Assertion failed: (RBASIC_CLASS(ret) == rb_cString), function register_fstring, file string.c, line 327.

Searching for the error message I see that this exact issue (#12923) has been fixed for Ruby 2.4.0 - please can this fix be back-ported to Ruby 2.3?

Thanks,
Owen.

Updated by nobu (Nobuyoshi Nakada) about 7 years ago

  • Status changed from Open to Closed
  • Backport changed from 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN to 2.2: DONTNEED, 2.3: REQUIRED, 2.4: DONTNEED

Updated by nagachika (Tomoyuki Chikanaga) about 7 years ago

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

ruby_2_3 r58157 merged revision(s) 56747,56754,56777.

Actions

Also available in: Atom PDF

Like0
Like0Like0