libgcc double-free, backend won't die - Mailing list pgsql-performance

From Craig James
Subject libgcc double-free, backend won't die
Date
Msg-id 475E4133.5080009@emolecules.com
Whole thread Raw
In response to Re: hardware and For PostgreSQL  (Joe Uhl <joeuhl@gmail.com>)
Responses Re: libgcc double-free, backend won't die
Re: libgcc double-free, backend won't die
List pgsql-performance
This is driving me crazy.  I have some Postgres C function extensions in a shared library.  They've been working fine.
Iupgraded 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

and the backend process won't die.  Every single connection that executes one of my functions leaves an idle process,
likethis: 

  $ ps -ef | grep postgres
  postgres 12938 12920  0  23:24 ?    00:00:00 postgres: mydb mydb [local] idle

This error only happens on disconnect.  As long as I keep the connection open, I can

Worse, these zombie Postgres processes won't die, which means I can't shut down and restart Postgres unless I "kill -9"
allof them, and I can't use this at all because I get zillions of these dead processes. 

I've used valgrind on a test application that runs all of my functions outside of the Postgres environment, and not a
singleproblem shows up even after hours of processing.  I tried setting MALLOC_CHECK_ to various values, so that I
couldtrap the abort() call using gdb, but once MALLOC_CHECK_ is set, the double-free error never occurs.  (But malloc
slowsdown too much this way.) 

I even read through the documentation for C functions again, and carefully examined my code.  Nothing is amiss, some of
thefunctions are quite simple yet still exhibit this problem. 

Anyone seen this before?  It's driving me nuts.

  Postgres 8.1.4
  Linux kernel 2.6.22
  gcc 4.1.1

Thanks,
Craig

pgsql-performance by date:

Previous
From: Greg Smith
Date:
Subject: Re: database tuning
Next
From: Manolo _
Date:
Subject: Benchmarking PG