Skip site navigation (1) Skip section navigation (2)

Re: Server process exited with status 139 (meaning?)

From: Ed Loehr <eloehr(at)austin(dot)rr(dot)com>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>, pghackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Server process exited with status 139 (meaning?)
Date: 2000-06-26 05:07:30
Message-ID: 3956E512.A3880EF@austin.rr.com (view raw or flat)
Thread:
Lists: pgsql-hackers
Ed Loehr wrote:
> 
> > > > I have a query crashing the backend and leaving this message in the
> > > > server log...
> > > > What does exit status 139 mean?
> > >
> > > The backend terminated because of a segmentation fault (note 139 = 128 +
> > > 11, 11 = SIGSEGV). So it's definitely a bug and we'd need to see the
> > > query.
> >
> > I don't need help on this as I found workable queries for my purposes,
> > but here is a simplified core-dumper (7.0beta3) for posterity...
> 
> Oops.  A few typos in my last post.  Correction below (still
> segfaulting):
> 
> DROP TABLE foo;
> CREATE TABLE foo (d date);
> CREATE UNIQUE INDEX date_uidx ON foo(d);
> CREATE UNIQUE INDEX datetime_uidx ON foo(datetime(d));
> INSERT INTO foo (d) VALUES ('17-Jun-1995');
> INSERT INTO foo (d) VALUES ('18-Jun-1995');
> INSERT INTO foo (d) VALUES ('19-Jun-1995');
> 
> DROP TABLE bar;
> DROP SEQUENCE bar_id_seq;
> CREATE TABLE bar (
>     id SERIAL,
>     start_time DATETIME,
>     duration FLOAT
> );
> INSERT INTO bar (start_time, duration) VALUES ('17-Jun-1995', 3);
> INSERT INTO bar (start_time, duration) VALUES ('18-Jun-1995', 3);
> INSERT INTO bar (start_time, duration) VALUES ('19-Jun-1995', 3);
> 
> DROP TABLE baz;
> DROP SEQUENCE baz_id_seq;
> CREATE TABLE baz (
>     id SERIAL,
>     bar_id DATETIME,
             ^^^^^^^^^

One more typo:  'bar_id' should be of type INTEGER (and the crash
remains).

Regards,
Ed Loehr

>     duration FLOAT
> );
> INSERT INTO baz (bar_id, duration) SELECT id, duration FROM bar;
> 
> -- Here's the offending query...
> SELECT f.d, r.start_time::date, r.duration AS "r_dur",
>        z.duration AS "z_dur", f.d,
>        (r.start_time - '1 day'::interval)::date AS "leave",
>        (r.start_time + (z.duration||' days')::interval)::date AS "return"
> FROM foo f, bar r, baz z
> WHERE r.id = 2
>   AND z.bar_id = 2
>   AND (f.d = (r.start_time - '1 day'::interval)::date
>     OR f.d = (r.start_time + (z.duration||' days')::interval));

In response to

Responses

pgsql-hackers by date

Next:From: Ed LoehrDate: 2000-06-26 05:14:35
Subject: ExecInitIndexScan: both left and right ops are rel-vars
Previous:From: Ed LoehrDate: 2000-06-26 04:56:24
Subject: Re: Server process exited with status 139 (meaning?)

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group