Thread: "bogus aset link"

"bogus aset link"

From
ntinos@aueb.gr
Date:
Hi everybody!

While writting some code for the backend (some SPI-like functions for a
project) I saw this message:

"WARNING:  problem in alloc set ExecutorState: bogus aset link in block
0x8301270, chunk 0x8304458"

I think there is something wrong with some of the memory allocations I do,
but this message is not helping me much in finding the exact error. I read
the source code comments but I couldn't understand what this is.

What is this about?

Thanks in advance,
Ntinos Katsaros



Re: "bogus aset link"

From
Tom Lane
Date:
ntinos@aueb.gr writes:
> While writting some code for the backend (some SPI-like functions for a
> project) I saw this message:

> "WARNING:  problem in alloc set ExecutorState: bogus aset link in block
> 0x8301270, chunk 0x8304458"

> I think there is something wrong with some of the memory allocations I do,
> but this message is not helping me much in finding the exact error.

The most likely bet is that your code wrote past the end of a memory
chunk it had palloc'd, and thereby clobbered the bookkeeping info for
the next physically adjacent chunk.

You could home in on the location of the clobber by sprinkling
"MemoryContextCheck(TopMemoryContext)" calls through your code.

            regards, tom lane


Re: "bogus aset link"

From
ntinos@aueb.gr
Date:
Thanks!
Your advice helped me find what caused the problem immediately. It was a
wrong 'palloc' as you suspected (and as usual for me ;-) ).

Ntinos Katsaros

Tom Lane writes:

> ntinos@aueb.gr writes:
>> While writting some code for the backend (some SPI-like functions for a
>> project) I saw this message:
>
>> "WARNING:  problem in alloc set ExecutorState: bogus aset link in block
>> 0x8301270, chunk 0x8304458"
>
>> I think there is something wrong with some of the memory allocations I do,
>> but this message is not helping me much in finding the exact error.
>
> The most likely bet is that your code wrote past the end of a memory
> chunk it had palloc'd, and thereby clobbered the bookkeeping info for
> the next physically adjacent chunk.
>
> You could home in on the location of the clobber by sprinkling
> "MemoryContextCheck(TopMemoryContext)" calls through your code.
>
>             regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster