pfqueue in version 0.5.0 segfaults on exit, nothing odd during operation, only on exit, reproducable on different hosts Reproducible: Always Steps to Reproduce: 1. fire up pfqueue 2. list queues, use program 3. exit program Actual Results: segfault on exit Expected Results: exit without segfault of course Gentoo Base System version 1.6.13 Portage 2.0.51.22-r3 (default-linux/x86/no-nptl/2.4, gcc-3.3.6, glibc-2.3.5-r2, 2.4.32-grsec i686) ================================================================= System uname: 2.4.32-grsec i686 Pentium III (Katmai) dev-lang/python: 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.4.22-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=pentiumpro -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/ config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentiumpro -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/ distributions/gentoo" LC_ALL="de_DE@euro" LINGUAS="de en" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 activefilter bitmap-fonts bzip2 crypt ctype dbm eds emboss erandom ethe real expat flatfile ftp gd gdbm gif gnutls hardened icc idn ifc ipppd jpeg maild ir mbox memlimit mhash mime mmap mmx mp3 mysql mysqli ncurses nls ogg pam pcntl pcre perl pic pie png posix readline recode sasl shared sharedmem slang sockets socks5 spf sse ssl sysvipc szip tcpd tools truetype-fonts type1-fonts unicode vo rbis zlib linguas_de linguas_en userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LDFLAGS, MAKEOPTS, PORTDIR_OVERLAY
Can you please provide a backtrack? I cannot seem to reproduce it, even though I remember some segfault on quit once or twice in the past.
(In reply to comment #1) Here comes the backtrace: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 32717)] 0x29e8f6c6 in regerror () from /lib/libc.so.6 (gdb) bt #0 0x29e8f6c6 in regerror () from /lib/libc.so.6 #1 0x29e8f8c8 in regfree () from /lib/libc.so.6 #2 0x29d50daf in pfql_close () at pfqlib.c:659 #3 0x0804d2d2 in main (argc=1, argv=0x5fcec7f4) at fe_ncurses.c:903
Could you give 0.5.1 a try? According to the changelog, this bug was fixed in 0.5.1. See also supplied URL.
(In reply to comment #3) > Could you give 0.5.1 a try? Done, but same Segfault occurs with 0.5.1, nothing obvious changed... If you want a bt for this version too, please request it.
Yes, the full backtrace would be welcome - I'll contact the pfqueue developer with it.
(In reply to comment #5) This time its another issue than 0.5.0, segfault seems to occur in external lib, I have no full debugging environment in place beyond building pfqueue with full debugging symbols, so bt is no help because of missing symbols in external libs... strace output: poll([{fd=0, events=POLLIN}], 1, 0) = 0 rt_sigaction(SIGTSTP, {0x2da4bea0, [], SA_RESTORER|SA_RESTART, 0x2db08688}, NULL gettimeofday({1137590860, 840055}, NULL) = 0 poll([{fd=0, events=POLLIN, revents=POLLIN}], 1, 1000) = 1 gettimeofday({1137590861, 495990}, NULL) = 0 read(0, "q", 1) = 1 nanosleep({0, 200000000}, NULL) = 0 munmap(0x2dbfe000, 147456) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV (core dumped) +++ it seems to segfault while freeing memory...
As already reported upstream, pfqueue-0.5.2 solved this issue completely, verified on different boxes, if no one complains, this seems fixed, please mark stable soon.
0.5.2 marked stable on x86. If you want other arches to mark it stable, please file a bug with them. Thanks for getting back to this bug!