Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 458998 - dev-db/pgpool2-3.2.1-r1 "*** glibc detected *** double free or corruption (!prev)"
Summary: dev-db/pgpool2-3.2.1-r1 "*** glibc detected *** double free or corruption (!p...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: PgSQL Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-24 14:21 UTC by Marcin Mirosław
Modified: 2017-07-10 14:44 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marcin Mirosław 2013-02-24 14:21:55 UTC
Pgpool2 often throws coredumps. Here is backtrace from gdb:
LC_ALL=en_US.utf-8 echo "bt"|gdb -q /usr/bin/pgpool 'core-1361713784-102-6-!usr!bin!pgpool-29562'
Reading symbols from /usr/bin/pgpool...Reading symbols from /usr/lib64/debug/usr/bin/pgpool.debug...done.
done.
[New LWP 29562]

warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `pgpool: listonos'.
Program terminated with signal 6, Aborted.
#0  0x00000380cfbe0b45 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64      ../nptl/sysdeps/unix/sysv/linux/raise.c: Nie ma takiego pliku ani katalogu.
(gdb) #0  0x00000380cfbe0b45 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00000380cfbe1fbb in __GI_abort () at abort.c:91
#2  0x00000380cfc2076f in __libc_message (do_abort=2, fmt=0x380cfd146d0 "*** glibc detected *** %s: %s: 0x%s ***\n")
    at ../sysdeps/unix/sysv/linux/libc_fatal.c:198
#3  0x00000380cfc264e6 in malloc_printerr (action=3, str=0x380cfd147e0 "double free or corruption (!prev)",
    ptr=<optimized out>) at malloc.c:5007
#4  0x00000054477700af in pool_discard_temp_query_cache (temp_cache=0x5447bac1a0) at pool_memqcache.c:2583
#5  0x0000005447770180 in pool_discard_query_cache_array (cache_array=0x5447b91c30) at pool_memqcache.c:2502
#6  0x0000005447770753 in pool_reset_memqcache_buffer () at pool_memqcache.c:1534
#7  0x000000544777252a in pool_handle_query_cache (backend=0x5447b79210, query=<optimized out>, node=<optimized out>,
    state=<optimized out>) at pool_memqcache.c:2996
#8  0x000000544776c443 in ReadyForQuery (frontend=0x5447b7b6f0, backend=0x5447b79210, send_ready=1 '\001',
    cache_commit=1 '\001') at pool_proto_modules.c:1760
#9  0x000000544776c99e in ProcessBackendResponse (frontend=0x5447b7b6f0, backend=0x5447b79210, state=0x3b623c83ccc,
    num_fields=0x3b623c83cd4) at pool_proto_modules.c:2590
#10 0x00000054477314d5 in pool_process_query (frontend=0x5447b7b6f0, backend=0x5447b79210, reset_request=0)
    at pool_process_query.c:274
#11 0x0000005447720f77 in do_child (unix_fd=4, inet_fd=5) at child.c:362
#12 0x000000544771ba57 in fork_a_child (unix_fd=4, inet_fd=5, id=23) at main.c:1243
#13 0x0000005447719524 in main (argc=<optimized out>, argv=<optimized out>) at main.c:661
(gdb) quit

I'm using dev-db/postgresql-server-9.2.3-r1 on the same host.

# emerge --info
Portage 2.1.11.50 (hardened/linux/amd64, gcc-4.6.3, glibc-2.15-r3, 3.7.5-hardened x86_64)
=================================================================
System uname: Linux-3.7.5-hardened-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T7700_@_2.40GHz-with-gentoo-2.1
KiB Mem:     1497672 total,    925220 free
KiB Swap:     524284 total,    524284 free
Timestamp of tree: Sun, 24 Feb 2013 05:15:01 +0000
ld GNU ld (GNU Binutils) 2.22
ccache version 3.1.9 [enabled]
app-shells/bash:          4.2_p37
dev-lang/python:          2.7.3-r2, 3.2.3
dev-util/ccache:          3.1.9
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.69
sys-devel/automake:       1.11.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.6.3, 4.7.2
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.6 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native -frecord-gcc-switches   -fno-unwind-tables -fno-asynchronous-unwind-tables -fpeel-loops         -ftracer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=native -frecord-gcc-switches         -fno-unwind-tables -fno-asynchronous-unwind-tables -fpeel-loops         -ftracer"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache collision-protect compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="pl_PL.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="-O"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://gentoo-mirror.in.cibet.pl/gentoo-portage/"
USE="acl acpi amd64 bash-completion caps cli cracklib crypt cxx dri gpm hardened iconv ipv6 justify mmx mmxext modules mudflap multilib ncurses nls nptl openmp pax_kernel pcre readline session sse sse2 sse3 ssse3 threads unicode urandom vim-syntax xattr" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, USE_PYTHON
Comment 1 Marcin Mirosław 2013-02-26 13:40:10 UTC
pgpool2-3.2.3 doesn't fix this problem. I reported problem to upstream, problem is under investigation now. If fix will be available I'll add url to it.
Comment 2 Aaron W. Swenson gentoo-dev 2013-02-28 12:47:27 UTC
(In reply to comment #1)
> pgpool2-3.2.3 doesn't fix this problem. I reported problem to upstream,
> problem is under investigation now. If fix will be available I'll add url to
> it.

Thanks for doing so.
Comment 3 Aaron W. Swenson gentoo-dev 2014-01-18 21:52:57 UTC
Does this issue persist with the latest version (3.3.2)?
Comment 4 Marcin Mirosław 2014-01-20 13:12:03 UTC
I've switched to pgbouncer but I'll try to check new version in a few days.
Comment 5 Marcin Mirosław 2014-02-03 13:07:16 UTC
Issue still persist but in a little different form (segfault instead "glibc detected"). Segfault appears with "memory_cache_enabled=on" & "memqcache_method = 'shmem'", I didn't try use memcached.

# echo "bt"|gdb -q /usr/bin/pgpool 'core-1391432197-102-11-!usr!bin!pgpool-15691'                                                                    
Reading symbols from /usr/bin/pgpool...Reading symbols from /usr/lib64/debug/usr/bin/pgpool.debug...done.
done.
[New LWP 15691]

warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

warning: no loadable sections found in added symbol-file system-supplied DSO at 0x342c38c6000
Core was generated by `pgpool: listonos'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000006b76b457f6 in create_hash_key (key=key@entry=0x39d46950c50) at pool_memqcache.c:3680
3680    pool_memqcache.c: No such file or directory.
(gdb) #0  0x0000006b76b457f6 in create_hash_key (key=key@entry=0x39d46950c50) at pool_memqcache.c:3680
#1  0x0000006b76b476d6 in pool_hash_search (key=key@entry=0x39d46950c50) at pool_memqcache.c:3492
#2  0x0000006b76b48612 in pool_find_item_on_shmem_cache (query_hash=0x39d46950c50) at pool_memqcache.c:2269
#3  pool_get_item_shmem_cache (sts=<synthetic pointer>, size=<synthetic pointer>, query_hash=0x39d46950c50) at pool_memqcache.c:2243
#4  pool_fetch_cache (len=<synthetic pointer>, buf=<synthetic pointer>, 
    query=0x6b78e61f10 "SELECT 'niezgloszony' FROM exim_ipki_scoring WHERE zgloszony_do_sc=false AND data_maila=decode('MjAxNC0wMi0wMyAxMzo1MTozNi4yMjIyKzAx','base64')::text::timestamp ;", backend=0x6b78e38fb0) at pool_memqcache.c:319
#5  pool_fetch_from_memory_cache (frontend=frontend@entry=0x6b78e46de0, backend=backend@entry=0x6b78e38fb0, 
    contents=0x6b78e61f10 "SELECT 'niezgloszony' FROM exim_ipki_scoring WHERE zgloszony_do_sc=false AND data_maila=decode('MjAxNC0wMi0wMyAxMzo1MTozNi4yMjIyKzAx','base64')::text::timestamp ;", foundp=foundp@entry=0x39d46950e88 "") at pool_memqcache.c:572
#6  0x0000006b76b3e94b in SimpleQuery (frontend=frontend@entry=0x6b78e46de0, backend=backend@entry=0x6b78e38fb0, len=len@entry=163, 
    contents=contents@entry=0x6b78e61f10 "SELECT 'niezgloszony' FROM exim_ipki_scoring WHERE zgloszony_do_sc=false AND data_maila=decode('MjAxNC0wMi0wMyAxMzo1MTozNi4yMjIyKzAx','base64')::text::timestamp ;") at pool_proto_modules.c:174
#7  0x0000006b76b441f2 in ProcessFrontendResponse (frontend=frontend@entry=0x6b78e46de0, backend=backend@entry=0x6b78e38fb0) at pool_proto_modules.c:2509
#8  0x0000006b76b068ee in read_packets_and_process (frontend=frontend@entry=0x6b78e46de0, backend=backend@entry=0x6b78e38fb0, reset_request=reset_request@entry=0, 
    state=state@entry=0x39d469515a0, num_fields=num_fields@entry=0x39d4695159e, cont=cont@entry=0x39d469515a4 "\001") at pool_process_query.c:4976
#9  0x0000006b76b06c79 in pool_process_query (frontend=frontend@entry=0x6b78e46de0, backend=backend@entry=0x6b78e38fb0, reset_request=reset_request@entry=0)
    at pool_process_query.c:260
#10 0x0000006b76af6d49 in do_child (unix_fd=unix_fd@entry=5, inet_fd=inet_fd@entry=6) at child.c:374
#11 0x0000006b76af1423 in fork_a_child (unix_fd=5, inet_fd=6, id=0) at main.c:1244
#12 0x0000006b76aef33a in main (argc=<optimized out>, argv=<optimized out>) at main.c:654
(gdb) quit
Comment 6 Aaron W. Swenson gentoo-dev 2017-07-10 14:44:12 UTC
Looks fixed to me with 3.6.4.