BUG #5769: Problem with SPI_getvalue

Started by Helmar Spangenbergover 15 years ago4 messagesbugs
Jump to latest
#1Helmar Spangenberg
hspangenberg@frey.de

The following bug has been logged online:

Bug reference: 5769
Logged by: Helmar Spangenberg
Email address: hspangenberg@frey.de
PostgreSQL version: 9.0.1
Operating system: Linux
Description: Problem with SPI_getvalue
Details:

Referring to the manual, I can pfree the result returned by SPI_getvalue.
However the backend crashes as soon as I use pfree.

No example uses pfree. Could it be possible, there is a bug in the
documentation?

Thanks,
Helmar

#2Heikki Linnakangas
heikki.linnakangas@enterprisedb.com
In reply to: Helmar Spangenberg (#1)
Re: BUG #5769: Problem with SPI_getvalue

On 25.11.2010 13:45, Helmar Spangenberg wrote:

Bug reference: 5769
Logged by: Helmar Spangenberg
Email address: hspangenberg@frey.de
PostgreSQL version: 9.0.1
Operating system: Linux
Description: Problem with SPI_getvalue
Details:

Referring to the manual, I can pfree the result returned by SPI_getvalue.
However the backend crashes as soon as I use pfree.

No example uses pfree. Could it be possible, there is a bug in the
documentation?

The return value of SPI_getvalue is certainly palloc()'d, so pfree()ing
it should not crash. Perhaps you are trying to pfree() it after the
whole memory context has already been destroyed. Or perhaps SPI_getvalue
returned a NULL and you're trying to pfree() that. Can't say without
more details.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

#3Helmar Spangenberg
hspangenberg@frey.de
In reply to: Heikki Linnakangas (#2)
Re: BUG #5769: Problem with SPI_getvalue

You are right.
In my case I obviously had corrupted the heap somewhere else - now it works as
expected.

Thanks for your quick answer,
Helmar

Am Donnerstag, 25. November 2010 16:11:03 schrieb Heikki Linnakangas:

Show quoted text

On 25.11.2010 13:45, Helmar Spangenberg wrote:

Bug reference: 5769
Logged by: Helmar Spangenberg
Email address: hspangenberg@frey.de
PostgreSQL version: 9.0.1
Operating system: Linux
Description: Problem with SPI_getvalue
Details:

Referring to the manual, I can pfree the result returned by SPI_getvalue.
However the backend crashes as soon as I use pfree.

No example uses pfree. Could it be possible, there is a bug in the
documentation?

The return value of SPI_getvalue is certainly palloc()'d, so pfree()ing
it should not crash. Perhaps you are trying to pfree() it after the
whole memory context has already been destroyed. Or perhaps SPI_getvalue
returned a NULL and you're trying to pfree() that. Can't say without
more details.

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Helmar Spangenberg (#1)
Re: BUG #5769: Problem with SPI_getvalue

"Helmar Spangenberg" <hspangenberg@frey.de> writes:

Referring to the manual, I can pfree the result returned by SPI_getvalue.

Well, the result is the output of a datatype output function. I think
that's palloc'd by all standard datatypes, but maybe you're working with
a custom datatype that tries to return a constant string?

regards, tom lane