Re: PostgreSQL stops when adding a breakpoint in CLion - Mailing list pgsql-hackers

From Stanislav Bashkyrtsev
Subject Re: PostgreSQL stops when adding a breakpoint in CLion
Date
Msg-id CAMtnYL_s_L1Zd7h-vpGWFDJowZEuaBPBpwU+HDG8-1KzD4atAA@mail.gmail.com
Whole thread Raw
In response to Re: PostgreSQL stops when adding a breakpoint in CLion  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
> In a standalone backend, I think there are only 3 ways to get to
> normal shutdown:
>        * SIGTERM
>        * SIGQUIT
>         * EOF on stdin

I debugged a bit more and I see that getc() returns with -1 in interactive_getc() which is interpreted as EOF:
c = getc(stdin);

I see that errno == EINTR when it happens. This is as much as I can figure out in C, so I'm leaving it at that. Your advice about debugging the backend process ("select pg_backend_pid()") instead of running in a single-user mode worked for me, thank you!

On Tue, Jan 4, 2022 at 1:02 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Stanislav Bashkyrtsev <stanislav.bashkirtsev@gmail.com> writes:
>> Why do you think postgres quits?

> The process was running and then it stopped. And in the console I see:
> 2022-01-03 23:23:29.495 MSK [76717] LOG:  checkpoint starting: shutdown
> immediate

In a standalone backend, I think there are only 3 ways to get to
normal shutdown:
        * SIGTERM
        * SIGQUIT
        * EOF on stdin

It's not very clear which of those your setup is triggering.

In any case, debugging standalone mode is very very rarely
what you should be doing; it's only vaguely related to normal
operation, plus you lack all the creature comforts of psql.
The usual thing is to start a normal interactive session, find out
the PID of its connected backend process ("select pg_backend_pid()"
is a reliable way), and then attach to that process with GDB or your
debugger of choice.

                        regards, tom lane

pgsql-hackers by date:

Previous
From: Alexander Lakhin
Date:
Subject: Re: Proposal: remove obsolete hot-standby testing infrastructure
Next
From: Himanshu Upadhyaya
Date:
Subject: Re: SQL/JSON: functions