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
Bleadperl v5.27.1-66-g87058c31e9 breaks TONYC/Imager-1.005.tar.gz #16121
Comments
From @andkAffected are -DDEBUGGING builds only. bisect commit 87058c3 add PL_curstackinfo->si_stack_hwm other distros also affected SHLOMIF/Math-Cephes-0.5305.tar.gz cpantesters report http://www.cpantesters.org/cpan/report/5156c90c-69c1-11e7-b361-273c01f1587f perl -V Summary of my perl5 (revision 5 version 27 subversion 2) configuration: Characteristics of this binary (from libperl): |
From @tonycozOn Sun, 20 Aug 2017 22:56:20 -0700, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
The Imager failure is a bug in Imager - i_errors() isn't extending the stack. Tony |
The RT System itself - Status changed from 'new' to 'open' |
From @jkeenanOn Mon, 21 Aug 2017 05:56:20 GMT, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
Examples of failures: ##### Test Summary Report t/elliptics.t (Wstat: 65280 Tests: 5 Failed: 0) -- |
From @iabynOn Sun, Aug 20, 2017 at 10:56:21PM -0700, Andreas J. Koenig via RT wrote:
At least one failure here is due to XS(_wrap_ellpj) trying to repeatedly -- |
From @iabynOn Sun, Aug 20, 2017 at 10:56:21PM -0700, Andreas J. Koenig via RT wrote:
In _wrap_gsl_fit_linear(), repeatedly doing EXTEND(sp,1); but since sp isn't being advanced at the same time as argvi, the
This XS code has: EXTEND(sp, 3); /* Got cv + 0, return 4. */ which, despite the code comment, only extends the stack by 3, not 4.
This XS module, in product(), returns lots of values without ever
list_dictionaries() pushes a bunch of items on the stack without -- |
From @jkeenanOn Wed, 23 Aug 2017 12:06:09 GMT, davem wrote:
So, does this fall into the category of "Recent commit to blead exposes sub-optimal code in CPAN distros"? If so, is there some stock language we can include in rt.cpan.org tickets (or github issues) to point the distro maintainers in the right direction? Thank you very much. |
From @iabynOn Wed, Aug 23, 2017 at 10:11:37AM -0700, James E Keenan via RT wrote:
More specifically, a new feature added to DEBUGGING builds of bleadperl
Since 5.27.2, DEBUGGING builds of perl will check whether the number of panic: previous op failed to extend arg stack: where the 3 hexadecimal values represent: * the address of the base of the stack; In the example above, one more 8-byte pointer has been pushed onto the For XS code, the op just executed is likely to be entersub, which will From the limited experience of XS modules so far known to have broken, the * simply pushing return values without extending, e.g. using several * doing EXTEND(n) then more than n PUSHs()s; * doing something like: while (...) { which only ever extends the stack by one slot, since SP isn't -- |
From @tonycozOn Sun, 20 Aug 2017 22:56:20 -0700, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
https://rt.cpan.org/Ticket/Display.html?id=122912
https://rt.cpan.org/Ticket/Display.html?id=122911 These two use SWIG, from looking at the generated code I suspect this is a SWIG bug.
memUsage() pushes 4 items after doing EXTEND(SP, 3);. The code void which seems broken to me.
product() doesn't extend the stack at all. https://rt.cpan.org/Ticket/Display.html?id=122909
list_dictionaries() was naughty here. https://rt.cpan.org/Ticket/Display.html?id=122910 I detected which functions were misbehaving using my change from 131975. Tony |
From @iabynOn Sun, Aug 27, 2017 at 10:30:05PM -0700, Tony Cook via RT wrote:
Since the change in perl was simply that under DEBUGGING builds, XS modules Since I propose this ticket is closed, or failing that, removed from 5.28 -- |
From @xsawyerxOn 04/19/2018 11:14 PM, Dave Mitchell wrote:
More than reasonable. I second removing this from 5.28 and closing. |
@iabyn - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#131938 (status was 'resolved')
Searchable as RT131938$
The text was updated successfully, but these errors were encountered: