Kamil Dudka wrote:
> Yes, the `ASSERT (msg3 == msg4 || STREQ (msg3, str3))` check is failing here:
> 
>     
> https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=tests/test-strerror_r.c;h=b11d6fd9#l170

The ASSERT means "either msg3 has been clobbered by the strerror (1729576)
call, or it has been left unmodified". If it fails, something is happening
that we don't understand.

Can you, in an interactive gdb session, set a hardware watchpoint on the
value of msg3?

One of these lines must modify its contents. The question is: where?

    msg4 = strerror (1729576);
    ASSERT (msg4);
    str4 = strdup (msg4);
    ASSERT (str4);

    strerror_r (EACCES, buf, sizeof buf);
    strerror_r (-5, buf, sizeof buf);

Bruno


Reply via email to