Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 538758 - net-irc/eggdrop-1.6.21-r1 USE=ssl - eggdrop: segmentation fault in SSL_write () from /usr/lib/libssl.so.1.0.0
Summary: net-irc/eggdrop-1.6.21-r1 USE=ssl - eggdrop: segmentation fault in SSL_write ...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Louis Sautier (sbraz)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-02-04 04:29 UTC by Alex Cannon
Modified: 2018-10-26 08:36 UTC (History)
2 users (show)

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


Attachments
Illegal instruction crash in gdb (sigint_crash_gdb.txt,2.00 KB, text/plain)
2015-02-04 17:42 UTC, Alex Cannon
Details
backtrace in gdb just before free() triggered abort (eggdrop_free_crash_debug_enabled_backtrace.log,2.88 KB, text/plain)
2015-02-04 17:43 UTC, Alex Cannon
Details
valgrind output (eggdrop_free_crash_debug_enabled_valgrind.log,4.89 KB, text/plain)
2015-02-04 17:43 UTC, Alex Cannon
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Cannon 2015-02-04 04:29:14 UTC
With USE=ssl enabled on eggdrop, eggdrop crashes. I believe ssl support comes from patches and it is not part of eggdrop.

Just running ./eggdrop --help or ./eggdrop eggdrop.conf the first time with the -m (which you need to do the first time as there is no user or chan file yet) triggers a glibc free() corruption error and abort. I forget how it happens exactly.


Using host libthread_db library "/lib/libthread_db.so.1".
Core was generated by `./eggdrop -m -n btcEggie.conf'.
Program terminated with signal 11, Segmentation fault.
#0  0xb7654d78 in SSL_write () from /usr/lib/libssl.so.1.0.0
(gdb) backtrace
#0  0xb7654d78 in SSL_write () from /usr/lib/libssl.so.1.0.0
#1  0x0806c955 in tputs (len=<optimized out>, s=<optimized out>,
    z=<optimized out>) at net.c:1205
#2  tputs (z=8,
    s=0x8094894 <buf.22133> "Debug (eggdrop v1.6.21+Gentoo) written Tue Feb  3
19:47:19 2015\n", len=64) at net.c:1159
#3  0x080617a6 in dprintf_eggdrop (arg1=-8) at dccutil.c:232
#4  0x08066707 in write_debug () at ./main.c:286
#5  0x08066e28 in got_segv (z=11) at ./main.c:352
#6  <signal handler called>
#7  0xb74e175d in main_arena () from /lib/libc.so.6
#8  0xb7654a27 in SSL_pending () from /usr/lib/libssl.so.1.0.0
#9  0x0806bd57 in sockread (
    s=0xbfb8094e
")\267$%\t\b\331C\335\bx\v\270\277\225\b)\267\331C\335\b\243\t\270\277!\005",
len=0xbfb80b94, slist=0x8dbba40, slistmax=20, tclonly=0)
    at net.c:847
#10 0x0806c300 in sockgets (s=0xbfb80c98 "", len=0xbfb80b94) at net.c:1045
#11 0x080670db in mainloop (toplevel=1) at ./main.c:770
#12 0x0804b460 in main (arg_c=4, arg_v=0xbfb81224) at ./main.c:1186
(gdb)

Reproducible: Always




Portage 2.2.14 (python 2.7.9-final-0, default/linux/x86/13.0, gcc-4.7.3, glibc-2.19-r1, 3.0.76-gentoo i686)
=================================================================
System uname: Linux-3.0.76-gentoo-i686-Pentium_III_-Coppermine-with-gentoo-2.2
KiB Mem:     1031368 total,     98324 free
KiB Swap:    8226936 total,   7725484 free
Timestamp of tree: Sun, 04 Jan 2015 05:30:01 +0000
ld GNU ld (Gentoo 2.24 p1.4) 2.24
app-shells/bash:          4.2_p53
dev-java/java-config:     2.2.0
dev-lang/perl:            5.18.2-r2
dev-lang/python:          2.7.9-r1, 3.1.5-r1, 3.2.5-r3, 3.3.5-r1, 3.4.1
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.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.13.4
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            3.4.6-r2, 4.3.6-r1, 4.5.4, 4.7.3-r1, 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
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA Oracle-BCLA-JavaSE IBM-J1.6"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-Os -march=pentium3 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-Os -march=pentium3 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-logs 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"
FFLAGS="-O2 -march=i686 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j1"
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=""
USE="7zip X a52 aac acc acl alsa apache2 apng bash-completion berkdb bittorrent bzip2 caps chappa cli cracklib crypt cups cxx dbus dga divx4linux dri dvd dvdread emacs encode esd esound extras faad fdformat ffmpeg finger fltk fontconfig fortran ftp gd gdbm gif gimp gnutella gopher gpm gtk html hwdb iconv idn imagemagick imap imlib ipv6 jadetex javascript jpeg kdeenablefinal libopts live lzo mad mbox mmx mmxext mng modules motif mp2 mp3 mpeg mpi multinet nas ncurses nls nntp nptl offensive ogg oident openft openmp pam pcre perl png pnm pop proxy_http python qt3support readline scripting session sidebar snmp socks5 speex sqlite sse ssl suexec syslog tcl tcpd theora tiff tk truetype tty-helpers unicode usb vim-syntax vorbis webkit x264 x86 xa xinetd xv xvid zlib" ABI_X86="32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="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 ident proxy proxy_connect proxy_ftp proxy_http" 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" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python3_3" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" 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, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Comment 1 Alex Cannon 2015-02-04 17:40:14 UTC
I have done more testing and eggdrop is crashing in a variety of ways. When I ran it in gdb, it would crash from an Illegal Instruction.

Now I have compiled eggdrop and tcl with debugging enabled. Now eggdrop no longer crashes as it has before, but I get the invalid pointer abort message all the time. Valgrind shows a lot of errors about conditional jumps based on uninitialized memory.

I am attaching the gdb Illegal Instruction crash, then a gdb backtrace just before the free() call that triggers the abort, and then the valgrind output.
Comment 2 Alex Cannon 2015-02-04 17:42:21 UTC
Created attachment 395540 [details]
Illegal instruction crash in gdb
Comment 3 Alex Cannon 2015-02-04 17:43:09 UTC
Created attachment 395542 [details]
backtrace in gdb just before free() triggered abort
Comment 4 Alex Cannon 2015-02-04 17:43:35 UTC
Created attachment 395544 [details]
valgrind output
Comment 5 Louis Sautier (sbraz) gentoo-dev 2016-03-04 18:22:43 UTC
Apparently the new release should provide decent SSL support, see https://github.com/eggheads/eggdrop/issues/167
Comment 6 Pacho Ramos gentoo-dev 2016-03-05 10:42:19 UTC
@Luis, are you proxy maintaining this or similar? In that case, metadata.xml needs to be updated as it still shows this as maintainer-needed
Comment 7 Louis Sautier (sbraz) gentoo-dev 2016-03-05 10:47:40 UTC
Pacho, this is the case since yesterday: https://gitweb.gentoo.org/repo/gentoo.git/tree/net-irc/eggdrop/metadata.xml
Comment 8 Pacho Ramos gentoo-dev 2016-03-05 10:51:11 UTC
Ah, then, we need to reassign all existing bug reports ;)
Comment 9 Louis Sautier (sbraz) gentoo-dev 2018-10-26 08:36:39 UTC
This version is really old and has been removed, please let me know if it is still relevant today.
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=758962f595fd876bef0d00e5ba392c1b925aa0c8
Author: Louis Sautier <sbraz@gentoo.org>
Date:   Fri Oct 26 10:32:23 2018 +0200

    net-irc/eggdrop: remove ancient version

    Signed-off-by: Louis Sautier <sbraz@gentoo.org>
    Package-Manager: Portage-2.3.51, Repoman-2.3.11