New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Attempting to use unimplemented operator on Rakudo invokes OOM killer #3710
Comments
From @drforrOS: Ubuntu Linux 14.04 LTS rakudo build 67a75c1e1d9ed99326b7e426eea3cd969dba35ea, Sat Feb 28 I'm running rakudo directly from its git repository, not a system binary The code below invokes the OOM killer on Ubuntu 14.04 consistently. I've enclosed the last few lines from 'strace -olog.txt ./perl6 foo.t' --cut here-- multi method new(Real \re, Real \j) { constant j = Polar.new(0e0, 1e0); use v6; print 'ok '; say 1 + j; # Deliberately invoking undefined operator. --cut here-- |
From @MouqThe issue seems to be the "does Numeric". Thus this can be golfed to: perl6 -e'class RT123957 does Numeric {}; 1 + RT123957.new' This happens because &[+] calls Numeric on arguments it doesn't know how to add and tries to add those things. Since RT123957 does Numeric, RT123957.new.Numeric yields RT123957.new. &[+] still doesn't know how to add that and calls Numeric on it again, which yeilds RT123957.new, and so on… One solution might be to complain if and only if the classes are both *already* Numeric, but no candidate can be found to add them with. On Sun Mar 01 02:54:11 2015, drforr@pobox.com wrote:
|
The RT System itself - Status changed from 'new' to 'open' |
From @drforrOn 2015-03-01 23:55, Alexander Moquin via RT wrote:
Actually, perl6 -e'1 + Numeric.new' is all that's needed to reproduce the crashing bug. My only concern is |
Migrated from rt.perl.org#123957 (status was 'open')
Searchable as RT123957$
The text was updated successfully, but these errors were encountered: