Re: BUG #16283: crash on create index segmentation fault - Mailing list pgsql-bugs

From Tomas Vondra
Subject Re: BUG #16283: crash on create index segmentation fault
Date
Msg-id 20200302213121.w5tyczavjhrmupux@development
Whole thread Raw
In response to Re: BUG #16283: crash on create index segmentation fault  (Przemysław Szustak <przemyslaw.szustak@gmail.com>)
Responses Re: BUG #16283: crash on create index segmentation fault
List pgsql-bugs
Hi,

On Mon, Mar 02, 2020 at 08:18:00PM +0100, Przemysław Szustak wrote:
>I installed postgresql-10-dbg. I can't find how to do it in postgis.
>sudo apt install postgis(tab tab)
>    postgis      postgis-doc  postgis-gui
>sudo apt install postgresql-10-postgis-(tab tab)
>    postgresql-10-postgis-2.4          postgresql-10-postgis-2.4-scripts
> postgresql-10-postgis-2.5          postgresql-10-postgis-2.5-scripts
> postgresql-10-postgis-3            postgresql-10-postgis-3-scripts
>

Not sure, but there should be postgis-dbgsym package, I think.

>I updated github info.

I find it rather annoying that we're discussing here but the relevant
debug info is somewhere on github, getting updated. That makes is almost
impossible for anyone to follow the discussion after a while. Please
copy the important bits here in the future (attach them as a file, if
necessary).

>New logs from core dump was available below '*new crash dump file generated
>after install postgres dbg and run gbd -p 'postgres-10-PID*''.
>I generated bt from old dump crash too.
>

Well, both crashes fail at the same place - the last three frames look
like this:

#0  pfree (pointer=0x7f7a6e4068f8) at
/build/postgresql-10-0Kn02a/postgresql-10-10.12/build/../src/backend/utils/mmgr/mcxt.c:954
#1  0x00007f7a65e39b5e in ?? () from /usr/lib/postgresql/10/lib/postgis-2.5.so
#2  0x00007f7a65e3b367 in gserialized_gist_picksplit () from /usr/lib/postgresql/10/lib/postgis-2.5.so

which means it fails here:

   void
   pfree(void *pointer)
   {
     MemoryContext context = GetMemoryChunkContext(pointer);

     (*context->methods->free_p) (context, pointer);           <------
     VALGRIND_MEMPOOL_FREE(context, pointer);
   }

So the pointer passed to pfree() may be actually OK, but one of the
pointers (context, methods or free_p) is probably somehow borked. It's
hard to say from the backtrace, you'll have to inspect that from gdb
(see my previous message for basic instructions).

You'll probably need to install the postgis debug symbols first, but
maybe try without it.

Are you able to extract some subset of the data, so that people can
reproduce this locally?


regards

-- 
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-bugs by date:

Previous
From: Przemysław Szustak
Date:
Subject: Re: BUG #16283: crash on create index segmentation fault
Next
From: PG Bug reporting form
Date:
Subject: BUG #16285: bt_metap fails with value is out of range for type integer