Re: Make mesage at end-of-recovery less scary. - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Make mesage at end-of-recovery less scary.
Date
Msg-id 20221122172027.x7utz4aaust5rsue@awork3.anarazel.de
Whole thread Raw
In response to Re: Make mesage at end-of-recovery less scary.  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
List pgsql-hackers
Hi,

On 2022-11-18 17:25:37 +0900, Kyotaro Horiguchi wrote:
> Just rebased.

Fails with address sanitizer:
https://cirrus-ci.com/task/5632986241564672

Unfortunately one of the failures is in pg_waldump and we don't seem to
capture its output in 011_crash_recovery. So we don't see the nice formattted
output...

[11:07:18.868] #0  0x00007fcf43803ce1 in raise () from /lib/x86_64-linux-gnu/libc.so.6
[11:07:18.912] 
[11:07:18.912] Thread 1 (Thread 0x7fcf43662780 (LWP 39124)):
[11:07:18.912] #0  0x00007fcf43803ce1 in raise () from /lib/x86_64-linux-gnu/libc.so.6
[11:07:18.912] No symbol table info available.
[11:07:18.912] #1  0x00007fcf437ed537 in abort () from /lib/x86_64-linux-gnu/libc.so.6
[11:07:18.912] No symbol table info available.
[11:07:18.912] #2  0x00007fcf43b8511b in __sanitizer::Abort () at
../../../../src/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp:155
[11:07:18.912] No locals.
[11:07:18.912] #3  0x00007fcf43b8fce8 in __sanitizer::Die () at
../../../../src/libsanitizer/sanitizer_common/sanitizer_termination.cpp:58
[11:07:18.912] No locals.
[11:07:18.912] #4  0x00007fcf43b7244c in __asan::ScopedInErrorReport::~ScopedInErrorReport (this=0x7ffd4fde18e6,
__in_chrg=<optimizedout>) at ../../../../src/libsanitizer/asan/asan_report.cpp:186
 
[11:07:18.912]         buffer_copy = {<__sanitizer::InternalMmapVectorNoCtor<char>> = {data_ = 0x7fcf40350000 '='
<repeats65 times>, "\n==39124==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x625000002100 at pc
0x55c36c21e315bp 0x7ffd4fde2550 sp 0x7ffd4fde2"..., capacity_bytes_ = 65536, size_ = <optimized out>}, <No data
fields>}
...
[11:07:18.912] #6  0x00007fcf43b72788 in __asan::__asan_report_load1 (addr=<optimized out>) at
../../../../src/libsanitizer/asan/asan_rtl.cpp:117
[11:07:18.912]         bp = 140725943412048
[11:07:18.912]         pc = <optimized out>
[11:07:18.912]         local_stack = 140528180793728
[11:07:18.912]         sp = 140725943412040
[11:07:18.912] #7  0x000055c36c21e315 in ValidXLogRecordLength (state=state@entry=0x61a000000680,
RecPtr=RecPtr@entry=33655480,record=record@entry=0x625000000bb8) at xlogreader.c:1126
 
[11:07:18.912]         p = <optimized out>
[11:07:18.912]         pe = 0x625000002100 ""
[11:07:18.912] #8  0x000055c36c21e3b1 in ValidXLogRecordHeader (state=state@entry=0x61a000000680,
RecPtr=RecPtr@entry=33655480,PrevRecPtr=33655104, record=record@entry=0x625000000bb8,
randAccess=randAccess@entry=false)at xlogreader.c:1169
 
[11:07:18.912] No locals.

The  most important bit is "AddressSanitizer: heap-buffer-overflow on address 0x6250000\
02100 at pc 0x55c36c21e315 bp 0x7ffd4fde2550 sp 0x7ffd4fde2"

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Allow single table VACUUM in transaction block
Next
From: Andres Freund
Date:
Subject: Re: [PATCH] Const'ify the arguments of ilist.c/ilist.h functions