Re: pgsql: Remove "fmgr.h" include in cube contrib --- caused crash on a Ge - Mailing list pgsql-committers

From Tom Lane
Subject Re: pgsql: Remove "fmgr.h" include in cube contrib --- caused crash on a Ge
Date
Msg-id 2242.1315059789@sss.pgh.pa.us
Whole thread Raw
In response to Re: pgsql: Remove "fmgr.h" include in cube contrib --- caused crash on a Ge  (Jeremy Drake <pgsql@jdrake.com>)
Responses Re: pgsql: Remove "fmgr.h" include in cube contrib --- caused crash on a Ge
List pgsql-committers
Jeremy Drake <pgsql@jdrake.com> writes:
> ... I'm pretty sure that what it crashed on was
> attempting to access the global external variable CurrentMemoryContext.

Ah-hah, good insight!

> The odd thing is, that the disassembly code between the working and
> non-working was the same, except for the offsets.

The code seems to be fetching a pointer to CurrentMemoryContext from a
PC-relative location; presumably that's a literal that the dynamic
linker is supposed to update at shlib load time.  I guess that pointer
is not correctly computed in the other case, or else it's fetching the
wrong pointer value.

> Still, I have no idea why adding an include would cause issues accessing
> CurrentMemoryContext.

Me either, but at least it's something to work from.  You might try
diffing the working and non-working -E output from cube.c to see if
there are any changes that obviously affect CurrentMemoryContext.

            regards, tom lane

pgsql-committers by date:

Previous
From: Jeremy Drake
Date:
Subject: Re: pgsql: Remove "fmgr.h" include in cube contrib --- caused crash on a Ge
Next
From: Bruce Momjian
Date:
Subject: Re: pgsql: Remove "fmgr.h" include in cube contrib --- caused crash on a Ge