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
false positive of stack extending check with empty arrays #16076
Comments
From lorenz@math.tu-berlin.deCreated by lorenz@math.tu-berlin.deUsing an implicit return with two empty arrays triggers panic of the stack extending check introduced in: commit 87058c3 Reduced testcase: $ /store/borel/lorenz/prefixes/perlblead/bin/perl -e 'sub test { my @x; (@x,@x); }; test();' Adding an explicit return or using the returned value in a print works fine: Perl Info
|
From @jkeenanOn Mon, 10 Jul 2017 14:51:16 GMT, lorenz@math.tu-berlin.de wrote:
I am unable to reproduce this in perl 5 blead (commit 3072e75) on either Ubuntu Linux 16.04 LTS or FreeBSD-10.3-RELEASE-p1.
Example on FreeBSD-10.1: ##### No evidence of panic. Thank you very much. |
The RT System itself - Status changed from 'new' to 'open' |
From @jkeenanOn Mon, 10 Jul 2017 20:41:41 GMT, jkeenan wrote:
Update: This *does* panic under a debugging build. (I previously reported results from my default configurations on both OSes.) Example on Linux: ##### $ make test_prep $./perl -Ilib -e 'sub test { my @x; return (@x,@x); }; test();' $./perl -Ilib -e 'sub test { my @x; (@x,@x); }; print test();' $./perl -Ilib -e 'sub test { my @x; (@x,@x); }; test();' Similar results in debugging build on FreeBSD-10.3: ##### Thank you very much. -- |
From @timbunceLooks like DBI also fails some tests on 5.27.2 with -DDEBUGGING: http://www.cpantesters.org/cpan/report/c5d1a148-69b3-11e7-b609-ee2501f1587f On 10 July 2017 at 15:51, via RT <perlbug-followup@perl.org> wrote:
|
From @arcThis reduces to: $ ./miniperl -e 'my @x; @x; ()' This isn't in fact a false positive: a scalar- or void-context pp_list will always yield exactly one stack result, even if (as here) there are no arguments on the stack because the input array was empty. It must therefore extend the stack to account for its result. Fixed in b54564c -- |
@arc - Status changed from 'open' to 'resolved' |
From @iabynOn Sun, Jul 16, 2017 at 03:46:06PM +0100, Tim Bunce wrote:
Now fixed in blead with: commit 978b185 PL_curstackinfo->si_stack_hwm: gently restore -- |
Migrated from rt.perl.org#131732 (status was 'resolved')
Searchable as RT131732$
The text was updated successfully, but these errors were encountered: