Thread: BUG #13822: Slave terminated - WAL contains references to invalid page

BUG #13822: Slave terminated - WAL contains references to invalid page

From
marek.petr@tieto.com
Date:
The following bug has been logged on the website:

Bug reference:      13822
Logged by:          Marek Petr
Email address:      marek.petr@tieto.com
PostgreSQL version: 9.4.5
Operating system:   RHEL6_x86_64
Description:

Several days after one in-place and one out of place upgrade from 9.3 to 9.4
version following event occured on both  environments:

2015-12-15 22:35:18 CET @ WARNING: page 4119662 of relation base/16422/18134
is uninitialized
2015-12-15 22:35:18 CET @ CONTEXT: xlog redo visible: rel 1663/16422/18134;
blk 4119662
2015-12-15 22:35:18 CET @ PANIC: WAL contains references to invalid pages
2015-12-15 22:35:18 CET @ CONTEXT: xlog redo visible: rel 1663/16422/18134;
blk 4119662
2015-12-15 22:35:18 CET @ LOG: startup process (PID 22269) was terminated by
signal 6: Aborted
2015-12-15 22:35:18 CET @ LOG: terminating any other active server process

Once it was TOAST and another regular table.

Re: BUG #13822: Slave terminated - WAL contains references to invalid page

From
Michael Paquier
Date:
On Thu, Dec 17, 2015 at 9:50 PM,  <marek.petr@tieto.com> wrote:
> Several days after one in-place and one out of place upgrade from 9.3 to 9.4
> version following event occured on both  environments:
>
> 2015-12-15 22:35:18 CET @ WARNING: page 4119662 of relation base/16422/18134
> is uninitialized
> 2015-12-15 22:35:18 CET @ CONTEXT: xlog redo visible: rel 1663/16422/18134;
> blk 4119662
> 2015-12-15 22:35:18 CET @ PANIC: WAL contains references to invalid pages
> 2015-12-15 22:35:18 CET @ CONTEXT: xlog redo visible: rel 1663/16422/18134;
> blk 4119662
> 2015-12-15 22:35:18 CET @ LOG: startup process (PID 22269) was terminated by
> signal 6: Aborted
> 2015-12-15 22:35:18 CET @ LOG: terminating any other active server process
>
> Once it was TOAST and another regular table.

This is the indication of some data corruption, page 4119662 referring
to at least a size of 31GB, but this so less information it is hard to
guess what could happen. Is 31GB more or less the size of this
relation? If you deploy a slave from a fresh base backup, do you still
see the error? That's unlikely so if it is the second time you are
seeing this problem, but it may be a problem of corruption within the
WAL segments themselves.
--
Michael
SGVsbG8sDQoNClllcywgIHRoYXQgcmVsYXRpb24geW91J3JlIGFza2luZyBoYXMgY3VycmVudGx5
IDM5R0IuIFNsYXZlIHJlYnVpbGQgaGVscGVkIGJ1dCBpbiBvdGhlciBlbnZpcm9ubWVudCBpdCBv
Y2N1cmVkIGFnYWluIGV2ZW4gYWZ0ZXIgdGhlIHJlYnVpbGQuDQpGb2xsb3dpbmcgdHdvIG9jY3Vy
ZW5jZXMgYXJlIGZyb20gZGlmZmVyZW50IFBvc3RncmVTUUwgbWFzdGVyL3NsYXZlIHN5c3RlbSAo
dXNpbmcgc3RyZWFtaW5nIHJlcGxpY2F0aW9uKSBydW5uaW5nIGF0IGRpZmZlcmVudCBtYWNoaW5l
czoNCg0KMjAxNS0xMi0xNSAxMzowNTozOSBDRVQgQCAgV0FSTklORzogIHBhZ2UgNDMzMzI3NSBv
ZiByZWxhdGlvbiBiYXNlLzE2NDIyLzE3MjMwIGlzIHVuaW5pdGlhbGl6ZWQNCjIwMTUtMTItMTUg
MTM6MDU6MzkgQ0VUIEAgIENPTlRFWFQ6ICB4bG9nIHJlZG8gdmlzaWJsZTogcmVsIDE2NjMvMTY0
MjIvMTcyMzA7IGJsayA0MzMzMjc1DQoyMDE1LTEyLTE1IDEzOjA1OjM5IENFVCBAICBQQU5JQzog
IFdBTCBjb250YWlucyByZWZlcmVuY2VzIHRvIGludmFsaWQgcGFnZXMNCjIwMTUtMTItMTUgMTM6
MDU6MzkgQ0VUIEAgIENPTlRFWFQ6ICB4bG9nIHJlZG8gdmlzaWJsZTogcmVsIDE2NjMvMTY0MjIv
MTcyMzA7IGJsayA0MzMzMjc1DQoyMDE1LTEyLTE1IDEzOjA1OjM5IENFVCBAICBMT0c6ICBzdGFy
dHVwIHByb2Nlc3MgKFBJRCA4OTYzKSB3YXMgdGVybWluYXRlZCBieSBzaWduYWwgNjogQWJvcnRl
ZA0KMjAxNS0xMi0xNSAxMzowNTozOSBDRVQgQCAgTE9HOiAgdGVybWluYXRpbmcgYW55IG90aGVy
IGFjdGl2ZSBzZXJ2ZXIgcHJvY2Vzc2VzDQoNCjIwMTUtMTItMjIgMDA6MjU6MTEgQ0VUIEAgIFdB
Uk5JTkc6ICBwYWdlIDcxNTY2IG9mIHJlbGF0aW9uIGJhc2UvMTY0MjIvMjMyNTMgaXMgdW5pbml0
aWFsaXplZA0KMjAxNS0xMi0yMiAwMDoyNToxMSBDRVQgQCAgQ09OVEVYVDogIHhsb2cgcmVkbyB2
aXNpYmxlOiByZWwgMTY2My8xNjQyMi8yMzI1MzsgYmxrIDcxNTY2DQoyMDE1LTEyLTIyIDAwOjI1
OjExIENFVCBAICBQQU5JQzogIFdBTCBjb250YWlucyByZWZlcmVuY2VzIHRvIGludmFsaWQgcGFn
ZXMNCjIwMTUtMTItMjIgMDA6MjU6MTEgQ0VUIEAgIENPTlRFWFQ6ICB4bG9nIHJlZG8gdmlzaWJs
ZTogcmVsIDE2NjMvMTY0MjIvMjMyNTM7IGJsayA3MTU2Ng0KMjAxNS0xMi0yMiAwMDoyNToxMiBD
RVQgQCAgTE9HOiAgc3RhcnR1cCBwcm9jZXNzIChQSUQgMjQ0MzQpIHdhcyB0ZXJtaW5hdGVkIGJ5
IHNpZ25hbCA2OiBBYm9ydGVkDQoyMDE1LTEyLTIyIDAwOjI1OjEyIENFVCBAICBMT0c6ICB0ZXJt
aW5hdGluZyBhbnkgb3RoZXIgYWN0aXZlIHNlcnZlciBwcm9jZXNzZXMNCg0Kc2VsZWN0IHJlbG5h
bWUgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxmaWxlbm9kZSBpbiAoJzE3MjMwJywnMjMyNTMnKTsN
CiAgICByZWxuYW1lICAgICANCi0tLS0tLS0tLS0tLS0tLS0NCiBwZ190b2FzdF8xNzIyNQ0KIHBn
X3RvYXN0XzIzMjQ2DQooMiByb3dzKQ0KDQpGaXJzdCB0b2FzdCdzIHJlbGF0aW9uIGhhcyAzNEdC
LCBzZWNvbmQgMjQ1MiBNQi4NCg0KSXMgaXQgcG9zc2libGUgdG8gZ2V0IG1vcmUgaW5mbyBmcm9t
IHNvbWUgZGVlcGVyIGxvZ2dpbmcgZm9yIHRoZSBjYXNlIGl0IHdpbGwgb2NjdXIgYWdhaW4/DQoN
ClJlZ2FyZHMNCk1hcmVrDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBNaWNo
YWVsIFBhcXVpZXIgW21haWx0bzptaWNoYWVsLnBhcXVpZXJAZ21haWwuY29tXSANClNlbnQ6IEZy
aWRheSwgRGVjZW1iZXIgMTgsIDIwMTUgNjowNSBBTQ0KVG86IFBldHIgTWFyZWsgPE1hcmVrLlBl
dHJAdGlldG8uY29tPg0KQ2M6IFBvc3RncmVTUUwgbWFpbGluZyBsaXN0cyA8cGdzcWwtYnVnc0Bw
b3N0Z3Jlc3FsLm9yZz4NClN1YmplY3Q6IFJlOiBbQlVHU10gQlVHICMxMzgyMjogU2xhdmUgdGVy
bWluYXRlZCAtIFdBTCBjb250YWlucyByZWZlcmVuY2VzIHRvIGludmFsaWQgcGFnZQ0KDQpPbiBU
aHUsIERlYyAxNywgMjAxNSBhdCA5OjUwIFBNLCAgPG1hcmVrLnBldHJAdGlldG8uY29tPiB3cm90
ZToNCj4gU2V2ZXJhbCBkYXlzIGFmdGVyIG9uZSBpbi1wbGFjZSBhbmQgb25lIG91dCBvZiBwbGFj
ZSB1cGdyYWRlIGZyb20gOS4zIA0KPiB0byA5LjQgdmVyc2lvbiBmb2xsb3dpbmcgZXZlbnQgb2Nj
dXJlZCBvbiBib3RoICBlbnZpcm9ubWVudHM6DQo+DQo+IDIwMTUtMTItMTUgMjI6MzU6MTggQ0VU
IEAgV0FSTklORzogcGFnZSA0MTE5NjYyIG9mIHJlbGF0aW9uIA0KPiBiYXNlLzE2NDIyLzE4MTM0
IGlzIHVuaW5pdGlhbGl6ZWQNCj4gMjAxNS0xMi0xNSAyMjozNToxOCBDRVQgQCBDT05URVhUOiB4
bG9nIHJlZG8gdmlzaWJsZTogcmVsIA0KPiAxNjYzLzE2NDIyLzE4MTM0OyBibGsgNDExOTY2Mg0K
PiAyMDE1LTEyLTE1IDIyOjM1OjE4IENFVCBAIFBBTklDOiBXQUwgY29udGFpbnMgcmVmZXJlbmNl
cyB0byBpbnZhbGlkIA0KPiBwYWdlcw0KPiAyMDE1LTEyLTE1IDIyOjM1OjE4IENFVCBAIENPTlRF
WFQ6IHhsb2cgcmVkbyB2aXNpYmxlOiByZWwgDQo+IDE2NjMvMTY0MjIvMTgxMzQ7IGJsayA0MTE5
NjYyDQo+IDIwMTUtMTItMTUgMjI6MzU6MTggQ0VUIEAgTE9HOiBzdGFydHVwIHByb2Nlc3MgKFBJ
RCAyMjI2OSkgd2FzIA0KPiB0ZXJtaW5hdGVkIGJ5IHNpZ25hbCA2OiBBYm9ydGVkDQo+IDIwMTUt
MTItMTUgMjI6MzU6MTggQ0VUIEAgTE9HOiB0ZXJtaW5hdGluZyBhbnkgb3RoZXIgYWN0aXZlIHNl
cnZlciANCj4gcHJvY2Vzcw0KPg0KPiBPbmNlIGl0IHdhcyBUT0FTVCBhbmQgYW5vdGhlciByZWd1
bGFyIHRhYmxlLg0KDQpUaGlzIGlzIHRoZSBpbmRpY2F0aW9uIG9mIHNvbWUgZGF0YSBjb3JydXB0
aW9uLCBwYWdlIDQxMTk2NjIgcmVmZXJyaW5nIHRvIGF0IGxlYXN0IGEgc2l6ZSBvZiAzMUdCLCBi
dXQgdGhpcyBzbyBsZXNzIGluZm9ybWF0aW9uIGl0IGlzIGhhcmQgdG8gZ3Vlc3Mgd2hhdCBjb3Vs
ZCBoYXBwZW4uIElzIDMxR0IgbW9yZSBvciBsZXNzIHRoZSBzaXplIG9mIHRoaXMgcmVsYXRpb24/
IElmIHlvdSBkZXBsb3kgYSBzbGF2ZSBmcm9tIGEgZnJlc2ggYmFzZSBiYWNrdXAsIGRvIHlvdSBz
dGlsbCBzZWUgdGhlIGVycm9yPyBUaGF0J3MgdW5saWtlbHkgc28gaWYgaXQgaXMgdGhlIHNlY29u
ZCB0aW1lIHlvdSBhcmUgc2VlaW5nIHRoaXMgcHJvYmxlbSwgYnV0IGl0IG1heSBiZSBhIHByb2Js
ZW0gb2YgY29ycnVwdGlvbiB3aXRoaW4gdGhlIFdBTCBzZWdtZW50cyB0aGVtc2VsdmVzLg0KLS0N
Ck1pY2hhZWwNCg==

Re: BUG #13822: Slave terminated - WAL contains references to invalid page

From
Michael Paquier
Date:
On Tue, Dec 22, 2015 at 9:05 PM,  <Marek.Petr@tieto.com> wrote:
> 2015-12-22 00:25:11 CET @  WARNING:  page 71566 of relation base/16422/23253 is uninitialized
> 2015-12-22 00:25:11 CET @  CONTEXT:  xlog redo visible: rel 1663/16422/23253; blk 71566
> 2015-12-22 00:25:11 CET @  PANIC:  WAL contains references to invalid pages
> 2015-12-22 00:25:11 CET @  CONTEXT:  xlog redo visible: rel 1663/16422/23253; blk 71566
> 2015-12-22 00:25:12 CET @  LOG:  startup process (PID 24434) was terminated by signal 6: Aborted
> 2015-12-22 00:25:12 CET @  LOG:  terminating any other active server processes

Looking more closely at that, this is the code path of the redo
routine for XLOG_HEAP2_VISIBLE. I have been looking at the area of the
code around visibilitymap_set to try to see if there could be a race
condition with another backend extending the relation and causing the
page to be uninitialized but have not found anything yet. 9.4 has been
out for some time, and this is the first report of this kind for this
redo routine. Still, you have been able to reproduce the problem
twice, so this has the smell of a bug... Others, opinions?

Did you rebuild a new slave and let the master running, and perhaps
some data corruption is coming from it? What's the state of the same
pages on the master? Are they zero'ed?

Also, are you using any parameter with a value different than the
default. I don't know fsync, full_page_writes...

> select relname from pg_class where relfilenode in ('17230','23253');
>     relname
> ----------------
>  pg_toast_17225
>  pg_toast_23246
> (2 rows)
>
> First toast's relation has 34GB, second 2452 MB.
> Is it possible to get more info from some deeper logging for the case it will occur again?

I am not sure to understand what you are looking for here. You could
make the logs more verbose but this would bloat your log partition...
--
Michael
VHJpZWQgdG8gdXNlIHBhZ2VpbnNwZWN0IG1vZHVsZSBmb3IgYWZmZWN0ZWQgcGFnZXMgZnJvbSBs
YXN0IHR3byBvY2N1cmVuY2VzOg0KDQoyMDE1LTEyLTE1IDEzOjA1OjM5IENFVCBAICBXQVJOSU5H
OiAgcGFnZSA0MzMzMjc1IG9mIHJlbGF0aW9uIGJhc2UvMTY0MjIvMTcyMzAgaXMgdW5pbml0aWFs
aXplZA0KMjAxNS0xMi0yMiAwMDoyNToxMSBDRVQgQCAgV0FSTklORzogIHBhZ2UgNzE1NjYgb2Yg
cmVsYXRpb24gYmFzZS8xNjQyMi8yMzI1MyBpcyB1bmluaXRpYWxpemVkDQoNCkZvbGxvd2luZyBv
dXRwdXRzIGFyZSB0aGUgc2FtZSBmb3IgbWFzdGVyIGFuZCBzbGF2ZToNCg0KIyBzZWxlY3QgcmVs
bmFtZSBmcm9tIHBnX2NsYXNzIHdoZXJlIHJlbGZpbGVub2RlIGluICgnMTcyMzAnLCcyMzI1Mycp
Ow0KICAgIHJlbG5hbWUgICAgIA0KLS0tLS0tLS0tLS0tLS0tLQ0KIHBnX3RvYXN0XzE3MjI1DQog
cGdfdG9hc3RfMjMyNDYNCigyIHJvd3MpDQoNCiMgU0VMRUNUICogRlJPTSBwYWdlX2hlYWRlcihn
ZXRfcmF3X3BhZ2UoJ3BnX3RvYXN0LnBnX3RvYXN0XzIzMjQ2JywgNzE1NjYpKTsNCiAgICAgbHNu
ICAgICAgfCBjaGVja3N1bSB8IGZsYWdzIHwgbG93ZXIgfCB1cHBlciB8IHNwZWNpYWwgfCBwYWdl
c2l6ZSB8IHZlcnNpb24gfCBwcnVuZV94aWQgDQotLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0t
LS0tLS0rLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t
LS0tLS0tLQ0KIDE4MS8xQkY1OTNBOCB8ICAgICAgICAwIHwgICAgIDQgfCAgICA0NCB8ICAgNjAw
IHwgICAgODE5MiB8ICAgICA4MTkyIHwgICAgICAgNCB8ICAgICAgICAgMA0KKDEgcm93KQ0KDQoj
IFNFTEVDVCAqIEZST00gcGFnZV9oZWFkZXIoZ2V0X3Jhd19wYWdlKCdwZ190b2FzdC5wZ190b2Fz
dF8xNzIyNScsIDQzMzMyNzUpKTsNCiAgICAgbHNuICAgICAgfCBjaGVja3N1bSB8IGZsYWdzIHwg
bG93ZXIgfCB1cHBlciB8IHNwZWNpYWwgfCBwYWdlc2l6ZSB8IHZlcnNpb24gfCBwcnVuZV94aWQg
DQotLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKy0tLS0t
LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLQ0KIDE3Mi8zMEJFQ0I1OCB8ICAg
ICAgICAwIHwgICAgIDQgfCAgICA0MCB8ICAgIDY0IHwgICAgODE5MiB8ICAgICA4MTkyIHwgICAg
ICAgNCB8ICAgICAgICAgMA0KKDEgcm93KQ0KDQojIFNFTEVDVCAqIEZST00gaGVhcF9wYWdlX2l0
ZW1zKGdldF9yYXdfcGFnZSgncGdfdG9hc3QucGdfdG9hc3RfMjMyNDYnLCA3MTU2NikpOw0KIGxw
IHwgbHBfb2ZmIHwgbHBfZmxhZ3MgfCBscF9sZW4gfCAgdF94bWluICAgfCB0X3htYXggfCB0X2Zp
ZWxkMyB8ICB0X2N0aWQgICB8IHRfaW5mb21hc2syIHwgdF9pbmZvbWFzayB8IHRfaG9mZiB8IHRf
Yml0cyB8IHRfb2lkIA0KLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0t
LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t
LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLQ0KICAxIHwgICA2MTYwIHwgICAgICAgIDEg
fCAgIDIwMzIgfCAzNjQ4OTQ4MjEgfCAgICAgIDAgfCAgICAgICAgMSB8ICg3MTU2NiwxKSB8ICAg
ICAgICAgICAzIHwgICAgICAgMjMwNiB8ICAgICAyNCB8ICAgICAgICB8ICAgICAgDQogIDIgfCAg
IDUxNjAgfCAgICAgICAgMSB8ICAgIDk5NCB8IDM2NDg5NDgyMSB8ICAgICAgMCB8ICAgICAgICAx
IHwgKDcxNTY2LDIpIHwgICAgICAgICAgIDMgfCAgICAgICAyMzA2IHwgICAgIDI0IHwgICAgICAg
IHwgICAgICANCiAgMyB8ICAgMzEyOCB8ICAgICAgICAxIHwgICAyMDMyIHwgMzY0ODk0OTM0IHwg
ICAgICAwIHwgICAgICAgIDEgfCAoNzE1NjYsMykgfCAgICAgICAgICAgMyB8ICAgICAgIDIzMDYg
fCAgICAgMjQgfCAgICAgICAgfCAgICAgIA0KICA0IHwgICAyNjMyIHwgICAgICAgIDEgfCAgICA0
OTYgfCAzNjQ4OTQ5MzQgfCAgICAgIDAgfCAgICAgICAgMSB8ICg3MTU2Niw0KSB8ICAgICAgICAg
ICAzIHwgICAgICAgMjMwNiB8ICAgICAyNCB8ICAgICAgICB8ICAgICAgDQogIDUgfCAgICA2MDAg
fCAgICAgICAgMSB8ICAgMjAzMiB8IDM2NDg5NTI0MSB8ICAgICAgMCB8ICAgICAgICAxIHwgKDcx
NTY2LDUpIHwgICAgICAgICAgIDMgfCAgICAgICAyMzA2IHwgICAgIDI0IHwgICAgICAgIHwgICAg
ICANCig1IHJvd3MpDQoNCiMgU0VMRUNUICogRlJPTSBoZWFwX3BhZ2VfaXRlbXMoZ2V0X3Jhd19w
YWdlKCdwZ190b2FzdC5wZ190b2FzdF8xNzIyNScsIDQzMzMyNzUpKTsNCiBscCB8IGxwX29mZiB8
IGxwX2ZsYWdzIHwgbHBfbGVuIHwgIHRfeG1pbiAgIHwgdF94bWF4IHwgdF9maWVsZDMgfCAgIHRf
Y3RpZCAgICB8IHRfaW5mb21hc2syIHwgdF9pbmZvbWFzayB8IHRfaG9mZiB8IHRfYml0cyB8IHRf
b2lkIA0KLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t
LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst
LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tDQogIDEgfCAgIDYxNjAgfCAgICAgICAgMSB8ICAgMjAz
MiB8IDM2MDIyNDIzOCB8ICAgICAgMCB8ICAgICAgICAxIHwgKDQzMzMyNzUsMSkgfCAgICAgICAg
ICAgMyB8ICAgICAgIDIzMDYgfCAgICAgMjQgfCAgICAgICAgfCAgICAgIA0KICAyIHwgICA0MTI4
IHwgICAgICAgIDEgfCAgIDIwMzIgfCAzNjAyMjQyMzggfCAgICAgIDAgfCAgICAgICAgMSB8ICg0
MzMzMjc1LDIpIHwgICAgICAgICAgIDMgfCAgICAgICAyMzA2IHwgICAgIDI0IHwgICAgICAgIHwg
ICAgICANCiAgMyB8ICAgMjA5NiB8ICAgICAgICAxIHwgICAyMDMyIHwgMzYwMjI0MjM4IHwgICAg
ICAwIHwgICAgICAgIDEgfCAoNDMzMzI3NSwzKSB8ICAgICAgICAgICAzIHwgICAgICAgMjMwNiB8
ICAgICAyNCB8ICAgICAgICB8ICAgICAgDQogIDQgfCAgICAgNjQgfCAgICAgICAgMSB8ICAgMjAz
MiB8IDM2MDIyNDIzOCB8ICAgICAgMCB8ICAgICAgICAxIHwgKDQzMzMyNzUsNCkgfCAgICAgICAg
ICAgMyB8ICAgICAgIDIzMDYgfCAgICAgMjQgfCAgICAgICAgfCAgICAgIA0KKDQgcm93cykNCg0K
DQpOb24tZGVmYXVsdCBwYXJzOg0KDQpsaXN0ZW5fYWRkcmVzc2VzID0gJyonDQptYXhfY29ubmVj
dGlvbnMgPSA2MDANCnNzbCA9IG9uDQpzc2xfY2VydF9maWxlID0gJ3h4eC5jcnQnICAgICAgICAg
ICANCnNzbF9rZXlfZmlsZSA9ICd4eHgua2V5JyAgICAgICAgICAgIA0Kc3NsX2NhX2ZpbGUgPSAn
eHh4LmNydCcNCnNoYXJlZF9idWZmZXJzID0gNEdCDQp3b3JrX21lbSA9IDY5OTBrQg0KbWFpbnRl
bmFuY2Vfd29ya19tZW0gPSA4MTlNQg0Kc2hhcmVkX3ByZWxvYWRfbGlicmFyaWVzID0gJ3BnX3N0
YXRfc3RhdGVtZW50cycNCnBnX3N0YXRfc3RhdGVtZW50cy5tYXggPSAxMDAwMA0KcGdfc3RhdF9z
dGF0ZW1lbnRzLnRyYWNrID0gYWxsDQp3YWxfbGV2ZWwgPSBob3Rfc3RhbmRieQ0KY2hlY2twb2lu
dF9zZWdtZW50cyA9IDMyDQpjaGVja3BvaW50X2NvbXBsZXRpb25fdGFyZ2V0ID0gMC45DQphcmNo
aXZlX21vZGUgPSBvbg0KYXJjaGl2ZV9jb21tYW5kID0gJ3JzeW5jIC1hICVwIHh4eEB4eHg6L2Rh
dGEvd2FsX2FyY2gvJWYnDQptYXhfd2FsX3NlbmRlcnMgPSA1DQp3YWxfa2VlcF9zZWdtZW50cyA9
IDY0DQpob3Rfc3RhbmRieSA9IG9uDQplZmZlY3RpdmVfY2FjaGVfc2l6ZSA9IDEyR0INCg0KDQpT
bGF2ZSByZWJ1aWxkZWQgYW5kIGl0J3MgcnVubmluZyBhbG1vc3QgYSB3ZWVrIGZvciBub3cuDQoN
ClJlZ2FyZHMNCk1hcmVrDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBNaWNo
YWVsIFBhcXVpZXIgW21haWx0bzptaWNoYWVsLnBhcXVpZXJAZ21haWwuY29tXSANClNlbnQ6IFNh
dHVyZGF5LCBEZWNlbWJlciAyNiwgMjAxNSAyOjE1IFBNDQpUbzogUGV0ciBNYXJlayA8TWFyZWsu
UGV0ckB0aWV0by5jb20+DQpDYzogUG9zdGdyZVNRTCBtYWlsaW5nIGxpc3RzIDxwZ3NxbC1idWdz
QHBvc3RncmVzcWwub3JnPg0KU3ViamVjdDogUmU6IFtCVUdTXSBCVUcgIzEzODIyOiBTbGF2ZSB0
ZXJtaW5hdGVkIC0gV0FMIGNvbnRhaW5zIHJlZmVyZW5jZXMgdG8gaW52YWxpZCBwYWdlDQoNCk9u
IFR1ZSwgRGVjIDIyLCAyMDE1IGF0IDk6MDUgUE0sICA8TWFyZWsuUGV0ckB0aWV0by5jb20+IHdy
b3RlOg0KPiAyMDE1LTEyLTIyIDAwOjI1OjExIENFVCBAICBXQVJOSU5HOiAgcGFnZSA3MTU2NiBv
ZiByZWxhdGlvbiANCj4gYmFzZS8xNjQyMi8yMzI1MyBpcyB1bmluaXRpYWxpemVkDQo+IDIwMTUt
MTItMjIgMDA6MjU6MTEgQ0VUIEAgIENPTlRFWFQ6ICB4bG9nIHJlZG8gdmlzaWJsZTogcmVsIA0K
PiAxNjYzLzE2NDIyLzIzMjUzOyBibGsgNzE1NjYNCj4gMjAxNS0xMi0yMiAwMDoyNToxMSBDRVQg
QCAgUEFOSUM6ICBXQUwgY29udGFpbnMgcmVmZXJlbmNlcyB0byBpbnZhbGlkIA0KPiBwYWdlcw0K
PiAyMDE1LTEyLTIyIDAwOjI1OjExIENFVCBAICBDT05URVhUOiAgeGxvZyByZWRvIHZpc2libGU6
IHJlbCANCj4gMTY2My8xNjQyMi8yMzI1MzsgYmxrIDcxNTY2DQo+IDIwMTUtMTItMjIgMDA6MjU6
MTIgQ0VUIEAgIExPRzogIHN0YXJ0dXAgcHJvY2VzcyAoUElEIDI0NDM0KSB3YXMgDQo+IHRlcm1p
bmF0ZWQgYnkgc2lnbmFsIDY6IEFib3J0ZWQNCj4gMjAxNS0xMi0yMiAwMDoyNToxMiBDRVQgQCAg
TE9HOiAgdGVybWluYXRpbmcgYW55IG90aGVyIGFjdGl2ZSBzZXJ2ZXIgDQo+IHByb2Nlc3Nlcw0K
DQpMb29raW5nIG1vcmUgY2xvc2VseSBhdCB0aGF0LCB0aGlzIGlzIHRoZSBjb2RlIHBhdGggb2Yg
dGhlIHJlZG8gcm91dGluZSBmb3IgWExPR19IRUFQMl9WSVNJQkxFLiBJIGhhdmUgYmVlbiBsb29r
aW5nIGF0IHRoZSBhcmVhIG9mIHRoZSBjb2RlIGFyb3VuZCB2aXNpYmlsaXR5bWFwX3NldCB0byB0
cnkgdG8gc2VlIGlmIHRoZXJlIGNvdWxkIGJlIGEgcmFjZSBjb25kaXRpb24gd2l0aCBhbm90aGVy
IGJhY2tlbmQgZXh0ZW5kaW5nIHRoZSByZWxhdGlvbiBhbmQgY2F1c2luZyB0aGUgcGFnZSB0byBi
ZSB1bmluaXRpYWxpemVkIGJ1dCBoYXZlIG5vdCBmb3VuZCBhbnl0aGluZyB5ZXQuIDkuNCBoYXMg
YmVlbiBvdXQgZm9yIHNvbWUgdGltZSwgYW5kIHRoaXMgaXMgdGhlIGZpcnN0IHJlcG9ydCBvZiB0
aGlzIGtpbmQgZm9yIHRoaXMgcmVkbyByb3V0aW5lLiBTdGlsbCwgeW91IGhhdmUgYmVlbiBhYmxl
IHRvIHJlcHJvZHVjZSB0aGUgcHJvYmxlbSB0d2ljZSwgc28gdGhpcyBoYXMgdGhlIHNtZWxsIG9m
IGEgYnVnLi4uIE90aGVycywgb3BpbmlvbnM/DQoNCkRpZCB5b3UgcmVidWlsZCBhIG5ldyBzbGF2
ZSBhbmQgbGV0IHRoZSBtYXN0ZXIgcnVubmluZywgYW5kIHBlcmhhcHMgc29tZSBkYXRhIGNvcnJ1
cHRpb24gaXMgY29taW5nIGZyb20gaXQ/IFdoYXQncyB0aGUgc3RhdGUgb2YgdGhlIHNhbWUgcGFn
ZXMgb24gdGhlIG1hc3Rlcj8gQXJlIHRoZXkgemVybydlZD8NCg0KQWxzbywgYXJlIHlvdSB1c2lu
ZyBhbnkgcGFyYW1ldGVyIHdpdGggYSB2YWx1ZSBkaWZmZXJlbnQgdGhhbiB0aGUgZGVmYXVsdC4g
SSBkb24ndCBrbm93IGZzeW5jLCBmdWxsX3BhZ2Vfd3JpdGVzLi4uDQoNCj4gc2VsZWN0IHJlbG5h
bWUgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxmaWxlbm9kZSBpbiAoJzE3MjMwJywnMjMyNTMnKTsN
Cj4gICAgIHJlbG5hbWUNCj4gLS0tLS0tLS0tLS0tLS0tLQ0KPiAgcGdfdG9hc3RfMTcyMjUNCj4g
IHBnX3RvYXN0XzIzMjQ2DQo+ICgyIHJvd3MpDQo+DQo+IEZpcnN0IHRvYXN0J3MgcmVsYXRpb24g
aGFzIDM0R0IsIHNlY29uZCAyNDUyIE1CLg0KPiBJcyBpdCBwb3NzaWJsZSB0byBnZXQgbW9yZSBp
bmZvIGZyb20gc29tZSBkZWVwZXIgbG9nZ2luZyBmb3IgdGhlIGNhc2UgaXQgd2lsbCBvY2N1ciBh
Z2Fpbj8NCg0KSSBhbSBub3Qgc3VyZSB0byB1bmRlcnN0YW5kIHdoYXQgeW91IGFyZSBsb29raW5n
IGZvciBoZXJlLiBZb3UgY291bGQgbWFrZSB0aGUgbG9ncyBtb3JlIHZlcmJvc2UgYnV0IHRoaXMg
d291bGQgYmxvYXQgeW91ciBsb2cgcGFydGl0aW9uLi4uDQotLQ0KTWljaGFlbA0K

Re: BUG #13822: Slave terminated - WAL contains references to invalid page

From
Michael Paquier
Date:
On Mon, Dec 28, 2015 at 8:50 PM,  <Marek.Petr@tieto.com> wrote:
> Tried to use pageinspect module for affected pages from last two occurences:
>
> 2015-12-15 13:05:39 CET @  WARNING:  page 4333275 of relation base/16422/17230 is uninitialized
> 2015-12-22 00:25:11 CET @  WARNING:  page 71566 of relation base/16422/23253 is uninitialized
>
> Following outputs are the same for master and slave:
>
> [results]

Hm, OK.

> Non-default pars:
>
> [params]

There is nothing fishy here.

> Slave rebuilded and it's running almost a week for now.

Hm. Has this slave replayed the same WAL records as the slave that has
failed previously? Or did it use a fresher base backup? If that's the
latter the problem would have been fixed by itself for those two
relation pages as they would have been correctly created by the base
backup and not the WAL replay. Perhaps that's too late, but could it
be possible to scan the WAL segments you have and see if there is
record referring to those pages being initialized or not? You would
need to find a record like that:
[insert|update|multi-insert|hot_update](init)  rel %u/%u/%u; tid %u/%u
tid is t_ctid referred in those upper results you just sent. And this
record should normally be present before the ones that caused the
PANIC setting the visibility map bit. If that's not the case, it may
be possible that there is actually a bug if the page is not found as
being initialized properly first. At least we are sure that the
corruption is not coming from the master.
--
Michael
SSB1c2VkIGZyZXNoIGJhc2UgYmFja3VwIGZvciBzbGF2ZSBhZnRlciBib3RoIGNyYXNoZXMuDQpB
bHNvIHRyaWVkIHRvIHNjYW4gYXJjaGl2ZWQgd2FscyBzZXZlcmFsIGhvdXJzIGJlZm9yZSBsYXN0
IGNyYXNoIGFuZCBmb3VuZCBvbmx5IHRoZSBmb2xsb3dpbmcgZm9yIHN0cmluZyA3MTU2NjoNCg0K
cm1ncjogSGVhcDIgICAgICAgbGVuIChyZWMvdG90KTogICAgIDIwLyAgICA1MiwgdHg6ICAgICAg
ICAgIDAsIGxzbjogMTg3Lzk4Nzg1OUQ4LCBwcmV2IDE4Ny85ODc4NTlBMCwgYmtwOiAwMDAwLCBk
ZXNjOiB2aXNpYmxlOiByZWwgMTY2My8xNjQyMi8xNzIxNjsgYmxrIDcxNTY2DQpybWdyOiBIZWFw
MiAgICAgICBsZW4gKHJlYy90b3QpOiAgICAgMjAvICAgIDUyLCB0eDogICAgICAgICAgMCwgbHNu
OiAxODcvOUNDNTkwMjAsIHByZXYgMTg3LzlDQzU4RkU4LCBia3A6IDAwMDAsIGRlc2M6IHZpc2li
bGU6IHJlbCAxNjYzLzE2NDIyLzE3MjIwOyBibGsgNzE1NjYNCnJtZ3I6IEhlYXAyICAgICAgIGxl
biAocmVjL3RvdCk6ICAgICAyMC8gICAgNTIsIHR4OiAgICAgICAgICAwLCBsc246IDE4Ny85RTM1
NkQ5OCwgcHJldiAxODcvOUUzNTZENjAsIGJrcDogMDAwMCwgZGVzYzogdmlzaWJsZTogcmVsIDE2
NjMvMTY0MjIvMjMyNTM7IGJsayA3MTU2Ng0KDQpSZWdhcmRzDQpNYXJlaw0KDQotLS0tLU9yaWdp
bmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogTWljaGFlbCBQYXF1aWVyIFttYWlsdG86bWljaGFlbC5w
YXF1aWVyQGdtYWlsLmNvbV0gDQpTZW50OiBNb25kYXksIERlY2VtYmVyIDI4LCAyMDE1IDQ6Mjkg
UE0NClRvOiBQZXRyIE1hcmVrIDxNYXJlay5QZXRyQHRpZXRvLmNvbT4NCkNjOiBQb3N0Z3JlU1FM
IG1haWxpbmcgbGlzdHMgPHBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmc+DQpTdWJqZWN0OiBSZTog
W0JVR1NdIEJVRyAjMTM4MjI6IFNsYXZlIHRlcm1pbmF0ZWQgLSBXQUwgY29udGFpbnMgcmVmZXJl
bmNlcyB0byBpbnZhbGlkIHBhZ2UNCg0KT24gTW9uLCBEZWMgMjgsIDIwMTUgYXQgODo1MCBQTSwg
IDxNYXJlay5QZXRyQHRpZXRvLmNvbT4gd3JvdGU6DQo+IFRyaWVkIHRvIHVzZSBwYWdlaW5zcGVj
dCBtb2R1bGUgZm9yIGFmZmVjdGVkIHBhZ2VzIGZyb20gbGFzdCB0d28gb2NjdXJlbmNlczoNCj4N
Cj4gMjAxNS0xMi0xNSAxMzowNTozOSBDRVQgQCAgV0FSTklORzogIHBhZ2UgNDMzMzI3NSBvZiBy
ZWxhdGlvbiANCj4gYmFzZS8xNjQyMi8xNzIzMCBpcyB1bmluaXRpYWxpemVkDQo+IDIwMTUtMTIt
MjIgMDA6MjU6MTEgQ0VUIEAgIFdBUk5JTkc6ICBwYWdlIDcxNTY2IG9mIHJlbGF0aW9uIA0KPiBi
YXNlLzE2NDIyLzIzMjUzIGlzIHVuaW5pdGlhbGl6ZWQNCj4NCj4gRm9sbG93aW5nIG91dHB1dHMg
YXJlIHRoZSBzYW1lIGZvciBtYXN0ZXIgYW5kIHNsYXZlOg0KPg0KPiBbcmVzdWx0c10NCg0KSG0s
IE9LLg0KDQo+IE5vbi1kZWZhdWx0IHBhcnM6DQo+DQo+IFtwYXJhbXNdDQoNClRoZXJlIGlzIG5v
dGhpbmcgZmlzaHkgaGVyZS4NCg0KPiBTbGF2ZSByZWJ1aWxkZWQgYW5kIGl0J3MgcnVubmluZyBh
bG1vc3QgYSB3ZWVrIGZvciBub3cuDQoNCkhtLiBIYXMgdGhpcyBzbGF2ZSByZXBsYXllZCB0aGUg
c2FtZSBXQUwgcmVjb3JkcyBhcyB0aGUgc2xhdmUgdGhhdCBoYXMgZmFpbGVkIHByZXZpb3VzbHk/
IE9yIGRpZCBpdCB1c2UgYSBmcmVzaGVyIGJhc2UgYmFja3VwPyBJZiB0aGF0J3MgdGhlIGxhdHRl
ciB0aGUgcHJvYmxlbSB3b3VsZCBoYXZlIGJlZW4gZml4ZWQgYnkgaXRzZWxmIGZvciB0aG9zZSB0
d28gcmVsYXRpb24gcGFnZXMgYXMgdGhleSB3b3VsZCBoYXZlIGJlZW4gY29ycmVjdGx5IGNyZWF0
ZWQgYnkgdGhlIEFuZCBhbmQgbm90IHRoZSBXQUwgcmVwbGF5LiBQZXJoYXBzIHRoYXQncyB0b28g
bGF0ZSwgYnV0IGNvdWxkIGl0IGJlIHBvc3NpYmxlIHRvIHNjYW4gdGhlIFdBTCBzZWdtZW50cyB5
b3UgaGF2ZSBhbmQgc2VlIGlmIHRoZXJlIGlzIHJlY29yZCByZWZlcnJpbmcgdG8gdGhvc2UgcGFn
ZXMgYmVpbmcgaW5pdGlhbGl6ZWQgb3Igbm90PyBZb3Ugd291bGQgbmVlZCB0byBmaW5kIGEgcmVj
b3JkIGxpa2UgdGhhdDoNCltpbnNlcnR8dXBkYXRlfG11bHRpLWluc2VydHxob3RfdXBkYXRlXShp
bml0KSAgcmVsICV1LyV1LyV1OyB0aWQgJXUvJXUgdGlkIGlzIHRfY3RpZCByZWZlcnJlZCBpbiB0
aG9zZSB1cHBlciByZXN1bHRzIHlvdSBqdXN0IHNlbnQuIEFuZCB0aGlzIHJlY29yZCBzaG91bGQg
bm9ybWFsbHkgYmUgcHJlc2VudCBiZWZvcmUgdGhlIG9uZXMgdGhhdCBjYXVzZWQgdGhlIFBBTklD
IHNldHRpbmcgdGhlIHZpc2liaWxpdHkgbWFwIGJpdC4gSWYgdGhhdCdzIG5vdCB0aGUgY2FzZSwg
aXQgbWF5IGJlIHBvc3NpYmxlIHRoYXQgdGhlcmUgaXMgYWN0dWFsbHkgYSBidWcgaWYgdGhlIHBh
Z2UgaXMgbm90IGZvdW5kIGFzIGJlaW5nIGluaXRpYWxpemVkIHByb3Blcmx5IGZpcnN0LiBBdCBs
ZWFzdCB3ZSBhcmUgc3VyZSB0aGF0IHRoZSBjb3JydXB0aW9uIGlzIG5vdCBjb21pbmcgZnJvbSB0
aGUgbWFzdGVyLg0KLS0NCk1pY2hhZWwNCg==

Re: BUG #13822: Slave terminated - WAL contains references to invalid page

From
Andres Freund
Date:
Hi,

On 2015-12-29 15:51:32 +0000, Marek.Petr@tieto.com wrote:
> I used fresh base backup for slave after both crashes.
> Also tried to scan archived wals several hours before last crash and found only the following for string 71566:
>
> rmgr: Heap2       len (rec/tot):     20/    52, tx:          0, lsn: 187/987859D8, prev 187/987859A0, bkp: 0000,
desc:visible: rel 1663/16422/17216; blk 71566 
> rmgr: Heap2       len (rec/tot):     20/    52, tx:          0, lsn: 187/9CC59020, prev 187/9CC58FE8, bkp: 0000,
desc:visible: rel 1663/16422/17220; blk 71566 
> rmgr: Heap2       len (rec/tot):     20/    52, tx:          0, lsn: 187/9E356D98, prev 187/9E356D60, bkp: 0000,
desc:visible: rel 1663/16422/23253; blk 71566 

Could you detail how you take base backups and how you set them up as
new replicas? Master's pg_controldata, the crashed standby's and the
standby's backup_label.old would be helpful.

Greetings,

Andres Freund
U2FtZSBpc3N1ZSBzaW11bGF0ZWQgdmlhIFBJVFIgZnJvbSBiYXNlIGJhY2t1cCB1cCB0byA1IG1p
bnV0ZXMgYWZ0ZXIgdGhlIGNyYXNoOg0KDQoyMDE1LTEyLTMwIDA4OjMxOjE5IENFVCBAICBMT0c6
ICBkYXRhYmFzZSBzeXN0ZW0gd2FzIGludGVycnVwdGVkOyBsYXN0IGtub3duIHVwIGF0IDIwMTUt
MTItMjEgMjA6MTU6MDIgQ0VUDQoyMDE1LTEyLTMwIDA4OjMxOjE5IENFVCBAICBMT0c6ICBzdGFy
dGluZyBwb2ludC1pbi10aW1lIHJlY292ZXJ5IHRvIDIwMTUtMTItMjIgMDA6MzA6MDArMDENCjIw
MTUtMTItMzAgMDg6MzE6MTkgQ0VUIEAgIExPRzogIGRhdGFiYXNlIHN5c3RlbSB3YXMgbm90IHBy
b3Blcmx5IHNodXQgZG93bjsgYXV0b21hdGljIHJlY292ZXJ5IGluIHByb2dyZXNzDQoyMDE1LTEy
LTMwIDA4OjMxOjE5IENFVCBAICBMT0c6ICByZWRvIHN0YXJ0cyBhdCAxODYvRDcyNjA1NDANCjIw
MTUtMTItMzAgMDg6MzE6MTkgQ0VUIEAgIExPRzogIGNvbnNpc3RlbnQgcmVjb3Zlcnkgc3RhdGUg
cmVhY2hlZCBhdCAxODYvRDgwMDAwMDANCjIwMTUtMTItMzAgMDg6MzE6MTkgQ0VUIEAgIExPRzog
IGRhdGFiYXNlIHN5c3RlbSBpcyByZWFkeSB0byBhY2NlcHQgcmVhZCBvbmx5IGNvbm5lY3Rpb25z
DQoyMDE1LTEyLTMwIDA4OjMxOjE5IENFVCBAICBMT0c6ICByZXN0b3JlZCBsb2cgZmlsZSAiMDAw
MDAwMDEwMDAwMDE4NjAwMDAwMEQ4IiBmcm9tIGFyY2hpdmUNCjIwMTUtMTItMzAgMDg6MzE6MjAg
Q0VUIEAgIExPRzogIHJlc3RvcmVkIGxvZyBmaWxlICIwMDAwMDAwMTAwMDAwMTg2MDAwMDAwRDki
IGZyb20gYXJjaGl2ZQ0KLy4uLi8NCjIwMTUtMTItMzAgMDg6MzI6NDggQ0VUIEAgIExPRzogIHJl
c3RvcmVkIGxvZyBmaWxlICIwMDAwMDAwMTAwMDAwMTg3MDAwMDAwOUQiIGZyb20gYXJjaGl2ZQ0K
MjAxNS0xMi0zMCAwODozMjo1MCBDRVQgQCAgTE9HOiAgcmVzdG9yZWQgbG9nIGZpbGUgIjAwMDAw
MDAxMDAwMDAxODcwMDAwMDA5RSIgZnJvbSBhcmNoaXZlDQoyMDE1LTEyLTMwIDA4OjMyOjUxIENF
VCBAICBXQVJOSU5HOiAgcGFnZSA3MzE3MiBvZiByZWxhdGlvbiBiYXNlLzE2NDIyLzIzMjUzIGlz
IHVuaW5pdGlhbGl6ZWQNCjIwMTUtMTItMzAgMDg6MzI6NTEgQ0VUIEAgIENPTlRFWFQ6ICB4bG9n
IHJlZG8gdmlzaWJsZTogcmVsIDE2NjMvMTY0MjIvMjMyNTM7IGJsayA3MzE3Mg0KMjAxNS0xMi0z
MCAwODozMjo1MSBDRVQgQCAgUEFOSUM6ICBXQUwgY29udGFpbnMgcmVmZXJlbmNlcyB0byBpbnZh
bGlkIHBhZ2VzDQoyMDE1LTEyLTMwIDA4OjMyOjUxIENFVCBAICBDT05URVhUOiAgeGxvZyByZWRv
IHZpc2libGU6IHJlbCAxNjYzLzE2NDIyLzIzMjUzOyBibGsgNzMxNzINCjIwMTUtMTItMzAgMDg6
MzI6NTEgQ0VUIEAgIExPRzogIHN0YXJ0dXAgcHJvY2VzcyAoUElEIDI5MzI0KSB3YXMgdGVybWlu
YXRlZCBieSBzaWduYWwgNjogQWJvcnRlZA0KMjAxNS0xMi0zMCAwODozMjo1MSBDRVQgQCAgTE9H
OiAgdGVybWluYXRpbmcgYW55IG90aGVyIGFjdGl2ZSBzZXJ2ZXIgcHJvY2Vzc2VzDQoNClJlZ2Fy
ZHMNCk1hcmVrDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBQZXRyIE1hcmVr
IA0KU2VudDogVHVlc2RheSwgRGVjZW1iZXIgMjksIDIwMTUgNDo1MiBQTQ0KVG86ICdNaWNoYWVs
IFBhcXVpZXInIDxtaWNoYWVsLnBhcXVpZXJAZ21haWwuY29tPg0KQ2M6IFBvc3RncmVTUUwgbWFp
bGluZyBsaXN0cyA8cGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZz4NClN1YmplY3Q6IFJFOiBbQlVH
U10gQlVHICMxMzgyMjogU2xhdmUgdGVybWluYXRlZCAtIFdBTCBjb250YWlucyByZWZlcmVuY2Vz
IHRvIGludmFsaWQgcGFnZQ0KDQpJIHVzZWQgZnJlc2ggYmFzZSBiYWNrdXAgZm9yIHNsYXZlIGFm
dGVyIGJvdGggY3Jhc2hlcy4NCkFsc28gdHJpZWQgdG8gc2NhbiBhcmNoaXZlZCB3YWxzIHNldmVy
YWwgaG91cnMgYmVmb3JlIGxhc3QgY3Jhc2ggYW5kIGZvdW5kIG9ubHkgdGhlIGZvbGxvd2luZyBm
b3Igc3RyaW5nIDcxNTY2Og0KDQpybWdyOiBIZWFwMiAgICAgICBsZW4gKHJlYy90b3QpOiAgICAg
MjAvICAgIDUyLCB0eDogICAgICAgICAgMCwgbHNuOiAxODcvOTg3ODU5RDgsIHByZXYgMTg3Lzk4
Nzg1OUEwLCBia3A6IDAwMDAsIGRlc2M6IHZpc2libGU6IHJlbCAxNjYzLzE2NDIyLzE3MjE2OyBi
bGsgNzE1NjYNCnJtZ3I6IEhlYXAyICAgICAgIGxlbiAocmVjL3RvdCk6ICAgICAyMC8gICAgNTIs
IHR4OiAgICAgICAgICAwLCBsc246IDE4Ny85Q0M1OTAyMCwgcHJldiAxODcvOUNDNThGRTgsIGJr
cDogMDAwMCwgZGVzYzogdmlzaWJsZTogcmVsIDE2NjMvMTY0MjIvMTcyMjA7IGJsayA3MTU2Ng0K
cm1ncjogSGVhcDIgICAgICAgbGVuIChyZWMvdG90KTogICAgIDIwLyAgICA1MiwgdHg6ICAgICAg
ICAgIDAsIGxzbjogMTg3LzlFMzU2RDk4LCBwcmV2IDE4Ny85RTM1NkQ2MCwgYmtwOiAwMDAwLCBk
ZXNjOiB2aXNpYmxlOiByZWwgMTY2My8xNjQyMi8yMzI1MzsgYmxrIDcxNTY2DQoNClJlZ2FyZHMN
Ck1hcmVrDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBNaWNoYWVsIFBhcXVp
ZXIgW21haWx0bzptaWNoYWVsLnBhcXVpZXJAZ21haWwuY29tXSANClNlbnQ6IE1vbmRheSwgRGVj
ZW1iZXIgMjgsIDIwMTUgNDoyOSBQTQ0KVG86IFBldHIgTWFyZWsgPE1hcmVrLlBldHJAdGlldG8u
Y29tPg0KQ2M6IFBvc3RncmVTUUwgbWFpbGluZyBsaXN0cyA8cGdzcWwtYnVnc0Bwb3N0Z3Jlc3Fs
Lm9yZz4NClN1YmplY3Q6IFJlOiBbQlVHU10gQlVHICMxMzgyMjogU2xhdmUgdGVybWluYXRlZCAt
IFdBTCBjb250YWlucyByZWZlcmVuY2VzIHRvIGludmFsaWQgcGFnZQ0KDQpPbiBNb24sIERlYyAy
OCwgMjAxNSBhdCA4OjUwIFBNLCAgPE1hcmVrLlBldHJAdGlldG8uY29tPiB3cm90ZToNCj4gVHJp
ZWQgdG8gdXNlIHBhZ2VpbnNwZWN0IG1vZHVsZSBmb3IgYWZmZWN0ZWQgcGFnZXMgZnJvbSBsYXN0
IHR3byBvY2N1cmVuY2VzOg0KPg0KPiAyMDE1LTEyLTE1IDEzOjA1OjM5IENFVCBAICBXQVJOSU5H
OiAgcGFnZSA0MzMzMjc1IG9mIHJlbGF0aW9uIA0KPiBiYXNlLzE2NDIyLzE3MjMwIGlzIHVuaW5p
dGlhbGl6ZWQNCj4gMjAxNS0xMi0yMiAwMDoyNToxMSBDRVQgQCAgV0FSTklORzogIHBhZ2UgNzE1
NjYgb2YgcmVsYXRpb24gDQo+IGJhc2UvMTY0MjIvMjMyNTMgaXMgdW5pbml0aWFsaXplZA0KPg0K
PiBGb2xsb3dpbmcgb3V0cHV0cyBhcmUgdGhlIHNhbWUgZm9yIG1hc3RlciBhbmQgc2xhdmU6DQo+
DQo+IFtyZXN1bHRzXQ0KDQpIbSwgT0suDQoNCj4gTm9uLWRlZmF1bHQgcGFyczoNCj4NCj4gW3Bh
cmFtc10NCg0KVGhlcmUgaXMgbm90aGluZyBmaXNoeSBoZXJlLg0KDQo+IFNsYXZlIHJlYnVpbGRl
ZCBhbmQgaXQncyBydW5uaW5nIGFsbW9zdCBhIHdlZWsgZm9yIG5vdy4NCg0KSG0uIEhhcyB0aGlz
IHNsYXZlIHJlcGxheWVkIHRoZSBzYW1lIFdBTCByZWNvcmRzIGFzIHRoZSBzbGF2ZSB0aGF0IGhh
cyBmYWlsZWQgcHJldmlvdXNseT8gT3IgZGlkIGl0IHVzZSBhIGZyZXNoZXIgYmFzZSBiYWNrdXA/
IElmIHRoYXQncyB0aGUgbGF0dGVyIHRoZSBwcm9ibGVtIHdvdWxkIGhhdmUgYmVlbiBmaXhlZCBi
eSBpdHNlbGYgZm9yIHRob3NlIHR3byByZWxhdGlvbiBwYWdlcyBhcyB0aGV5IHdvdWxkIGhhdmUg
YmVlbiBjb3JyZWN0bHkgY3JlYXRlZCBieSB0aGUgQW5kIGFuZCBub3QgdGhlIFdBTCByZXBsYXku
IFBlcmhhcHMgdGhhdCdzIHRvbyBsYXRlLCBidXQgY291bGQgaXQgYmUgcG9zc2libGUgdG8gc2Nh
biB0aGUgV0FMIHNlZ21lbnRzIHlvdSBoYXZlIGFuZCBzZWUgaWYgdGhlcmUgaXMgcmVjb3JkIHJl
ZmVycmluZyB0byB0aG9zZSBwYWdlcyBiZWluZyBpbml0aWFsaXplZCBvciBub3Q/IFlvdSB3b3Vs
ZCBuZWVkIHRvIGZpbmQgYSByZWNvcmQgbGlrZSB0aGF0Og0KW2luc2VydHx1cGRhdGV8bXVsdGkt
aW5zZXJ0fGhvdF91cGRhdGVdKGluaXQpICByZWwgJXUvJXUvJXU7IHRpZCAldS8ldSB0aWQgaXMg
dF9jdGlkIHJlZmVycmVkIGluIHRob3NlIHVwcGVyIHJlc3VsdHMgeW91IGp1c3Qgc2VudC4gQW5k
IHRoaXMgcmVjb3JkIHNob3VsZCBub3JtYWxseSBiZSBwcmVzZW50IGJlZm9yZSB0aGUgb25lcyB0
aGF0IGNhdXNlZCB0aGUgUEFOSUMgc2V0dGluZyB0aGUgdmlzaWJpbGl0eSBtYXAgYml0LiBJZiB0
aGF0J3Mgbm90IHRoZSBjYXNlLCBpdCBtYXkgYmUgcG9zc2libGUgdGhhdCB0aGVyZSBpcyBhY3R1
YWxseSBhIGJ1ZyBpZiB0aGUgcGFnZSBpcyBub3QgZm91bmQgYXMgYmVpbmcgaW5pdGlhbGl6ZWQg
cHJvcGVybHkgZmlyc3QuIEF0IGxlYXN0IHdlIGFyZSBzdXJlIHRoYXQgdGhlIGNvcnJ1cHRpb24g
aXMgbm90IGNvbWluZyBmcm9tIHRoZSBtYXN0ZXIuDQotLQ0KTWljaGFlbA0K
Hi,=0A=
=0A=
I created new replica (original one crashed 2015-12-15 13:05:39 CET) via: =
=0A=
=0A=
$ pg_basebackup -h <master_IP> -D $PGDATA -R -P -U replication --xlog-metho=
d=3Dstream=0A=
$ cat $PGDATA/recovery.conf =0A=
standby_mode =3D 'on'=0A=
primary_conninfo =3D 'user=3Dreplication password=3D*** host=3D<master_IP> =
port=3D5432 sslmode=3Dprefer sslcompression=3D1 krbsrvname=3Dpostgres'=0A=
# service postgresql-9.4 start=0A=
=0A=
This new replica crashed 2015-12-22 00:25:11 CET.=0A=
=0A=
Ordinary base backups are done by:=0A=
=0A=
/usr/pgsql-9.4/bin/pg_basebackup -h <master_IP> -D <local_pg_basebackup_dir=
> -Ft -z -v -Xf -U postgres=0A=
=0A=
=0A=
Running Master pg_controldata:=0A=
=0A=
pg_control version number:            942=0A=
Catalog version number:               201409291=0A=
Database system identifier:           6225208935473175762=0A=
Database cluster state:               in production=0A=
pg_control last modified:             Wed 30 Dec 2015 08:00:02 PM CET=0A=
Latest checkpoint location:           191/2E08DC90=0A=
Prior checkpoint location:            191/2E0829E0=0A=
Latest checkpoint's REDO location:    191/2E08DC58=0A=
Latest checkpoint's REDO WAL file:    00000001000001910000002E=0A=
Latest checkpoint's TimeLineID:       1=0A=
Latest checkpoint's PrevTimeLineID:   1=0A=
Latest checkpoint's full_page_writes: on=0A=
Latest checkpoint's NextXID:          0/370154188=0A=
Latest checkpoint's NextOID:          4803404=0A=
Latest checkpoint's NextMultiXactId:  161565=0A=
Latest checkpoint's NextMultiOffset:  410484=0A=
Latest checkpoint's oldestXID:        187316348=0A=
Latest checkpoint's oldestXID's DB:   16422=0A=
Latest checkpoint's oldestActiveXID:  370154188=0A=
Latest checkpoint's oldestMultiXid:   1=0A=
Latest checkpoint's oldestMulti's DB: 16422=0A=
Time of latest checkpoint:            Wed 30 Dec 2015 08:00:01 PM CET=0A=
Fake LSN counter for unlogged rels:   0/1=0A=
Minimum recovery ending location:     0/0=0A=
Min recovery ending loc's timeline:   0=0A=
Backup start location:                0/0=0A=
Backup end location:                  0/0=0A=
End-of-backup record required:        no=0A=
Current wal_level setting:            hot_standby=0A=
Current wal_log_hints setting:        off=0A=
Current max_connections setting:      600=0A=
Current max_worker_processes setting: 8=0A=
Current max_prepared_xacts setting:   0=0A=
Current max_locks_per_xact setting:   64=0A=
Maximum data alignment:               8=0A=
Database block size:                  8192=0A=
Blocks per segment of large relation: 131072=0A=
WAL block size:                       8192=0A=
Bytes per WAL segment:                16777216=0A=
Maximum length of identifiers:        64=0A=
Maximum columns in an index:          32=0A=
Maximum size of a TOAST chunk:        1996=0A=
Size of a large-object chunk:         2048=0A=
Date/time type storage:               64-bit integers=0A=
Float4 argument passing:              by value=0A=
Float8 argument passing:              by value=0A=
Data page checksum version:           0=0A=
=0A=
=0A=
Running Slave pg_controldata:=0A=
=0A=
pg_control version number:            942=0A=
Catalog version number:               201409291=0A=
Database system identifier:           6225208935473175762=0A=
Database cluster state:               in archive recovery=0A=
pg_control last modified:             Wed 30 Dec 2015 08:00:40 PM CET=0A=
Latest checkpoint location:           191/2E08DC90=0A=
Prior checkpoint location:            191/2E0829E0=0A=
Latest checkpoint's REDO location:    191/2E08DC58=0A=
Latest checkpoint's REDO WAL file:    00000001000001910000002E=0A=
Latest checkpoint's TimeLineID:       1=0A=
Latest checkpoint's PrevTimeLineID:   1=0A=
Latest checkpoint's full_page_writes: on=0A=
Latest checkpoint's NextXID:          0/370154188=0A=
Latest checkpoint's NextOID:          4803404=0A=
Latest checkpoint's NextMultiXactId:  161565=0A=
Latest checkpoint's NextMultiOffset:  410484=0A=
Latest checkpoint's oldestXID:        187316348=0A=
Latest checkpoint's oldestXID's DB:   16422=0A=
Latest checkpoint's oldestActiveXID:  370154188=0A=
Latest checkpoint's oldestMultiXid:   1=0A=
Latest checkpoint's oldestMulti's DB: 16422=0A=
Time of latest checkpoint:            Wed 30 Dec 2015 08:00:01 PM CET=0A=
Fake LSN counter for unlogged rels:   0/1=0A=
Minimum recovery ending location:     191/2E093C68=0A=
Min recovery ending loc's timeline:   1=0A=
Backup start location:                0/0=0A=
Backup end location:                  0/0=0A=
End-of-backup record required:        no=0A=
Current wal_level setting:            hot_standby=0A=
Current wal_log_hints setting:        off=0A=
Current max_connections setting:      600=0A=
Current max_worker_processes setting: 8=0A=
Current max_prepared_xacts setting:   0=0A=
Current max_locks_per_xact setting:   64=0A=
Maximum data alignment:               8=0A=
Database block size:                  8192=0A=
Blocks per segment of large relation: 131072=0A=
WAL block size:                       8192=0A=
Bytes per WAL segment:                16777216=0A=
Maximum length of identifiers:        64=0A=
Maximum columns in an index:          32=0A=
Maximum size of a TOAST chunk:        1996=0A=
Size of a large-object chunk:         2048=0A=
Date/time type storage:               64-bit integers=0A=
Float4 argument passing:              by value=0A=
Float8 argument passing:              by value=0A=
Data page checksum version:           0=0A=
=0A=
=0A=
Slave pg_controldata after second PITR attempt:=0A=
=0A=
pg_control version number:            942=0A=
Catalog version number:               201409291=0A=
Database system identifier:           6225208935473175762=0A=
Database cluster state:               shut down in recovery=0A=
pg_control last modified:             Wed 30 Dec 2015 08:53:51 PM CET=0A=
Latest checkpoint location:           187/9DA56658=0A=
Prior checkpoint location:            186/D7000060=0A=
Latest checkpoint's REDO location:    187/9D647E30=0A=
Latest checkpoint's REDO WAL file:    00000001000001870000009D=0A=
Latest checkpoint's TimeLineID:       1=0A=
Latest checkpoint's PrevTimeLineID:   1=0A=
Latest checkpoint's full_page_writes: on=0A=
Latest checkpoint's NextXID:          0/367008737=0A=
Latest checkpoint's NextOID:          4721484=0A=
Latest checkpoint's NextMultiXactId:  160851=0A=
Latest checkpoint's NextMultiOffset:  409011=0A=
Latest checkpoint's oldestXID:        187316348=0A=
Latest checkpoint's oldestXID's DB:   16422=0A=
Latest checkpoint's oldestActiveXID:  367008737=0A=
Latest checkpoint's oldestMultiXid:   1=0A=
Latest checkpoint's oldestMulti's DB: 16422=0A=
Time of latest checkpoint:            Tue 22 Dec 2015 12:21:40 AM CET=0A=
Fake LSN counter for unlogged rels:   0/1=0A=
Minimum recovery ending location:     187/9FECB9A0=0A=
Min recovery ending loc's timeline:   1=0A=
Backup start location:                0/0=0A=
Backup end location:                  0/0=0A=
End-of-backup record required:        no=0A=
Current wal_level setting:            hot_standby=0A=
Current wal_log_hints setting:        off=0A=
Current max_connections setting:      600=0A=
Current max_worker_processes setting: 8=0A=
Current max_prepared_xacts setting:   0=0A=
Current max_locks_per_xact setting:   64=0A=
Maximum data alignment:               8=0A=
Database block size:                  8192=0A=
Blocks per segment of large relation: 131072=0A=
WAL block size:                       8192=0A=
Bytes per WAL segment:                16777216=0A=
Maximum length of identifiers:        64=0A=
Maximum columns in an index:          32=0A=
Maximum size of a TOAST chunk:        1996=0A=
Size of a large-object chunk:         2048=0A=
Date/time type storage:               64-bit integers=0A=
Float4 argument passing:              by value=0A=
Float8 argument passing:              by value=0A=
Data page checksum version:           0=0A=
=0A=
=0A=
# cat backup_label.old =0A=
START WAL LOCATION: 186/D7000028 (file 0000000100000186000000D7)=0A=
CHECKPOINT LOCATION: 186/D7000060=0A=
BACKUP METHOD: streamed=0A=
BACKUP FROM: master=0A=
START TIME: 2015-12-21 19:00:03 CET=0A=
LABEL: pg_basebackup base backup=0A=
=0A=
=0A=
Slave's pg_controldata above after PITR has been created after second recov=
ery attempt.=0A=
To be honest I don't understand why this second PITR finished without PANIC=
 when previous attempt from the same base backup and archived wals failed.=
=0A=
See logs details below:=0A=
=0A=
First (crashed) PITR:=0A=
=0A=
2015-12-30 08:31:19 CET @  LOG:  database system was interrupted; last know=
n up at 2015-12-21 20:15:02 CET=0A=
2015-12-30 08:31:19 CET @  LOG:  starting point-in-time recovery to 2015-12=
-22 00:30:00+01=0A=
2015-12-30 08:31:19 CET @  LOG:  database system was not properly shut down=
; automatic recovery in progress=0A=
2015-12-30 08:31:19 CET @  LOG:  redo starts at 186/D7260540=0A=
2015-12-30 08:31:19 CET @  LOG:  consistent recovery state reached at 186/D=
8000000=0A=
2015-12-30 08:31:19 CET @  LOG:  database system is ready to accept read on=
ly connections=0A=
2015-12-30 08:31:19 CET @  LOG:  restored log file "0000000100000186000000D=
8" from archive=0A=
2015-12-30 08:31:20 CET @  LOG:  restored log file "0000000100000186000000D=
9" from archive=0A=
/.../=0A=
2015-12-30 08:32:48 CET @  LOG:  restored log file "00000001000001870000009=
D" from archive=0A=
2015-12-30 08:32:50 CET @  LOG:  restored log file "00000001000001870000009=
E" from archive=0A=
2015-12-30 08:32:51 CET @  WARNING:  page 73172 of relation base/16422/2325=
3 is uninitialized=0A=
2015-12-30 08:32:51 CET @  CONTEXT:  xlog redo visible: rel 1663/16422/2325=
3; blk 73172=0A=
2015-12-30 08:32:51 CET @  PANIC:  WAL contains references to invalid pages=
=0A=
2015-12-30 08:32:51 CET @  CONTEXT:  xlog redo visible: rel 1663/16422/2325=
3; blk 73172=0A=
2015-12-30 08:32:51 CET @  LOG:  startup process (PID 29324) was terminated=
 by signal 6: Aborted=0A=
2015-12-30 08:32:51 CET @  LOG:  terminating any other active server proces=
ses=0A=
=0A=
For this one unfortunatelly I don't have pg_controldata.=0A=
=0A=
Second one:=0A=
=0A=
2015-12-30 20:42:39 CET @  LOG:  database system was interrupted; last know=
n up at 2015-12-21 20:15:02 CET=0A=
2015-12-30 20:42:39 CET @  LOG:  starting point-in-time recovery to 2015-12=
-22 00:30:00+01=0A=
2015-12-30 20:42:39 CET @  LOG:  restored log file "0000000100000186000000D=
7" from archive=0A=
2015-12-30 20:42:39 CET @  LOG:  redo starts at 186/D7000028=0A=
2015-12-30 20:42:39 CET @  LOG:  consistent recovery state reached at 186/D=
7265F80=0A=
2015-12-30 20:42:39 CET @  LOG:  database system is ready to accept read on=
ly connections=0A=
2015-12-30 20:42:40 CET @  LOG:  restored log file "0000000100000186000000D=
8" from archive=0A=
2015-12-30 20:42:40 CET @  LOG:  restored log file "0000000100000186000000D=
9" from archive=0A=
/.../=0A=
2015-12-30 20:44:03 CET @  LOG:  restored log file "00000001000001870000009=
D" from archive=0A=
2015-12-30 20:44:05 CET @  LOG:  restored log file "00000001000001870000009=
E" from archive=0A=
2015-12-30 20:44:08 CET @  LOG:  restored log file "00000001000001870000009=
F" from archive=0A=
2015-12-30 20:44:10 CET @  LOG:  recovery stopping before commit of transac=
tion 367008747, time 2015-12-22 00:30:01.876776+01=0A=
2015-12-30 20:44:10 CET @  LOG:  recovery has paused=0A=
2015-12-30 20:44:10 CET @  HINT:  Execute pg_xlog_replay_resume() to contin=
ue.=0A=
=0A=
Regards=0A=
Marek=0A=
________________________________________=0A=
From: Andres Freund <andres@anarazel.de>=0A=
Sent: Wednesday, December 30, 2015 12:49 PM=0A=
To: Petr Marek=0A=
Cc: michael.paquier@gmail.com; pgsql-bugs@postgresql.org=0A=
Subject: Re: [BUGS] BUG #13822: Slave terminated - WAL contains references =
to invalid page=0A=
=0A=
Hi,=0A=
=0A=
On 2015-12-29 15:51:32 +0000, Marek.Petr@tieto.com wrote:=0A=
> I used fresh base backup for slave after both crashes.=0A=
> Also tried to scan archived wals several hours before last crash and foun=
d only the following for string 71566:=0A=
>=0A=
> rmgr: Heap2       len (rec/tot):     20/    52, tx:          0, lsn: 187/=
987859D8, prev 187/987859A0, bkp: 0000, desc: visible: rel 1663/16422/17216=
; blk 71566=0A=
> rmgr: Heap2       len (rec/tot):     20/    52, tx:          0, lsn: 187/=
9CC59020, prev 187/9CC58FE8, bkp: 0000, desc: visible: rel 1663/16422/17220=
; blk 71566=0A=
> rmgr: Heap2       len (rec/tot):     20/    52, tx:          0, lsn: 187/=
9E356D98, prev 187/9E356D60, bkp: 0000, desc: visible: rel 1663/16422/23253=
; blk 71566=0A=
=0A=
Could you detail how you take base backups and how you set them up as=0A=
new replicas? Master's pg_controldata, the crashed standby's and the=0A=
standby's backup_label.old would be helpful.=0A=
=0A=
Greetings,=0A=
=0A=
Andres Freund=

Re: BUG #13822: Slave terminated - WAL contains references to invalid page

From
Michael Paquier
Date:
On Thu, Dec 31, 2015 at 5:20 AM,  <Marek.Petr@tieto.com> wrote:
> To be honest I don't understand why this second PITR finished without PANIC when previous attempt from the same base
backupand archived wals failed. 

I have no clue here either as the first PITR failed while the second
completed correctly, replaying the same content. It seems that this
relation block got corrupted in some way because of an issue with
memory and/or disk, or presumably in the WAL segment itself. I would
discard the possibility of a bug in the WAL replay based on this
evidence... Is there actually something different in the way you ran
the replay in both cases? Like on different servers?
--
Michael
Tm8uIEJvdGggY2FzZXMgcmFuIGluIHRoZSBzYW1lIHdheSBhbmQgc2FtZSBtYWNoaW5lcy4NCg0K
UmVnYXJkcw0KTWFyZWsNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IE1pY2hh
ZWwgUGFxdWllciBbbWFpbHRvOm1pY2hhZWwucGFxdWllckBnbWFpbC5jb21dIA0KU2VudDogVHVl
c2RheSwgSmFudWFyeSAwNSwgMjAxNiA4OjUzIEFNDQpUbzogUGV0ciBNYXJlayA8TWFyZWsuUGV0
ckB0aWV0by5jb20+DQpDYzogQW5kcmVzIEZyZXVuZCA8YW5kcmVzQGFuYXJhemVsLmRlPjsgUG9z
dGdyZVNRTCBtYWlsaW5nIGxpc3RzIDxwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnPg0KU3ViamVj
dDogUmU6IFtCVUdTXSBCVUcgIzEzODIyOiBTbGF2ZSB0ZXJtaW5hdGVkIC0gV0FMIGNvbnRhaW5z
IHJlZmVyZW5jZXMgdG8gaW52YWxpZCBwYWdlDQoNCk9uIFRodSwgRGVjIDMxLCAyMDE1IGF0IDU6
MjAgQU0sICA8TWFyZWsuUGV0ckB0aWV0by5jb20+IHdyb3RlOg0KPiBUbyBiZSBob25lc3QgSSBk
b24ndCB1bmRlcnN0YW5kIHdoeSB0aGlzIHNlY29uZCBQSVRSIGZpbmlzaGVkIHdpdGhvdXQgUEFO
SUMgd2hlbiBwcmV2aW91cyBhdHRlbXB0IGZyb20gdGhlIHNhbWUgYmFzZSBiYWNrdXAgYW5kIGFy
Y2hpdmVkIHdhbHMgZmFpbGVkLg0KDQpJIGhhdmUgbm8gY2x1ZSBoZXJlIGVpdGhlciBhcyB0aGUg
Zmlyc3QgUElUUiBmYWlsZWQgd2hpbGUgdGhlIHNlY29uZCBjb21wbGV0ZWQgY29ycmVjdGx5LCBy
ZXBsYXlpbmcgdGhlIHNhbWUgY29udGVudC4gSXQgc2VlbXMgdGhhdCB0aGlzIHJlbGF0aW9uIGJs
b2NrIGdvdCBjb3JydXB0ZWQgaW4gc29tZSB3YXkgYmVjYXVzZSBvZiBhbiBpc3N1ZSB3aXRoIG1l
bW9yeSBhbmQvb3IgZGlzaywgb3IgcHJlc3VtYWJseSBpbiB0aGUgV0FMIHNlZ21lbnQgaXRzZWxm
LiBJIHdvdWxkIGRpc2NhcmQgdGhlIHBvc3NpYmlsaXR5IG9mIGEgYnVnIGluIHRoZSBXQUwgcmVw
bGF5IGJhc2VkIG9uIHRoaXMgZXZpZGVuY2UuLi4gSXMgdGhlcmUgYWN0dWFsbHkgc29tZXRoaW5n
IGRpZmZlcmVudCBpbiB0aGUgd2F5IHlvdSByYW4gdGhlIHJlcGxheSBpbiBib3RoIGNhc2VzPyBM
aWtlIG9uIGRpZmZlcmVudCBzZXJ2ZXJzPw0KLS0NCk1pY2hhZWwNCg==