[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lmi] [lmi-commits] odd/eraseme_error 69d06e9 10/10: Attempt to find
From: |
Greg Chicares |
Subject: |
Re: [lmi] [lmi-commits] odd/eraseme_error 69d06e9 10/10: Attempt to find a problem |
Date: |
Wed, 7 Jul 2021 11:52:14 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
On 2021-07-07 11:17, Vadim Zeitlin wrote:
> On Wed, 7 Jul 2021 06:22:15 -0400 (EDT) Greg Chicares
> <gchicares@sbcglobal.net> wrote:
>
> GC> branch: odd/eraseme_error
[...]
> GC> Attempt to find a problem
[...]
> Is this hang reproducible? If so, I could try debugging it.
It's caused by a NaN. I just found that out and was going to
post a message saying you needn't waste your time on it, but
your were quicker than me.
It is reproducible, even with a different version of 'wine'.
> Generally speaking, the best technique for debugging problems under Wine
> [...snip...]
That never worked well for me. In this case, I looked back
at the most recent commits and correctly guessed which one
caused the problem. Printing the relevant values on an
implicitly impossible path reveals the NaN infestation:
if(x < y) foo(); else bar(); // old code that always worked
if(y <= x) bar(); else foo(); // failing replacement
// altered replacement that exposes NaNs:
if(y <= x)
bar()
else if(x < y)
foo()
else // "impossible", modulo NaN
print_values_to_detect_NaNs(); // NaNs detected!