pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Craig James <craig_james@emolecules.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-performance@postgresql.org
Subject: Re: libgcc double-free, backend won't die
Date: Tue, 11 Dec 2007 07:12:17 -0800
Message-ID: <475EA8D1.1060001@emolecules.com> (raw)
In-Reply-To: <7891.1197385633@sss.pgh.pa.us>
References: <C34DDC3D.43F60%llonergan@greenplum.com>
	<7EB0D6C0-48E2-4155-8559-9113D3BD2785@ketema.net>
	<4728CF7B.7040306@gmail.com>
	<4728FB3E.3070709@shaw.ca>
	<472978BE.9@hagander.net>
	<4729B1E9.2080306@gmail.com>
	<475E4133.5080009@emolecules.com>
	<7891.1197385633@sss.pgh.pa.us>

Tom Lane wrote:
> Craig James <craig_james@emolecules.com> writes:
>> This is driving me crazy.  I have some Postgres C function extensions in a shared library.  They've been working fine.  I upgraded to Fedora Core 6 and gcc4, and now every time psql(1) disconnects from the server, the serverlog gets this message:
>>    *** glibc detected *** postgres: mydb mydb [local] idle: double free or corruption! (!prev): 0x08bfcde8
> 
> Have you tried attaching to one of these processes with gdb to see where
> it ends up?  Have you checked to see if the processes are becoming
> multi-threaded?
> 
> 			regards, tom lane
> 


# ps -ef | grep postgres
postgres 31362     1  0 06:53 ?        00:00:00 /usr/local/pgsql/bin/postmaster -D /postgres/main
postgres 31364 31362  0 06:53 ?        00:00:00 postgres: writer process                         
postgres 31365 31362  0 06:53 ?        00:00:00 postgres: stats buffer process                   
postgres 31366 31365  0 06:53 ?        00:00:00 postgres: stats collector process                
postgres 31442 31362  0 06:54 ?        00:00:00 postgres: craig_test craig_test [local] idle     
root     31518 31500  0 07:06 pts/6    00:00:00 grep postgres
# gdb -p 31442
GNU gdb Red Hat Linux (6.5-15.fc6rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.

[snip - a bunch of symbol table stuff]

0x00110402 in __kernel_vsyscall ()
(gdb) bt
#0  0x00110402 in __kernel_vsyscall ()
#1  0x0082fb8e in __lll_mutex_lock_wait () from /lib/libc.so.6
#2  0x007bfce8 in _L_lock_14096 () from /lib/libc.so.6
#3  0x007befa4 in free () from /lib/libc.so.6
#4  0x00744f93 in _dl_map_object_deps () from /lib/ld-linux.so.2
#5  0x0074989d in dl_open_worker () from /lib/ld-linux.so.2
#6  0x00745c36 in _dl_catch_error () from /lib/ld-linux.so.2
#7  0x00749222 in _dl_open () from /lib/ld-linux.so.2
#8  0x00858712 in do_dlopen () from /lib/libc.so.6
#9  0x00745c36 in _dl_catch_error () from /lib/ld-linux.so.2
#10 0x008588c5 in __libc_dlopen_mode () from /lib/libc.so.6
#11 0x00836139 in init () from /lib/libc.so.6
#12 0x008362d3 in backtrace () from /lib/libc.so.6
#13 0x007b3e11 in __libc_message () from /lib/libc.so.6
#14 0x007bba96 in _int_free () from /lib/libc.so.6
#15 0x007befb0 in free () from /lib/libc.so.6
#16 0x001f943a in DeleteByteCode (node=0x890ff4) at chains.cpp:477
#17 0x00780859 in exit () from /lib/libc.so.6
#18 0x081a6064 in proc_exit ()
#19 0x081b5b9d in PostgresMain ()
#20 0x0818e34b in ServerLoop ()
#21 0x0818f1de in PostmasterMain ()
#22 0x08152369 in main ()
(gdb) 




view thread (28+ messages)  latest in thread

Message-ID: <475EA8D1.1060001@emolecules.com>
Permalink:  ../475EA8D1.1060001@emolecules.com/
Also on:    postgresql.org/message-id/475EA8D1.1060001@emolecules.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: craig_james@emolecules.com, tgl@sss.pgh.pa.us
  Subject: Re: libgcc double-free, backend won't die
  In-Reply-To: <475EA8D1.1060001@emolecules.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox