Re: BUG #16283: crash on create index segmentation fault

From: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
To: Przemysław Szustak <przemyslaw(dot)szustak(at)gmail(dot)com>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #16283: crash on create index segmentation fault
Date: 2020-03-02 21:31:21
Message-ID: 20200302213121.w5tyczavjhrmupux@development
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2020-03-02 22:39:14 BUG #16285: bt_metap fails with value is out of range for type integer
Previous Message Przemysław Szustak 2020-03-02 19:18:00 Re: BUG #16283: crash on create index segmentation fault