develooper Front page | perl.perl5.porters | Postings from January 2022

Re: Broken stack traces from use statements.

Thread Previous | Thread Next
January 15, 2022 02:33
Re: Broken stack traces from use statements.
Message ID:
On Sat, 15 Jan 2022, 00:45 Leon Timmermans, <> wrote:

> On Fri, Jan 14, 2022 at 4:59 PM Ovid <> wrote:
>> On Friday, 14 January 2022, 15:54:27 CET, Leon Timmermans <
>>> wrote:
>> > > But those assumptions are basically broken, so I'm not sure your
>> point. Classic case of GIGO.
>> >
>> > It's not broken if it gets the job done, is it?
>> > I agree with you that the new behavior is far more usable than the
>> older behavior, but that doesn't
>> > mean people haven't put the old behavior to use.
>> I think the old behavior kind of worked because generally, stack traces
>> work. It appears to be the use/require case which is problematic.
>> However, in the use/require case, if the apparently pseudo-random
>> ordering is deterministic, on my machine the first stack frame grabbed
>> happens to be correct. If that holds (pretty sure it must), then for the
>> 'import' case where you're trying to figure out where you're exporting to,
>> you're going to export those functions to the right spot. It's when you hit
>> stack traces that it becomes an unusable mess.
>> As it stands:
>> * The stack trace is clearly incorrect
>> * That makes it useless for debugging
>> * When you're working on a *huge* system and get those traces, it's
>> miserable
>> Given that, I suspect the most useful discussions are about *how* to fix
>> it and/or *when* to fix it.
> "How to fix it" probably includes people stepping up to deal with the
> fallout. IME the most useful thing proponents of this change could do is
> actually write patches for the 3 known affected modules. I don't really
> understand how that hasn't happened yet in the past two years.

I think there is a feeling that this is just like people baking a
dependency on hash order into their tests. All I saw on this subject was
people  claiming the obviously broken behavior was "correct" and they
wouldn't accept that the change had a reasonable foundation. I disengaged
after people started arguing that the stack trace claiming things were used
on lines where they clearly weren't was correct and reasonable. There is to
much to do in life than to argue with people who vehemently insist that up
is down. Furthermore I didn't see anybody demonstrate a logical issue that
was clearly a problem, just broken and badly designed tests.

Anyway I'll find some time to dig into the DBIx part, but I don't know what
the other two are. If you do it would save me some time digging through the
email backlogs.



Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About