develooper Front page | perl.perl5.porters | Postings from July 2016

[perl #128597] SEGV caused by isLEXWARN_off while PL_curcop isNULL(gp_free vs dounwind).

Thread Previous | Thread Next
From:
Father Chrysostomos via RT
Date:
July 11, 2016 22:23
Subject:
[perl #128597] SEGV caused by isLEXWARN_off while PL_curcop isNULL(gp_free vs dounwind).
Message ID:
rt-4.0.18-5198-1468275765-1080.128597-15-0@perl.org
On Mon Jul 11 13:15:13 2016, zefram@fysh.org wrote:
> Father Chrysostomos via RT wrote:
> >I suspect any warning that can happen during freeing could result in
> >a similar crash.  (Are there any other such warnings?)
> 
> Good question.

I do not see any other warnings (in [shag].c and pad.c) except things that indicate internal inconsistency, such as ‘Attempt to free unreferenced glob pointers’.

> I'd also like to question why the I/O closure warning
> is being checked against the lexical warning flags of a place that is no
> longer executing and doesn't have any real connection to the I/O handle.

This is one of the inherent problems with trying to warn during scope exit.  Which scope is active?  In this particular case, no scope is active, so $^W applies.

This is one reason why

    use warnings FATAL => 'io::whatever';

is not a reliable way to fatalise this warning, though people have requested such a feature.

I don’t know the solution to that particular problem.

-- 

Father Chrysostomos


---
via perlbug:  queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=128597

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About