Strange error in new 003_cic_2pc.pl test - Mailing list pgsql-hackers

From Tom Lane
Subject Strange error in new 003_cic_2pc.pl test
Date
Msg-id 1552982.1636646784@sss.pgh.pa.us
Whole thread Raw
Responses Re: Strange error in new 003_cic_2pc.pl test
List pgsql-hackers
tadarida just reported this [1]:

2021-11-11 14:40:40.040 CET [29620:388] 023_cic_2pc.pl ERROR:  could not read two-phase state from WAL at 0/1716C68

That error message is remarkably unhelpful, and I think unnecessarily so.
Why the heck isn't XlogReadTwoPhaseData passing on the error string
that it just got from XLogReadRecord?

Now, XLogReadRecord's API spec does say it might return NULL errormsg
if "the page read callback already reported the error".  But there's
no sign of that in tadarida's log.  Anyway, I have in mind to do

        ereport(ERROR,
                (errcode_for_file_access(),
-                errmsg("could not read two-phase state from WAL at %X/%X",
-                       LSN_FORMAT_ARGS(lsn))));
+                errmsg("could not read two-phase state from WAL at %X/%X: %s",
+                       LSN_FORMAT_ARGS(lsn),
+                       errormsg ? errormsg : "(no details available)")));

But first, I'm going to look around for other XLogReadRecord
callers that might be equally slipshod.

(Identifying the actual underlying bug, if there is one, is a different
problem.  This test being so new, I'd not be surprised if it is showing
us a real-but-intermittent issue.  But perhaps fixing this error report
will yield more info.)

            regards, tom lane

[1] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=tadarida&dt=2021-11-11%2013%3A29%3A58



pgsql-hackers by date:

Previous
From: "Bossart, Nathan"
Date:
Subject: Re: Improving psql's \password command
Next
From: Tom Lane
Date:
Subject: Re: Improving psql's \password command