Re: backend reset of database

From: Geoffrey <esoteric(at)3times25(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-general(at)postgresql(dot)org, Terry Lee Tucker <terry(at)leetuckert(dot)net>, John Allgood <john(at)turbocorp(dot)com>, "j(dot) >> \"J(dot) D(dot) Pearson\"" <jpearson(at)turbocorp(dot)com>
Subject: Re: backend reset of database
Date: 2007-04-09 17:49:58
Message-ID: 461A7CC6.60500@3times25.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Tom Lane wrote:
> Geoffrey <esoteric(at)3times25(dot)net> writes:
>> A backtrace against this process produces:
>
>> Program received signal SIGSEGV, Segmentation fault.
>> 0x0814acc9 in FileAccess (file=168481968) at fd.c:717
>> 717 if (FileIsNotOpen(file))
>> (gdb) bt
>> #0 0x0814acc9 in FileAccess (file=168481968) at fd.c:717
>> #1 0x0814b2e7 in FileRead (file=168481968, buffer=0xbff816ce "", amount=2)
>> at fd.c:972
>> #2 0x00203ecc in ?? ()
>
>> I'm assuming that the portion of the backtrace from frame 2-12 is likely
>> produced from the pcmiler binaries as we do not have source and they
>> don't contain debugging symbols.
>
> Is pcmiler a Postgres-specific backend extension?

No. It's a standalone application that provides an api to build calls
into there product from other applications. What we've done is created
functions that are called from the database that use their api. for
example:

CREATE OR REPLACE FUNCTION pcm_getmiles_s(text,text,integer)
RETURNS float8 AS '/esc/pgrnd/prog/libpcmiler'
LANGUAGE 'c' WITH (isStrict);

To produce the above back trace I executed the following from a psql window:

select pcm_getmiles_s('sparta,nc', 'buffalo,ny',0);

> It seems fairly
> unlikely that it would be calling FileRead() if not.

I find that unlikely as well.

> Do you have any
> other Postgres-specific libraries loaded into the backend?

I don't believe so.

> The immediate issue is that FileRead() is being passed a bogus file
> number, which might suggest an unexpected change in the contents of
> a struct or something like that, but I see no record of any such changes
> in the CVS log between 7.4.13 and 7.4.16.

This is what threw me as well. It definitely looks like something
internal to Postgresql.

--
Until later, Geoffrey

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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2007-04-09 18:12:58 Re: backend reset of database
Previous Message Tom Lane 2007-04-09 17:13:07 Re: backend reset of database