Re: psql -c tends to core dump if interrupted
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter_e@gmx.net>
Cc: pgsql-bugs@postgreSQL.org
Date: 2001-03-22T20:41:13Z
Lists: pgsql-bugs
I said: > In current sources, try the following: > while true; do > psql -c "checkpoint" yourdb > done > (any SQL command will do, it needn't be a checkpoint) > Press control-C while it's cycling. A fair fraction of the time > I get a SEGV coredump from psql. Ah, I think I see the problem: if SIGINT is received before cancelConn has been set, handle_sigint will do siglongjmp(main_loop_jmp, 1) ... and the longjmp buffer is never set up in this control path. Seems like there needs to be a main_loop_jmp_ready flag to prevent an attempted siglongjmp before the buffer is set. Or perhaps don't establish the signal handler until main_loop_jmp is valid? regards, tom lane