Re: BUG #3902: Segmentation faults using GSSAPI authentication

From: "Peter Koczan" <pjkoczan(at)gmail(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #3902: Segmentation faults using GSSAPI authentication
Date: 2008-01-28 20:11:51
Message-ID: 4544e0330801281211o12a17825wf4bce6d43e1678da@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

> > No, we want a stack trace from the crash. You could attach gdb to the
> > child process after forking and before you provoke the crash; or arrange
> > for a core dump file to be produced and gdb that.
>
> I should be able to get that for you tomorrow, if we don't figure out
> the issue sooner.

Here's a few stack traces for you.

Initial idle connection stack trace:

(gdb) bt
#0 0x006ac402 in __kernel_vsyscall ()
#1 0x005ffed3 in __read_nocancel () from /lib/libc.so.6
#2 0x00ad569e in sock_read () from /s/openssl-0.9.8e/lib/libcrypto.so.0.9.8e
#3 0x00000008 in ?? ()
#4 0x085f63a8 in ?? ()
#5 0x00000005 in ?? ()
#6 0x00b6b520 in ?? () from /s/openssl-0.9.8e/lib/libcrypto.so.0.9.8e
#7 0x085c9a78 in ?? ()
#8 0x00000000 in ?? ()

After a bit of "step"-ing (15 to be exact) after sending the query to
provoke the crash, there's an I/O error reported, always at the same
address. Note that stepping goes through a few SSL functions, and
secure_read as well:

(gdb) step
Single stepping until exit from function PostgresMain,
which has no line number information.
Warning:
Cannot insert breakpoint -57.
Error accessing memory address 0x783e3459: Input/output error.

(gdb) bt
#0 0x00569990 in siglongjmp () from /lib/libc.so.6
#1 0x0830dec0 in pg_re_throw ()
#2 0x0830caa1 in errfinish ()
#3 0x0812d40d in ExpandAllTables ()
#4 0x0812d0b4 in ExpandColumnRefStar ()
#5 0x0812be20 in transformTargetList ()
#6 0x080fe481 in transformSelectStmt ()
#7 0x080fd7fc in transformStmt ()
#8 0x080fd60d in parse_analyze ()
#9 0x08240fd8 in pg_analyze_and_rewrite ()
#10 0x082413ee in exec_simple_query ()
#11 0x08245284 in PostgresMain ()
#12 0x08210b9e in BackendRun ()
#13 0x08210174 in BackendStartup ()
#14 0x0820dc53 in ServerLoop ()
#15 0x0820d631 in PostmasterMain ()
#16 0x081b2ee7 in main ()

3 more "step"s gets me here, to the segfault and connection termination:
(gdb) step
Single stepping until exit from function siglongjmp,
which has no line number information.

Program received signal SIGSEGV, Segmentation fault.
0x0056bfde in getenv () from /lib/libc.so.6
(gdb) bt
#0 0x0056bfde in getenv () from /lib/libc.so.6
#1 0x005c1490 in tzset_internal () from /lib/libc.so.6
#2 0x005c1fad in tzset () from /lib/libc.so.6
#3 0x005c6726 in strftime_l () from /lib/libc.so.6
#4 0x0060b67f in __vsyslog_chk () from /lib/libc.so.6
#5 0x0060bbaa in syslog () from /lib/libc.so.6
#6 0x0830e3f9 in write_syslog ()
#7 0x0830f7a8 in send_message_to_server_log ()
#8 0x0830daf4 in EmitErrorReport ()
#9 0x082450bd in PostgresMain ()
#10 0x08210b9e in BackendRun ()
#11 0x08210174 in BackendStartup ()
#12 0x0820dc53 in ServerLoop ()
#13 0x0820d631 in PostmasterMain ()
#14 0x081b2ee7 in main ()

One more step, the connection is gone:
(gdb) step
Single stepping until exit from function getenv,
which has no line number information.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2008-01-28 21:52:32 Re: BUG #3905: configure cannot find ossp UUID libs and/or includes
Previous Message Pavel Golub 2008-01-28 18:27:05 BUG #3909: src\tools\msvc\clean.bat clears parse.h file