Subject: | Can't undef active subroutine, Attempt to free unreferenced scalar |
Hi
Instead of recursion of depth 3, I got this error and warnings
$ perl -MList::MoreUtils=all -E 'sub r{all{$_>3 or r(1+$_)}@_;} r(1,1)'
Can't undef active subroutine at -e line 1.
Attempt to free unreferenced scalar: SV 0x96b3798, Perl interpreter:
0x9631008 at -e line 1.
Attempt to free unreferenced scalar: SV 0x96b3798, Perl interpreter:
0x9631008 at -e line 1.
Attempt to free unreferenced scalar: SV 0x96b3798, Perl interpreter:
0x9631008 at -e line 1.
Instead of infinite recursion, I got segmentation fault
$ perl -MList::MoreUtils=all -E 'sub r{all{$_>3 or r($_)}@_;} r(1,1)'
Segmentation fault
I found these errors when trying to debug more complicated code which
failed with:
Not a subroutine reference at ...
Attempt to free unreferenced scalar: SV 0x96b3798, Perl interpreter:
0x9631008 at ...
However, I was not able to find a minimal case which would reproduce the
"Not a subroutine reference" error.
All these errors concern only the XS version. When I try the pure Perl
version (export LIST_MOREUTILS_PP=1), everything goes fine.