Bug #11954
closed"self has wrong type to call super in this context" under weird circumstances
Description
See attached file snafu.rb.
This file was obtained by inlining and reducing a large codebase...
Files
Updated by splattael (Peter Leitzen) almost 9 years ago
I can reproduce this bug on 2.3.0 and was able to reduce the broken code even more increasing the amount of iterations:
Updated by shugo (Shugo Maeda) almost 9 years ago
- File invoke_bmethod.diff invoke_bmethod.diff added
- Status changed from Open to Assigned
- Assignee set to ko1 (Koichi Sasada)
The bug was introduced in r52104 by ko1, and it seems to be fixed by the attached patch, but Im' not sure.
Updated by ko1 (Koichi Sasada) over 8 years ago
Shugo-san, thank you for your investigating.
It seems perfect.
Could you commit it? or should I commit it?
Thanks,
Koichi
Updated by fcheung (Frederick Cheung) over 8 years ago
Koichi Sasada wrote:
Shugo-san, thank you for your investigating.
It seems perfect.
Could you commit it? or should I commit it?
Was this ever committed/backported ? I've encountered this in real world usage with 2.3.1, and Peter's reproduction script continues to show the issue (although I had to increase iteration count to get consistent failure)
Updated by shugo (Shugo Maeda) over 8 years ago
- Assignee changed from ko1 (Koichi Sasada) to shugo (Shugo Maeda)
I missed ko1's comment. I'll commit it later.
Updated by shugo (Shugo Maeda) over 8 years ago
- Status changed from Assigned to Closed
Applied in changeset r55462.
- vm.c (invoke_bmethod, invoke_block_from_c_0): revert r52104
partially to avoid "self has wrong type to call super in this
context" errors.
[ruby-core:72724] [Bug #11954]
Updated by shugo (Shugo Maeda) over 8 years ago
- Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONTNEED, 2.3: REQUIRED
Updated by nagachika (Tomoyuki Chikanaga) over 8 years ago
- Backport changed from 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONTNEED, 2.3: REQUIRED to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONTNEED, 2.3: DONE
ruby_2_3 r55560 merged revision(s) 55462.