Thread: BUG #2766: erratic segfault in libpq/DBD::Pg
The following bug has been logged online: Bug reference: 2766 Logged by: Karl DeBieechop Email address: kdebisschop@alert.infoplease.com PostgreSQL version: 8.1.4 Operating system: Fedora 5 Description: erratic segfault in libpq/DBD::Pg Details: error is completely erratic - will work 10 times, then fail. or fail 10 time then work. So I have not been able to find a reporduacble test case. But here's a trace: *** glibc detected *** /usr/bin/perl: realloc(): invalid pointer: 0x091c2f94 *** ======= Backtrace: ========= /lib/libc.so.6(__libc_realloc+0x302)[0x77039b] /usr/lib/libpq.so.4(enlargePQExpBuffer+0x68)[0x8c7c48] /usr/lib/libpq.so.4(printfPQExpBuffer+0x7f)[0x8c7e8f] /usr/lib/libpq.so.4(PQgetResult+0xea)[0x8bf54a] /usr/lib/libpq.so.4[0x8bf6c8] /usr/lib/libpq.so.4(PQexec+0x27)[0x8bf967] /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Pg/Pg.so[0 x89d5c9] /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Pg/Pg.so[0 x8a051f] /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Pg/Pg.so(d bd_st_destroy+0x180)[0x8a0b90] /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Pg/Pg.so(X S_DBD__Pg__st_DESTROY+0x2c2)[0x898592] /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBI/DBI.so(XS_ DBI_dispatch+0x22c8)[0x121128] /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so(Perl_pp_entersu b+0x40d)[0x3c0c01d] /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so[0x3ba5ce1] /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so(Perl_call_sv+0x 5e6)[0x3baa4d6] /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so(Perl_sv_clear+0 x84)[0x3c108f4] /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so(Perl_sv_free+0x 85)[0x3c11155] /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so[0x3c116fe] /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so[0x3c0e7d0] /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so(Perl_sv_clean_o bjs+0x3a)[0x3c0e83a] /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so(perl_destruct+0 x103f)[0x3bac3bf] /usr/bin/perl(main+0xe7)[0x80492f7] /lib/libc.so.6(__libc_start_main+0xdc)[0x71e4e4] /usr/bin/perl[0x8049181] ======= Memory map: ======== 00111000-0012e000 r-xp 00000000 08:05 475601 /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBI/DBI.so 0012e000-0012f000 rwxp 0001c000 08:05 475601 /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBI/DBI.so 0012f000-00138000 r-xp 00000000 08:05 312384 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/List/Util/Util.so 00138000-00139000 rwxp 00008000 08:05 312384 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/List/Util/Util.so 00139000-00141000 r-xp 00000000 08:08 98480 /lib/libnss_nis-2.4.so 00141000-00142000 r-xp 00007000 08:08 98480 /lib/libnss_nis-2.4.so 00142000-00143000 rwxp 00008000 08:08 98480 /lib/libnss_nis-2.4.so 00143000-0014c000 r-xp 00000000 08:08 98475 /lib/libnss_files-2.4.so 0014c000-0014d000 r-xp 00008000 08:08 98475 /lib/libnss_files-2.4.so 0014d000-0014e000 rwxp 00009000 08:08 98475 /lib/libnss_files-2.4.so 0019c000-0019f000 r-xp 00000000 08:05 312333 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Fcntl/Fcntl.so 0019f000-001a0000 rwxp 00002000 08:05 312333 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Fcntl/Fcntl.so 001a0000-002bf000 r-xp 00000000 08:08 98441 /lib/libcrypto.so.0.9.8a 002bf000-002d2000 rwxp 0011e000 08:08 98441 /lib/libcrypto.so.0.9.8a 002d2000-002d5000 rwxp 002d2000 00:00 0 004c7000-004cb000 r-xp 00000000 08:05 311983 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Digest/MD5/MD5.so 004cb000-004cc000 rwxp 00003000 08:05 311983 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Digest/MD5/MD5.so 0057e000-00582000 r-xp 00000000 08:05 312378 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/IO/IO.so 00582000-00583000 rwxp 00003000 08:05 312378 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/IO/IO.so 00697000-006bb000 r-xp 00000000 08:05 347389 /usr/lib/libk5crypto.so.3.0 006bb000-006bc000 rwxp 00024000 08:05 347389 /usr/lib/libk5crypto.so.3.0 006be000-006d6000 r-xp 00000000 08:05 347444 /usr/lib/libgssapi_krb5.so.2.2 006d6000-006d7000 rwxp 00017000 08:05 347444 /usr/lib/libgssapi_krb5.so.2.2 006e4000-006e6000 r-xp 00000000 08:08 98846 /lib/libutil-2.4.so 006e6000-006e7000 r-xp 00001000 08:08 98846 /lib/libutil-2.4.so 006e7000-006e8000 rwxp 00002000 08:08 98846 /lib/libutil-2.4.so 006eb000-006ec000 r-xp 006eb000 00:00 0 [vdso] 006ec000-00705000 r-xp 00000000 08:08 98377 /lib/ld-2.4.so 00705000-00706000 r-xp 00018000 08:08 98377 /lib/ld-2.4.so 00706000-00707000 rwxp 00019000 08:08 98377 /lib/ld-2.4.so 00709000-00836000 r-xp 00000000 08:08 98431 /lib/libc-2.4.so 00836000-00838000 r-xp 0012d000 08:08 98431 /lib/libc-2.4.so 00838000-00839000 rwxp 0012f000 08:08 98431 /lib/libc-2.4.so 00839000-0083c000 rwxp 00839000 00:00 0 0083e000-00861000 r-xp 00000000 08:08 98735 /lib/libm-2.4.so 00861000-00862000 r-xp 00022000 08:08 98735 /lib/libm-2.4.so 00862000-00863000 rwxp 00023000 08:08 98735 /lib/libm-2.4.so 00865000-00867000 r-xp 00000000 08:08 98506 /lib/libdl-2.4.so 00867000-00868000 r-xp 00001000 08:08 98506 /lib/libdl-2.4.so 00868000-00869000 rwxp 00002000 08:08 98506 /lib/libdl-2.4.so 0086b000-0087d000 r-xp 00000000 08:05 344354 /usr/lib/libz.so.1.2.3 0087d000-0087e000 rwxp 00011000 08:05 344354 /usr/lib/libz.so.1.2.3 0088b000-008ae000 r-xp 00000000 08:05 510959 /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Pg/Pg.so 008ae000-008af000 rwxp 00022000 08:05 510959 /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Pg/Pg.so 008b3000-008d3000 r-xp 00000000 08:05 344456 /usr/lib/libpq.so.4.1 008d3000-008d4000 rwxp 00020000 08:05 344456 /usr/lib/libpq.so.4.1 00a9c000-00aac000 r-xp 00000000 08:08 98737 /lib/libpthread-2.4.so 00aac000-00aad000 r-xp 0000f000 08:08 98737 /lib/libpthread-2.4.so 00aad000-00aae000 rwxp 00010000 08:08 98737 /lib/libpthread-2.4.so 00aae000-00ab0000 rwxp 00aae000 00:00 0 00ba1000-00bb3000 r-xp 00000000 08:08 98357 /lib/libnsl-2.4.so 00bb3000-00bb4000 r-xp 00011000 08:08 98357 /lib/libnsl-2.4.so 00bb4000-00bb5000 rwxp 00012000 08:08 98357 /lib/libnsl-2.4.so 00bb5000-00bb7000 rwxp 00bb5000 00:00 0 00be7000-00bf2000 r-xp 00000000 08:08 98736 /lib/libgcc_s-4.1.1-20060525.so.1 00bf2000-00bf3000 rwxp 0000a000 08:08 98736 /lib/libgcc_s-4.1.1-20060525.so.1 00c0f000-00c13000 r-xp 00000000 08:08 98466 /lib/libnss_dns-2.4.so 00c13000-00c14000 r-xp 00003000 08:08 98466 /lib/libnss_dns-2.4.so 00c14000-00c15000 rwxp 00004000 08:08 98466 /lib/libnss_dns-2.4.so 00d80000-00d85000 r-xp 00000000 08:08 98835 /lib/libcrypt-2.4.so 00d85000-00d86000 r-xp 00004000 08:08 98835 /lib/libcrypt-2.4.so 00d86000-00d87000 rwxp 00005000 08:08 98835 /lib/libcrypt-2.4.so 00d87000-00dae000 rwxp 00d87000 00:00 0 00dcd000-00dcf000 r-xp 00000000 08:08 98753 /lib/libcom_err.so.2.1 00dcf000-00dd0000 rwxp 00001000 08:08 98753 /lib/libcom_err.so.2.1 00dd2000-00de1000 r-xp 00000000 08:08 98500 /lib/libresolv-2.4.so 00de1000-00de2000 r-xp 0000e000 08:08 98500 /lib/libresolv-2.4.so 00de2000-00de3000 rwxp 0000f000 08:08 98500 /lib/libresolv-2.4.so 00de3000-00de5000 rwxp 00de3000 00:00 0 00de7000-00dea000 r-xp 00000000 08:05 344494 /usr/lib/libkrb5support.so.0.0 00dea000-00deb000 rwxp 00002000 08:05 344494 /usr/lib/libkrb5support.so.0.0 03a7a000-03aed000 r-xp 00000000 08:05 347438 /usr/lib/libkrb5.so.3.2 03aed000-03aef000 rwxp 00073000 08:05 347438 /usr/lib/libkrb5.so.3.2 03b83000-03cae000 r-xp 00000000 08:05 296285 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so 03cae000-03cb3000 rwxp 0012a000 08:05 296285 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so 03cb3000-03cb5000 rwxp 03cb3000 00:00 0 05806000-05847000 r-xp 00000000 08:08 98467 /lib/libssl.so.0.9.8a 05847000-0584b000 rwxp 00040000 08:08 98467 /lib/libssl.so.0.9.8a 08048000-0804b000 r-xp 00000000 08:05 131923 /usr/bin/perl 0804b000-0804c000 rw-p 00002000 08:05 131923 /usr/bin/perl 08ebf000-091f7000 rw-p 08ebf000 00:00 0 [heap] b7c4f000-b7c70000 rw-p b7c4f000 00:00 0 b7c70000-b7c71000 r--p 00747000 08:05 248275 /usr/lib/locale/locale-archive b7c71000-b7d7c000 r--p 00266000 08:05 248275 /usr/lib/locale/locale-archive b7d7c000-b7f7c000 r--p 00000000 08:05 248275 /usr/lib/locale/locale-archive b7f7c000-b7f7f000 rw-p b7f7c000 00:00 0 b7f8d000-b7f8e000 rw-p b7f8d000 00:00 0 bff0b000-bff20000 rw-p bff0b000 00:00 0 [stack]
"Karl DeBieechop" <kdebisschop@alert.infoplease.com> writes: > error is completely erratic - will work 10 times, then fail. or fail 10 time > then work. So I have not been able to find a reporduacble test case. But > here's a trace: > *** glibc detected *** /usr/bin/perl: realloc(): invalid pointer: 0x091c2f94 > *** This looks like either an extra-free or a memory clobber problem. Try running your example under a debugging malloc package to see if that doesn't narrow down the source of the problem. I've had success with ElectricFence in the past, valgrind might help too. regards, tom lane