Skip Menu |

This queue is for tickets about the Sub-Name CPAN distribution.

Report information
The Basics
Id: 125159
Status: open
Priority: 0/
Queue: Sub-Name

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in:
  • 0.24-TRIAL
  • 0.25-TRIAL
  • 0.26
Fixed in: (no value)



Subject: t/lexical.t may segfault (0.24-TRIAL)
On some smokers (actually only perl 5.20.x, various OS) lexical.t may segfault: ... t/lexical.t ............ All 2 subtests passed ... Test Summary Report ------------------- t/lexical.t (Wstat: 11 Tests: 2 Failed: 0) Non-zero wait status: 11 ...
On 2018-04-21 05:28:36, SREZIC wrote: Show quoted text
> On some smokers (actually only perl 5.20.x, various OS) lexical.t may > segfault: > > ... > t/lexical.t ............ > All 2 subtests passed > ... > Test Summary Report > ------------------- > t/lexical.t (Wstat: 11 Tests: 2 Failed: 0) > Non-zero wait status: 11 > ...
Strange. The segfault happens if the test suite runs within the CPAN.pm shell (i.e. with /opt/perl-5.20.3D/bin/cpan -t ETHER/Sub-Name-0.24-TRIAL.tar.gz ), but I cannot reproduce it anymore if doing a "make test" in the build directory.
On 2018-04-21 05:38:36, SREZIC wrote: Show quoted text
> On 2018-04-21 05:28:36, SREZIC wrote:
> > On some smokers (actually only perl 5.20.x, various OS) lexical.t may > > segfault: > > > > ... > > t/lexical.t ............ > > All 2 subtests passed > > ... > > Test Summary Report > > ------------------- > > t/lexical.t (Wstat: 11 Tests: 2 Failed: 0) > > Non-zero wait status: 11 > > ...
> > Strange. The segfault happens if the test suite runs within the > CPAN.pm shell (i.e. with /opt/perl-5.20.3D/bin/cpan -t ETHER/Sub-Name- > 0.24-TRIAL.tar.gz ), but I cannot reproduce it anymore if doing a > "make test" in the build directory.
A backtrace from the core dump, but does not look very helpful: (gdb) bt #0 0x00000000004aec4c in Perl_sv_clear () #1 0x00000000004af4ef in Perl_sv_free2 () #2 0x00000000004a7132 in S_visit () #3 0x00000000004af8fc in Perl_sv_clean_objs () #4 0x00000000004378d8 in perl_destruct () #5 0x000000000041de64 in main ()
The proper fix here will most likely be to have subname refuse to name lexical subs on perl 5.18 and 5.20. As far as I know it isn't possible to name lexical subs on those versions, but we still shouldn't be segfaulting.