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
Core dump on process exit / tie %SIG #8485
Comments
From jgmyers@proofpoint.comCreated by jgmyers@proofpoint.comThe following test program causes perl to dereference a null pointer #0 0x080e4e1c in Perl_pp_helem (my_perl=0x81ab008) at pp_hot.c:1727 The test case is extremely fiddly: it must be invoked with 3 arguments The key trigger of the bug is probably the use of tie on %SIG. I need The test case consists of two files, since I wasn't able to reduce one ---- bug.pl a a a use lib '/doesntmatter'; use warnings; package sigfilter; sub TIEHASH { sub FETCH { sub STORE { sub DELETE { sub CLEAR { sub EXISTS { sub DESTROY { package foo; sub init { eval 'package foosubpack; sub aaa { } my $bbb = { ccc => [], };' } package barparent; sub init {} package bar; sub init { $self->SUPER::init(); package main; # routines called for initialization/processing init(1); --- test2.pm package DBI; use DynaLoader (); BEGIN { use strict; { tie %DBI::DBI => 'DBI::DBI_tie'; 1; Perl Info
|
From jgmyers@proofpoint.comInstrumenting Perl a bit more, I have found the following: In runs that dump core, %SIG is destructed before package DBI. In runs Package DBI indirectly pulls in AutoLoader, which has code: eval { local $SIG{__DIE__}; require $filename }; In runs that don't dump core, some PERL_MAGIC_tiedelem objects with a |
From @rgarciaOn 17/06/06, John Myers <jgmyers@proofpoint.com> wrote:
What is the method that is autoloaded ? DESTROY() is supposed to be By the way, why is there an override of $SIG{__DIE__} here, since |
The RT System itself - Status changed from 'new' to 'open' |
p5p@spam.wizbit.be - Status changed from 'open' to 'stalled' |
Migrated from rt.perl.org#39504 (status was 'stalled')
Searchable as RT39504$
The text was updated successfully, but these errors were encountered: