<div dir="ltr"><div dir="ltr">Op zo 31 mrt 2024 om 07:52 schreef Tatsuo Ishii <<a href="mailto:ishii@sraoss.co.jp">ishii@sraoss.co.jp</a>>:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">In the second case make_persistent_db_connection() uses longjmp()<br>
through PG_TRY/PG_CATCH. In this environment, any variable on the<br>
stack (and later used in PG_CATCH block) needs to be declared with<br>
"volatile" modifier so that it is not smashed out when an exception<br>
occurs. The function missed it. Attached is the patch to fix this.<br>
<br>
I have not found the cause of the first case yet, but I suspect it is<br>
somewhat related to the error above because in the first case:<br>
> #0  0x0000559e25313126 in get_query_result (slots=0x7fff0ebcff50,<br>
<br>
"slot" was previously allocated by make_persistent_db_connection().<br></blockquote><div><br></div><div>I've reran our tests with this patch applied, and both crashes are still present. It does seem that the second is a bit less frequent (but that's hard to say without running the tests many more times, which takes very long). The first one still occurs frequently.</div><div><br></div><div>I can reproduce the failures very reliably, so I can rerun them with more logging if that would help. Just give me the configuration options I need to set. I can even build with custom parameters if needed.</div><div><br></div><div>I've also found the reason for missing coredumps from node 1: systemd.coredump does not work during shutdown and these crashes are caused by node 1 being rebooted. Unfortunately, there seems to be no way to fix that. It's a known problem in systemd.</div><div><br></div><div>Best regards,</div><div>Emond</div></div></div>