SIGSEGV when trying to start in single user mode

From: Björn Häuser <bjoernhaeuser(at)googlemail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: SIGSEGV when trying to start in single user mode
Date: 2009-09-19 15:24:59
Message-ID: e8a218660909190824h12c1c088p80b937342077ed38@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello List,

I have a problem with my PostgreSQL 8.3.4 installation.

We had some problems with our storage subsystem and it seems
postgresql suffered a little bit from it.
Here are some log excerpts:

When trying to start postgesql:
---
# /etc/init.d/postgresql-8.3 start
Starting PostgreSQL 8.3 database server: main* Removed stale pid file.
The PostgreSQL server failed to start. Please check the log output:
2009-09-19 16:51:00 CEST LOG: could not load root certificate file
"root.crt": no SSL error reported
2009-09-19 16:51:00 CEST DETAIL: Will not verify client certificates.
2009-09-19 16:51:00 CEST LOG: could not create IPv6 socket: Address
family not supported by protocol
2009-09-19 16:51:00 CEST LOG: database system was interrupted while
in recovery at 2009-09-19 16:47:52 CEST
2009-09-19 16:51:00 CEST HINT: This probably means that some data is
corrupted and you will have to use the last backup for recovery.
2009-09-19 16:51:00 CEST LOG: database system was not properly shut
down; automatic recovery in progress
2009-09-19 16:51:00 CEST LOG: incomplete startup packet
2009-09-19 16:51:00 CEST LOG: redo starts at 44D/CEAFB200
2009-09-19 16:51:00 CEST LOG: unexpected pageaddr 44D/B8B0A000 in log
file 1101, segment 206, offset 11575296
2009-09-19 16:51:00 CEST LOG: redo done at 44D/CEB062C0
2009-09-19 16:51:00 CEST PANIC: right sibling's left-link doesn't
match: block 49696 links to 49978 instead of expected 3 in index
"132010"
2009-09-19 16:51:00 CEST LOG: startup process (PID 3727) was
terminated by signal 6: Aborted
2009-09-19 16:51:00 CEST LOG: aborting startup due to startup process failure
failed!
---

I think the index is not a system index.
But when I tried to start Postgresql in single-user mode to be able to
repair this index i am getting the mentioned SIGSEGV.
Here is the last part of the strace output:
http://pastie.org/622807

Here is the gdb output:
---
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47930899067328 (LWP 3881)]
0x00000000005a7fc0 in SHMQueueInsertBefore ()
(gdb) bt
#0 0x00000000005a7fc0 in SHMQueueInsertBefore ()
#1 0x00000000005ac7a0 in LockAcquire ()
#2 0x00000000005aa416 in LockRelationForExtension ()
#3 0x0000000000469b0e in _bt_getbuf ()
#4 0x0000000000467759 in _bt_getstackbuf ()
#5 0x00000000004687d2 in _bt_insert_parent ()
#6 0x000000000046fc34 in btree_xlog_cleanup ()
#7 0x000000000047fbfb in StartupXLOG ()
#8 0x00000000005b899d in PostgresMain ()
#9 0x00000000005448df in main ()
---

Its a debian, and I think there are no debug symbols in the package
(gdb announces some "no debugging symbols found")

Anyone knows what to do?

Thanks in advance,
Björn

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rob Wultsch 2009-09-19 15:33:09 Re: haversine formula with postgreSQL
Previous Message Inigo Barandiaran 2009-09-19 15:20:57 Re: Regarding initdb & pg_ctl