Thread: Weird psql crash
Hi, 1. Fire up psql. 2. Press Ctrl-4 3. Crash, core dump... Chris
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes: > 1. Fire up psql. > 2. Press Ctrl-4 > 3. Crash, core dump... SIGQUIT is supposed to do that. regards, tom lane
>>1. Fire up psql. >>2. Press Ctrl-4 >>3. Crash, core dump... > > > SIGQUIT is supposed to do that. Seems to be a libreadline thing: #0 0x2827fd60 in sigprocmask () from /usr/lib/libc.so.4 #1 0x281f5adb in _rl_savestring () from /usr/lib/libreadline.so.4 #2 0xbfbfffac in ?? () #3 0x281f2254 in rl_read_key () from /usr/lib/libreadline.so.4 #4 0x28202e20 in readline_internal_char () from /usr/lib/libreadline.so.4 #5 0x28202f79 in readline_internal_char () from /usr/lib/libreadline.so.4 #6 0x28202fa9 in readline_internal_char () from /usr/lib/libreadline.so.4 #7 0x28202b70 in readline () from /usr/lib/libreadline.so.4 #8 0x804ee9c in gets_interactive (prompt=0x8074a00 "test=# ") at input.c:95 #9 0x804f702 in MainLoop (source=0x282ce0c0) at mainloop.c:153 #10 0x8051310 in main (argc=2, argv=0xbfbffc04) at startup.c:314 Chris
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes: >> SIGQUIT is supposed to do that. > Seems to be a libreadline thing: No, it's a built-in thing. See "man stty", "man tty(4)", "man termio" or related topics depending on your platform. The point is that the kernel terminal driver takes that as a command to send SIGQUIT to your program, not much different from mapping control-C to SIGINT for example. And the default handling for SIGQUIT is stop+dump core. It's a feature, not a bug. regards, tom lane