Actions
Bug #13578
closedAnother iseq_set_sequence: adjust bug
Description
This seems to be related to #12613
#!/usr/bin/env ruby -w
def process_defn
if true then
# nothing needed here
else
if true then
case 42
when 42 then
return 42 # BOOM
when s { 42 } then
# nothing needed here
end
end
end
return 42
end
causes:
wtf.rb:10: [BUG] iseq_set_sequence: adjust bug -2 < 0
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]
I just built and installed 2.4.1 and it is still there. Also repros in 2.4.0. 2.3 and below seem fine.
Updated by zenspider (Ryan Davis) over 7 years ago
Further reduced via IRC:
def process_defn
if false
case 42
when s {} then
when 42 then
return
end
end
return
end
Updated by nobu (Nobuyoshi Nakada) over 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: DONTNEED, 2.4: REQUIRED
Updated by zenspider (Ryan Davis) over 7 years ago
Thank you. While your test code does NOT repro under 2.4.1p111, it does under trunk. I've verified that this and my original code all compile fine under latest trunk.
Updated by nagachika (Tomoyuki Chikanaga) over 7 years ago
- Backport changed from 2.2: DONTNEED, 2.3: DONTNEED, 2.4: REQUIRED to 2.2: DONTNEED, 2.3: DONTNEED, 2.4: DONE
ruby_2_4 r59514 merged revision(s) 58810,58894.
Actions
Like0
Like0Like0Like0Like0