From: | Magnus Hagander <magnus(at)hagander(dot)net> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Lars Aksel Opsahl <Lars(dot)Opsahl(at)nibio(dot)no>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, "pgsql-admin(at)lists(dot)postgresql(dot)org" <pgsql-admin(at)lists(dot)postgresql(dot)org> |
Subject: | Re: free(): invalid pointer , when to dumping data to a new server |
Date: | 2020-11-02 08:24:46 |
Message-ID: | CABUevEyjxEPMdR47HOwdLAJjmNu97q4PS-XU6Obemcaf6rsrBw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
On Tue, Oct 27, 2020 at 5:52 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
> Lars Aksel Opsahl <Lars(dot)Opsahl(at)nibio(dot)no> writes:
> > (gdb) bt
> > #0 0x00007fa9c241e70f in raise () from /lib64/libc.so.6
> > #1 0x00007fa9c2408b25 in abort () from /lib64/libc.so.6
> > #2 0x00007fa9c2461897 in __libc_message () from /lib64/libc.so.6
> > #3 0x00007fa9c2467fdc in malloc_printerr () from /lib64/libc.so.6
> > #4 0x00007fa9c24698dc in _int_free () from /lib64/libc.so.6
> > #5 0x00007f992fe099f9 in osgeo::proj::common::UnitOfMeasure::~UnitOfMeasure() () from /lib64/libproj.so.15
> > #6 0x00007fa9c2420e9c in __run_exit_handlers () from /lib64/libc.so.6
> > #7 0x00007fa9c2420fd0 in exit () from /lib64/libc.so.6
> > #8 0x000000000075beb0 in proc_exit (code=code(at)entry=0) at ipc.c:152
> > #9 0x000000000077fd21 in PostgresMain (argc=<optimized out>, argv=argv(at)entry=0x182b6d8, dbname=<optimized out>, username=<optimized out>) at postgres.c:4455
> > #10 0x00000000007085a1 in BackendRun (port=0x1819b90, port=0x1819b90) at postmaster.c:4448
> > #11 BackendStartup (port=0x1819b90) at postmaster.c:4139
> > #12 ServerLoop () at postmaster.c:1704
> > #13 0x00000000007094d0 in PostmasterMain (argc=argc(at)entry=3, argv=argv(at)entry=0x17e7800) at postmaster.c:1377
> > #14 0x0000000000482c7e in main (argc=3, argv=0x17e7800) at main.c:228
>
> OK, I'd say that definitely puts the bug outside of core Postgres.
> It looks like proj has installed an atexit() handler that is trying
> to free something that was already freed. This might be proj's
> fault directly, or perhaps a caller did something wrong (a likely
> bet, perhaps, is using palloc for something that proj expects to
> survive till program exit).
>
> Probably the next step is to take this to the postgis support lists
> and see what they think about it.
FYI, looking at this one in a bit more details it looks like it's
standard C++ destructors -- they're added to the list of exit handlers
automatically when C++ is used, AIUI.
Still leaves the problem with postgis/proj of course, but as a
noteworthy detail. It's not as easy as an explicit atexit().
However, mostly this looks like a packaging issue on RHEL8, or more
likely a combination of a packaging issue and some updated packages
that somehow trigger a new issue. It seems to load multiple versions
of some of the required C++ libraries at the same time, and I bet
they're conflicting with each other.
--
Magnus Hagander
Me: https://www.hagander.net/
Work: https://www.redpill-linpro.com/
From | Date | Subject | |
---|---|---|---|
Next Message | John Scalia | 2020-11-02 12:40:26 | More on my partitioning problem |
Previous Message | Tom Lane | 2020-10-30 18:09:02 | Re: Creating a partition table |