There is a bug in perl that has been around for very long:
sub f { $_[0] = 1; $_[0] = "a"; $_[0] = *FOO }
my @a; f($a[0]);
It is consensus among the porters that fixing it in a proper way will require a new internal type: an lvalue-type that
is large enough to even hold a glob. Out of curiosity I tried to see whether I can possibly fix it. I now see an interesting
evolution in my attempts.
In the unfixed state, you get Can't upgrade that kind of scalar...
. After the first stage, I was able to shift the error to segmentation fault
. I have now improved it to Out of memory!
. :-)
Re:think big
ethan on 2004-02-12T11:11:40
I haven't yet figured out how to do that. I guess that makes debugging a pleasure when - just before the usual backtrace would appear - your system reboots. Ah, what a bad luck.:-)
Meanwhile I was able to get rid of the out of memory thing (caused by a reidiculously high xlv_targlen value). After a while however you get to like such errors. Now I no longer get any errors but instead always getundef
after assigning the glob. This is much harder to track down as I wont get any nice backtracks.
Btw, Jarkko, you seem to have taken a break from the porters lately. Making holidays? How irresponsible that would be of you considering that others now have to do all the work!;-) Re:think big
jhi on 2004-02-12T21:04:39
> I haven't yet figured out how to do that.
That reboot was very system specific, take a look at README.irix.
> Btw, Jarkko, you seem to have taken a break from the porters
> lately. Making holidays?
More like retirement.
> How irresponsible that would be of you considering that others now have to do all the work!;-)
I have to let others to have fun, too.