Search Postgresql Archives

Re: backend reset of database

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tom Lane wrote:
Geoffrey <esoteric@xxxxxxxxxxxx> writes:
Tom Lane wrote:
The trace is *really* suspicious given what you say here.  I'm inclined
to think that what is really happening is that something is jumping to
never-never land (via a clobbered function pointer or overwriting a
return address on the stack) and it just happens to end up in FileRead.
Unfortunately that guess doesn't provide much help for debugging it :-(

I just find it hard to believe that an address is getting clobbered or some such thing and we just happen to fall into the very beginning of a function.

Well, this trace doesn't prove any such thing.  If it was a wild jump,
we can surmise that it landed someplace in the first few instructions of
FileRead (before the call to FileAccess), but there's no proof here that
it landed on-the-nose at the first instruction.

So you're saying that the debugger will simply point to that function if the address it 'jumps to' is somewhere in address space of this function? I don't know the intricacies of the debugger to understand how all that works. My expectation is that a random address is unlikely to make any sense to the debugger.

I would also have expected that all the parms to the FileRead call would have been garbage, yet that does not seem to be the case:

#1  0x0814b2e7 in FileRead (file=168481968, buffer=0xbff816ce "", amount=2)

That's actually one of the things I find suspicious: AFAICS all the
calls to FileRead in the backend (and there aren't many) use a constant
BLCKSZ value for "amount".  So I doubt the 2 is an intentionally passed
parameter, it's more likely whatever happened to be in the relevant word
of the stack.

Thanks, that makes sense. Now I've just got to figure out how it's 'getting there' to start with. :)

--
Until later, Geoffrey

Those who would give up essential Liberty, to purchase a little
temporary Safety, deserve neither Liberty nor Safety.
 - Benjamin Franklin


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux