Re: backend crash following load command - Mailing list pgsql-general

From Tom Lane
Subject Re: backend crash following load command
Date
Msg-id 5882.1164745416@sss.pgh.pa.us
Whole thread Raw
In response to Re: backend crash following load command  ("Merlin Moncure" <mmoncure@gmail.com>)
Responses Re: backend crash following load command
List pgsql-general
"Merlin Moncure" <mmoncure@gmail.com> writes:
> ok, an update on this.  we actually covered up the bug in reducing the
> problem to our test case.  our make system used cp -f to overwite the
> .so file in use by postgresql.

With that I can reproduce it --- I think it is a glibc bug.  The crash
occurs inside dlsym() while trying to look up "_PG_fini".

(gdb) bt
#0  0x0000003bf1a08b31 in do_lookup_x () from /lib64/ld-linux-x86-64.so.2
#1  0x0000003bf1a08e6f in _dl_lookup_symbol_x ()
   from /lib64/ld-linux-x86-64.so.2
#2  0x0000003bf1cff5ee in do_sym () from /lib64/libc.so.6
#3  0x0000003bf2101334 in dlsym_doit () from /lib64/libdl.so.2
#4  0x0000003bf1a0ca36 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#5  0x0000003bf210173d in _dlerror_run () from /lib64/libdl.so.2
#6  0x0000003bf21012ea in dlsym () from /lib64/libdl.so.2
#7  0x000000000061f414 in load_file (filename=Variable "filename" is not available.
) at dfmgr.c:352
#8  0x00000000005a3d4c in PortalRunUtility (portal=0x98a828, query=0x9564f0,
    dest=0x956798, completionTag=0x7fffb624e4e0 "") at pquery.c:1063

I'd suggest putting together a simple stand-alone test case and filing
a bug report against glibc.  You probably just need

    dlopen(...);
    system("cp -f over the .so file");
    dlsym(...);

            regards, tom lane

pgsql-general by date:

Previous
From: "Wm.A.Stafford"
Date:
Subject: using a sequence as the functional equivalent to Oracle rownum
Next
From: Martijn van Oosterhout
Date:
Subject: Re: backend crash following load command