develooper Front page | perl.perl5.porters | Postings from February 2018

Fwd: Re: [perl #132788] Blead Breaks CPAN:LEMBARK/Object-Trampoline-1.42.tar.gz

From:
demerphq
Date:
February 17, 2018 02:53
Subject:
Fwd: Re: [perl #132788] Blead Breaks CPAN:LEMBARK/Object-Trampoline-1.42.tar.gz
Message ID:
CANgJU+XAyz6N7JGO4xZX1ZmKBibhXSAUzi0XUd=dn8gnL0OzTw@mail.gmail.com
I accidentally sent this response only to Zefram.... Resend
---------- Forwarded message ----------
From: "demerphq" <demerphq@gmail.com>
Date: 16 Feb 2018 15:48
Subject: Re: [perl #132788] Blead Breaks CPAN:
LEMBARK/Object-Trampoline-1.42.tar.gz
To: "Zefram" <zefram@fysh.org>
Cc:


>
> On 30 Jan 2018 15:13, "Zefram" <zefram@fysh.org> wrote:
>
> slaven@rezic.de wrote:
> >The test t/03-Universal-Override.t in Object-Trampoline-1.42
> >fails with 5.27.7 and 5.27.8, and was OK until 5.27.6:
>
> Bisects to commit 915a6810d3e3198d759f025f85d1fd6f3171dd27 "Carp: optimize
> format_arg when arguments contain many references".  The issue is that
> the new Carp code in that commit refers to $UNIVERSAL::isa::VERSION, and
> so vivifies $UNIVERSAL::{"isa::"}.  The test iterates over %UNIVERSAL::,
> using each key found as a method name, and isn't prepared for there to
> be a key that doesn't syntactically behave as a method name.
>
> The test is erroneous in using all keys it finds as method names.
> It should skip ones that aren't syntactically OK.
>
> The edit to Carp is also arguably faulty.  In other areas Carp goes
> to significant effort to avoid vivifying stash entries that it doesn't
> intend to.  It should probably apply similar logic in this search for
> &UNIVERSAL::isa.
>
>
> I don't think such restrictions are tenable. They mean that in some cases
> you can use Carp to trigger c stack overflow and thus a segv. I will soon
> be pushing patches that fix this and they will almost certainly result in
> loading modules and modifying stash entries.
>
> It is unfortunate that so many critical functions and checks in Perl
> require namespace mutations, but that's how things work, and imo not
> touching other namespaces has a *much* lower priority than Carp working
> correctly and not segfaulting.
>
> Yves
>
>
>



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