Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 536398 - mail-filter/opendkim-2.9.3 USE=memcached causes SIGABRT
Summary: mail-filter/opendkim-2.9.3 USE=memcached causes SIGABRT
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Francisco Blas Izquierdo Riera
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-12 10:45 UTC by Christian Roessner
Modified: 2019-03-30 23:22 UTC (History)
5 users (show)

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 Christian Roessner 2015-01-12 10:45:49 UTC
The memcached code in opendkim is broken. The daemon is very unstable. After sending or receiving about 500 mails, glibc or whatever is sending a SIGABRT signal to opendkim.

I was not able to debug this with gdb, but I started a very large thread on opendkim-users.

I am pretty sure the bug will be confirmed.

If I find the mail archive links, I will add them to this report.

Right now I suggest to remove the memcached USE flag until the code is fixed.

Reproducible: Always
Comment 1 Christian Roessner 2015-01-12 10:48:55 UTC
http://lists.opendkim.org/archive/opendkim/users/2015/01/3350.html

And the result:

http://lists.opendkim.org/archive/opendkim/users/2015/01/3375.html

Please use the thread view to see all related mails.
Comment 2 Christian Roessner 2015-01-13 09:43:32 UTC
deltaweb root@mx  /var/tmp/portage/mail-filter/opendkim-2.10.0/work/opendkim-2.10.0 # gdb --pid 5838
GNU gdb (Gentoo 7.7.1 p1) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Attaching to process 5838
Reading symbols from /usr/sbin/opendkim...Reading symbols from /usr/lib64/debug//usr/sbin/opendkim.debug...done.
done.

warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
Reading symbols from /usr/lib64/libopendkim.so.10...Reading symbols from /usr/lib64/debug//usr/lib64/libopendkim.so.10.0.0.debug...done.
done.
Loaded symbols for /usr/lib64/libopendkim.so.10
Reading symbols from /usr/lib64/libmilter.so.1.0.2...Reading symbols from /usr/lib64/debug//usr/lib64/libmilter.so.1.0.2.debug...done.
done.
Loaded symbols for /usr/lib64/libmilter.so.1.0.2
Reading symbols from /usr/lib64/libssl.so.1.0.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libssl.so.1.0.0
Reading symbols from /usr/lib64/libcrypto.so.1.0.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libcrypto.so.1.0.0
Reading symbols from /usr/lib64/libdb-4.8.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libdb-4.8.so
Reading symbols from /usr/lib64/libopendbx.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libopendbx.so.1
Reading symbols from /usr/lib64/libmemcached.so.11...Reading symbols from /usr/lib64/debug//usr/lib64/libmemcached.so.11.0.0.debug...done.
done.
Loaded symbols for /usr/lib64/libmemcached.so.11
Reading symbols from /usr/lib64/liblua.so.5...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/liblua.so.5
Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /usr/lib64/libunbound.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libunbound.so.2
Reading symbols from /usr/lib64/libvbr.so.2...Reading symbols from /usr/lib64/debug//usr/lib64/libvbr.so.2.0.0.debug...done.
done.
Loaded symbols for /usr/lib64/libvbr.so.2
Reading symbols from /usr/lib64/librbl.so.1...Reading symbols from /usr/lib64/debug//usr/lib64/librbl.so.1.0.0.debug...done.
done.
Loaded symbols for /usr/lib64/librbl.so.1
Reading symbols from /lib64/libresolv.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libresolv.so.2
Reading symbols from /usr/lib64/libbsd.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libbsd.so.0
Reading symbols from /lib64/libpthread.so.0...(no debugging symbols found)...done.
[New LWP 5951]
[New LWP 5842]
[New LWP 5841]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Loaded symbols for /lib64/libpthread.so.0
Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libz.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libz.so.1
Reading symbols from /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/libstdc++.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/libstdc++.so.6
Reading symbols from /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/libgcc_s.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/libgcc_s.so.1
Reading symbols from /usr/lib64/libevent-2.0.so.5...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libevent-2.0.so.5
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
0x00007f26c8198a73 in select () from /lib64/libc.so.6
(gdb) c
Continuing.
...
[Thread 0x7f26b57fa700 (LWP 8945) exited]
[Thread 0x7f26b67fc700 (LWP 9128) exited]
[New Thread 0x7f26b67fc700 (LWP 9365)]
[New Thread 0x7f26b57fa700 (LWP 9378)]

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7f2696ffd700 (LWP 9111)]
0x00007f26c80ea825 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00007f26c80ea825 in raise () from /lib64/libc.so.6
#1  0x00007f26c80ebca8 in abort () from /lib64/libc.so.6
#2  0x00007f26c812ae22 in ?? () from /lib64/libc.so.6
#3  0x00007f26c812ae4e in __libc_fatal () from /lib64/libc.so.6
#4  0x00007f26c81368a5 in ?? () from /lib64/libc.so.6
#5  0x00007f26c813696b in ?? () from /lib64/libc.so.6
#6  0x00007f26c8136d17 in ?? () from /lib64/libc.so.6
#7  0x00007f26ca4d7427 in st_macros (g=g@entry=0x7f2696ffce60) at engine.c:1507
#8  0x00007f26ca4d7d06 in mi_engine (ctx=ctx@entry=0x7f26cc60ee90) at engine.c:405
#9  0x00007f26ca4d9fe8 in mi_handle_session (ctx=0x7f26cc60ee90) at handler.c:45
#10 0x00007f26ca4d8b79 in mi_thread_handle_wrapper (arg=<optimized out>) at listener.c:579
#11 0x00007f26c84681da in start_thread () from /lib64/libpthread.so.0
#12 0x00007f26c819fe7d in clone () from /lib64/libc.so.6
(gdb) s
Single stepping until exit from function raise,
which has no line number information.
[Thread 0x7f26b57fa700 (LWP 9378) exited]
[Thread 0x7f26b67fc700 (LWP 9365) exited]
[Thread 0x7f26957fa700 (LWP 9346) exited]
[Thread 0x7f2695ffb700 (LWP 9311) exited]
[Thread 0x7f26967fc700 (LWP 9297) exited]
[Thread 0x7f26b6ffd700 (LWP 9246) exited]
[Thread 0x7f2697fff700 (LWP 9207) exited]
[Thread 0x7f26c4cfc700 (LWP 9181) exited]
[Thread 0x7f26b5ffb700 (LWP 9176) exited]
[Thread 0x7f26c64ff700 (LWP 9157) exited]
[Thread 0x7f26c54fd700 (LWP 9144) exited]
[Thread 0x7f2696ffd700 (LWP 9111) exited]
[Thread 0x7f26b77fe700 (LWP 9073) exited]
[Thread 0x7f26977fe700 (LWP 9059) exited]
[Thread 0x7f26b7fff700 (LWP 7279) exited]
[Thread 0x7f26c7501700 (LWP 5841) exited]
[Thread 0x7f26c6d00700 (LWP 5842) exited]
[Thread 0x7f26c5cfe700 (LWP 5951) exited]
[Thread 0x7f26cab0d740 (LWP 5838) exited]

Program terminated with signal SIGABRT, Aborted.
The program no longer exists.
(gdb) l
15175
15176	/*
15177	**  MAIN -- program mainline
15178	**
15179	**  Process command line arguments and call the milter mainline.
15180	*/
15181
15182	int
15183	main(int argc, char **argv)
15184	{
(gdb) p
The history is empty.
(gdb)
Comment 3 Christian Roessner 2015-01-13 09:47:34 UTC
emerge --info
Portage 2.2.14 (python 2.7.9-final-0, hardened/linux/amd64/no-multilib, gcc-4.8.3, glibc-2.19-r1, 3.17.7-gentoo x86_64)
=================================================================
System uname: Linux-3.17.7-gentoo-x86_64-QEMU_Virtual_CPU_version_2.0.0-with-gentoo-2.2
KiB Mem:     4051880 total,    679736 free
KiB Swap:    6290428 total,   6290428 free
Timestamp of tree: Mon, 12 Jan 2015 22:15:01 +0000
ld GNU ld (Gentoo 2.24 p1.4) 2.24
ccache version 3.1.9 [enabled]
app-shells/bash:          4.2_p53
dev-lang/perl:            5.18.2-r2
dev-lang/python:          2.7.9-r1, 3.4.1
dev-util/ccache:          3.1.9-r4
dev-util/cmake:           2.8.12.2-r1
dev-util/pkgconfig:       0.28-r1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.69
sys-devel/automake:       1.13.4
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.8.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2-r1
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.16 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo croessner
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
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"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going --with-bdeps=y --binpkg-respect-use=y --usepkg=y --rebuilt-binaries=y --rebuilt-binaries-timestamp=20140405050000"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache 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 usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://de-mirror.org/gentoo/ rsync://de-mirror.org/gentoo/"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-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="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="acl adns aio amd64 bacula-clientonly bacula-console bash-completion berkdb bindist btrfs bzip2 caps cli cracklib crypt curl cxx device-mapper dri gdbm hardened iconv ipv6 justify logrotate loop-aes lzo mmap mmx modules ncurses nls nptl nscd ntp openmp openssl pam pax_kernel pcre readline session sse sse2 ssl tcpd threads unicode urandom vim-syntax xattr xtpax zlib" 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" 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 author" 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 ublox 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" LINGUAS="de en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 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, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 4 Francisco Blas Izquierdo Riera gentoo-dev 2019-03-30 23:22:02 UTC
Hi Christian!

First of all I want to apologize for it taking us so long to reply on this bug. Reading your mailing list messages I have inferred the report relates to version 2.9.3 which is no longer available on Gentoo, it also relates to grsec kernel which aren't actively supported anymore.

Is this still an issue with 2.10.3-r8 which is being stabilized now on a non Grsec system? If so, can you provide gdb traces with full debugging symbols, including the glibc ones?