vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| > -----Message d'origine----- > De*: Tom Lane [mailto:tgl@sss.pgh.pa.us] > Envoyé*: jeudi, juillet 27, 2006 16:06 > À*: Daniel Caune > Cc*: pgsql-sql@postgresql.org > Objet*: Re: [SQL] PostgreSQL server terminated by signal 11 > > "Daniel Caune" <daniel.caune@ubisoft.com> writes: > > My PostgreSQL server running on a Linux machine is terminated by signal > > 11 whenever I try to create some indexes on a table, which contains > > quite a lot of data. > > Judging from your examples it's got something to do with the partial > index WHERE clause. What PG version is this exactly? If you leave out > different parts of the WHERE, does it still crash? Does the crash > happen immediately after you give the command, or does it run for > awhile? It might be worth getting a stack trace from the failure > (best way is to attach to the running backend with gdb, provoke the > crash, and do "bt" --- search for "gdb" in the archives if you need > details). > > regards, tom lane Quite a long time I didn't use gdb! :-) Anyway I proceed as described hereafter; correct me if I was wrong. > ps -eaf | grep postgres postgres 2792 2789 0 21:50 pts/2 00:00:00 su postgres postgres 2793 2792 0 21:50 pts/2 00:00:00 bash postgres 2902 1 7 22:17 ? 00:01:10 postgres: dbo agora [local] idle postgres 2952 1 2 22:32 ? 00:00:00 /usr/lib/postgresql/8.1/bin/postmaster -D /var/lib/postgresql/8.1/main -c unix_socket_directory=/var/run/postgresql -c config_file=/etc/postgresql/8.1/main/postgresql.conf -c hba_file=/etc/postgresql/8.1/main/pg_hba.conf -c ident_file=/etc/postgresql/8.1/main/pg_ident.conf postgres 2954 2952 0 22:32 ? 00:00:00 postgres: writer process postgres 2955 2952 0 22:32 ? 00:00:00 postgres: stats buffer process postgres 2956 2955 0 22:32 ? 00:00:00 postgres: stats collector process I connected to the postgres server using psql and I retrieved the backend pid by executing the statement "SELECT pg_backend_pid();" I started gdb under the UNIX account postgres and I attached the backend process providing the pid returned by the statement. I run the command responsible for creating the index and I entered "continue" in gdb for executing the command. After a while, the server crashes: Program received signal SIGSEGV, Segmentation fault. 0x08079e2a in slot_attisnull () (gdb) Continuing. Program terminated with signal SIGSEGV, Segmentation fault. The program no longer exists. I can't do "bt" since the program no longer exists. How can I provide more information, stack trace, and so on? -- Daniel ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq |
| |||
| "Daniel Caune" <daniel.caune@ubisoft.com> writes: > I run the command responsible for creating the index and I entered "continue" in gdb for executing the command. After a while, the server crashes: > Program received signal SIGSEGV, Segmentation fault. > 0x08079e2a in slot_attisnull () > (gdb) > Continuing. > Program terminated with signal SIGSEGV, Segmentation fault. > The program no longer exists. > I can't do "bt" since the program no longer exists. I think you typed one carriage return too many and the thing re-executed the last command, ie, the continue. Try it again. The lack of arguments shown for slot_attisnull suggests that all we're going to get is a list of function names, without line numbers or argument values. If that's not enough to figure out the problem, can you rebuild with --enable-debug to get a more useful stack trace? regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@postgresql.org so that your message can get through to the mailing list cleanly |
| ||||
| > -----Message d'origine----- > De : pgsql-sql-owner@postgresql.org [mailto > De la part de Tom Lane > Envoyé : jeudi 27 juillet 2006 19:26 > À : Daniel Caune > Cc : pgsql-admin@postgresql.org; pgsql-sql@postgresql.org > Objet : Re: [SQL] PostgreSQL server terminated by signal 11 > > "Daniel Caune" <daniel.caune@ubisoft.com> writes: > > I run the command responsible for creating the index and I entered > "continue" in gdb for executing the command. After a while, the server > crashes: > > > Program received signal SIGSEGV, Segmentation fault. > > 0x08079e2a in slot_attisnull () > > (gdb) > > Continuing. > > > Program terminated with signal SIGSEGV, Segmentation fault. > > The program no longer exists. > > > I can't do "bt" since the program no longer exists. > > I think you typed one carriage return too many and the thing re-executed > the last command, ie, the continue. Try it again. > OK, I'll try that tomorrow morning. Perhaps can I set a conditional breakpoint to function slot_attisnull when parameter slot is null (or slot->tts_tupleDescriptor is null). > The lack of arguments shown for slot_attisnull suggests that all we're > going to get is a list of function names, without line numbers or > argument values. If that's not enough to figure out the problem, can > you rebuild with --enable-debug to get a more useful stack trace? > Well, I installed PostgreSQL using apt-get but that won't be a problem to get the source from the CVS repository and to build a postgres binary using the option you provide to me. Just let me the time to do that. :-) Thanks, -- Daniel ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend |