Re: [GENERAL] double free corruption?

2007-12-31 Thread Reece Hart
On Fri, 2007-12-28 at 12:33 -0300, marcelo Cortez wrote:

>  i received the follow message from backend ,it's this
> a bug?

...

> *** glibc detected *** postgres: postgres richelet
> 201.235.11.133(2504) SELECT: double free or corruption
> (!prev): 0x0845d7e8 ***
> === Backtrace: =


Does this happen to be on Novell SLES/SLED 10? I saw this bug
sporadically and in several applications 6-9 months ago. I don't think I
ever knew the cause or even what specifically tickled this problem, but
my recollection is that a Novell patch set fixed it.

I remember that I saw a log of these in /var/log/messages (assuming
you're logging locally). Consider looking there to see if you have other
instances of this bug with other applications.

-Reece

-- 
Reece Hart, http://harts.net/reece/, GPG:0x25EC91A0


Re: [GENERAL] double free corruption?

2007-12-28 Thread Tom Lane
Erik Jones <[EMAIL PROTECTED]> writes:
> Well, if Postgres had killed the proc itself it would have written  
> out a nicely formatted Postgres-style memory context report along  
> with an ERROR message along the lines of OUT OF MEMORY and the  
> request size and Postgres would not have bounced.  Since the  
> postmaster dropped into recovery mode when the proc received the  
> SIGABRT and died, that means that the signal came from somewhere  
> else, OOM killer?

No, an abort() is expected when glibc's malloc code detects a problem,
and all that other junk is stuff that malloc helpfully prints on stderr
before committing hara-kiri.

This seems clearly a memory-stomp bug of some kind (although there's
a very small probability that it was a transient RAM glitch).  Not much
we can do about it without a test case, though.

regards, tom lane

---(end of broadcast)---
TIP 4: Have you searched our list archives?

   http://archives.postgresql.org/


Re: [GENERAL] double free corruption?

2007-12-28 Thread Tom Lane
marcelo Cortez <[EMAIL PROTECTED]> writes:
> sorry i forgot to mention
> i'm developing one c external program, may be fault is
> my code , but surprise to  me the message, what bad
> practice generate this behavior?
> fail seems to be not to reproducible all times,

> i'm using beta3 version, it's this important?

What it looks like to me is something clobbering memory, eg writing more
data into a palloc'd memory chunk than will fit; which results in
overwriting malloc's own data structures, causing malloc to complain
when it notices.

Whether it's your bug or something wrong in the beta is hard to say.

> pd: gdb can help? ( for debugging my own code)

--enable-cassert would probably help more, since it would turn on some
clobber-detection support in PG.

regards, tom lane

---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
   subscribe-nomail command to [EMAIL PROTECTED] so that your
   message can get through to the mailing list cleanly


Re: [GENERAL] double free corruption?

2007-12-28 Thread marcelo Cortez
Folks 

sorry i forgot to mention
i'm developing one c external program, may be fault is
my code , but surprise to  me the message, what bad
practice generate this behavior?
fail seems to be not to reproducible all times,

i'm using beta3 version, it's this important?

select version: 
"PostgreSQL 8.3beta3 on i686-pc-linux-gnu, compiled by
GCC gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.0.1)"

i'ts correct GCC version?

best regards.
MDC 

pd: gdb can help? ( for debugging my own code)
links about howto debug? 


--- Tom Lane <[EMAIL PROTECTED]> escribió:

> marcelo Cortez <[EMAIL PROTECTED]> writes:
> > *** glibc detected *** postgres: postgres richelet
> > 201.235.11.133(2504) SELECT: double free or
> corruption
> > (!prev): 0x0845d7e8 ***
> 
> What PG version is this?  Can you provide a
> reproducible test case?
> 
>   regards, tom lane
> 
> ---(end of
> broadcast)---
> TIP 5: don't forget to increase your free space map
> settings
> 



  Tarjeta de crédito Yahoo! de Banco Supervielle.
Solicitá tu nueva Tarjeta de crédito. De tu PC directo a tu casa. 
www.tuprimeratarjeta.com.ar 

---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [GENERAL] double free corruption?

2007-12-28 Thread Tom Lane
marcelo Cortez <[EMAIL PROTECTED]> writes:
> *** glibc detected *** postgres: postgres richelet
> 201.235.11.133(2504) SELECT: double free or corruption
> (!prev): 0x0845d7e8 ***

What PG version is this?  Can you provide a reproducible test case?

regards, tom lane

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] double free corruption?

2007-12-28 Thread Erik Jones


On Dec 28, 2007, at 9:33 AM, marcelo Cortez wrote:


Folks

 i received the follow message from backend ,it's this
a bug?

best regards
and happy new year
MDC


pd: any clue are welcomed.




*** glibc detected *** postgres: postgres richelet
201.235.11.133(2504) SELECT: double free or corruption
(!prev): 0x0845d7e8 ***
=== Backtrace: =
/lib/libc.so.6[0xb7e0e930]
/lib/libc.so.6(__libc_free+0x89)[0xb7e0ff99]
postgres: postgres richelet 201.235.11.133(2504)
SELECT[0x82b1c0b]
postgres: postgres richelet 201.235.11.133(2504)
SELECT(MemoryContextDelete+0x42)[0x82b2152]
postgres: postgres richelet 201.235.11.133(2504)
SELECT(MemoryContextDeleteChildren+0x28)[0x82b2198]
postgres: postgres richelet 201.235.11.133(2504)
SELECT(MemoryContextDelete+0x12)[0x82b2122]
postgres: postgres richelet 201.235.11.133(2504)
SELECT(MemoryContextDeleteChildren+0x28)[0x82b2198]
postgres: postgres richelet 201.235.11.133(2504)
SELECT(AtAbort_Portals+0x6f)[0x82b281f]
postgres: postgres richelet 201.235.11.133(2504)
SELECT[0x80adef3]
postgres: postgres richelet 201.235.11.133(2504)
SELECT(AbortCurrentTransaction+0x25)[0x80ae115]
postgres: postgres richelet 201.235.11.133(2504)
SELECT(PostgresMain+0x25c6)[0x81f7226]
postgres: postgres richelet 201.235.11.133(2504)
SELECT[0x81ca226]
postgres: postgres richelet 201.235.11.133(2504)
SELECT(PostmasterMain+0x81d)[0x81caf0d]
postgres: postgres richelet 201.235.11.133(2504)
SELECT(main+0x1c7)[0x8182e67]
/lib/libc.so.6(__libc_start_main+0xd8)[0xb7dc0838]
postgres: postgres richelet 201.235.11.133(2504)
SELECT[0x807fa81]
=== Memory map: 
08048000-0836a000 r-xp  03:03 715320
/usr/local/pgsql/bin/postgres
0836a000-08373000 rw-p 00321000 03:03 715320
/usr/local/pgsql/bin/postgres
08373000-0846d000 rw-p 08373000 00:00 0
[heap]
b5f0-b5f21000 rw-p b5f0 00:00 0
b5f21000-b600 ---p b5f21000 00:00 0
b60c4000-b60ce000 r-xp  03:03 744303
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1
b60ce000-b60cf000 rw-p 9000 03:03 744303
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1
b60d7000-b60d9000 r-xp  03:03 708661
/usr/lib/gconv/ISO8859-1.so
b60d9000-b60db000 rw-p 1000 03:03 708661
/usr/lib/gconv/ISO8859-1.so
b60db000-b60e3000 r-xp  03:03 527740
/usr/local/pgsql/lib/fuzzystrmatch.so
b60e3000-b60e4000 rw-p 7000 03:03 527740
/usr/local/pgsql/lib/fuzzystrmatch.so
b60e4000-b6146000 rw-p b60e4000 00:00 0
b6146000-b6154000 r-xp  03:03 709308
/lib/libresolv-2.5.so
b6154000-b6156000 rw-p d000 03:03 709308
/lib/libresolv-2.5.so
b6156000-b6158000 rw-p b6156000 00:00 0
b6158000-b615c000 r-xp  03:03 709745
/lib/libnss_dns-2.5.so
b615c000-b615e000 rw-p 3000 03:03 709745
/lib/libnss_dns-2.5.so
b615e000-b6166000 r-xp  03:03 708470
/lib/libnss_files-2.5.so
b6166000-b6168000 rw-p 7000 03:03 708470
/lib/libnss_files-2.5.so
b6169000-b617 r--s  03:03 6427
/usr/lib/gconv/gconv-modules.cache
b617-b61a3000 r--p  03:03 8975
/usr/lib/locale/es_AR/LC_CTYPE
b61a3000-b61a8000 r--p  03:03 16329
/usr/lib/locale/es_AR/LC_COLLATE
b61a8000-b7daa000 rw-s  00:08 114456
/SYSV0052e2c1 (deleted)
b7daa000-b7dab000 rw-p b7daa000 00:00 0
b7dab000-b7ecd000 r-xp  03:03 709248
/lib/libc-2.5.so
b7ecd000-b7ece000 r--p 00122000 03:03 709248
/lib/libc-2.5.so
b7ece000-b7ed rw-p 00123000 03:03 709248
/lib/libc-2.5.so
b7ed-b7ed3000 rw-p b7ed 00:00 0
b7ed3000-b7ef6000 r-xp  03:03 709734
/lib/libm-2.5.so
b7ef6000-b7ef8000 rw-p 00022000 03:03 709734
/lib/libm-2.5.so
b7ef8000-b7efa000 r-xp  03:03 709751
/lib/libdl-2.5.so
b7efa000-b7efc000 rw-p 1000 03:03 709751
/lib/libdl-2.5.so
b7efc000-b7f01000 r-xp  03:03 709885
/lib/libcrypt-2.5.so
b7f01000-b7f03000 rw-p 4000 03:03 709885
/lib/libcrypt-2.5.so
b7f03000-b7f2b000 rw-p b7f03000 00:00 0
b7f2d000-b7f2e000 r-xp  03:03 715438
/usr/local/pgsql/lib/utf8_and_iso8859_1.so
b7f2e000-b7f2f000 rw-p  03:03 715438
/usr/local/pgsql/lib/utf8_and_iso8859_1.so
b7f2f000-b7f3 r--p  03:03 206641
/usr/lib/locale/es_AR/LC_TIME
b7f3-b7f31000 r--p  03:03 16760
/usr/lib/locale/es_AR/LC_NUMERIC
b7f31000-b7f32000 r--p  03:03 206642
/usr/lib/locale/es_AR/LC_MONETARY
b7f32000-b7f33000 r--p  03:03 16336
/usr/lib/locale/es_AR/LC_MESSAGES/SYS_LC_MESSAGES
b7f33000-b7f4d000 r-xp  03:03 709923
/lib/ld-2.5.so
b7f4d000-b7f4e000 r--p 00019000 03:03 709923
/lib/ld-2.5.so
b7f4e000-b7f4f000 rw-p 0001a000 03:03 709923
/lib/ld-2.5.so
bfdc4000-bfdda000 rw-p bfdc4000 00:00 0
[stack]
e000-f000 r-xp  00:00 0
[vdso]
LOG:  server process (PID 15558) was terminated by
signal 6: Aborted
LOG:  terminating any other active server processes
WARNING:  terminating connection because of crash of
another server process
DETAIL:  The postmaster has commanded this server
process to roll back the current transaction and exit,
because another server process exited abnormally and
possibly