Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 169245

Summary: net-analyzer/nettop crashes with Floating point exception
Product: Gentoo Linux Reporter: Nick Aubert <nickaubert>
Component: Current packagesAssignee: Gentoo Netmon project <netmon>
Status: RESOLVED FIXED    
Severity: normal CC: tomboy64
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Nick Aubert 2007-03-04 08:16:35 UTC
nettop command begins to run, then exits with message:

Floating point exception

Exit code is 136.

Reproducible: Sometimes

Steps to Reproduce:
On my machine, all it takes is to run nettop for a few minutes.  No special options needed.



Host is serving as a home router.  It has two network interfaces.  The setup is pretty close to the instructions given here: http://www.gentoo.org/doc/en/home-router-howto.xml

Here are my make.conf options:

CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
USE="snmp tcpd sockets nptl nptlonly -x11 -kde -gtk -X -alsa -arts -esd -gnome -ipv6"
FEATURES="distcc"

distcc is enabled, but was not running when I installed nettop.

This is a Pentium II host:
# uname -a
Linux gcs 2.6.19-gentoo-r5 #1 Sat Mar 3 14:35:54 PST 2007 i686 Pentium II (Deschutes) GenuineIntel GNU/Linux

# gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /var/tmp/portage/gcc-4.1.1-r3/work/gcc-4.1.1/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.1 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --disable-multilib --disable-libmudflap --disable-libssp --disable-libgcj --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 4.1.1 (Gentoo 4.1.1-r3)

# emerge --info
Portage 2.1.2-r9 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.5-r0, 2.6.19-gentoo-r5 i686)
=================================================================
System uname: 2.6.19-gentoo-r5 i686 Pentium II (Deschutes)
Gentoo Base System release 1.12.9
Timestamp of tree: Sat, 03 Mar 2007 05:30:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distcc distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="apache2 apm berkdb bitmap-fonts cli cracklib crypt cups dri eds emboss encode foomaticdb fortran gdbm gif gpm gstreamer gtk2 iconv imlib isdnlog jpeg libg++ libwww mad midi mikmod motif mp3 mpeg ncurses nls nptl nptlonly ogg opengl oss pam pcre perl png pppd python qt3 qt4 quicktime readline reflection sdl session snmp sockets spell spl ssl tcpd truetype truetype-fonts type1-fonts vorbis x86 xml xorg xv zlib" 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" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark ati chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mga neomagic nsc nv rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Markus Ullmann (RETIRED) gentoo-dev 2007-03-05 20:44:29 UTC
hrm
doesn't happen locally. so maybe
can you try to get a backtrace?

http://www.gentoo.org/proj/en/qa/backtraces.xml
Comment 2 Nick Aubert 2007-03-06 08:16:19 UTC
Actually, I realized I was wrong about distcc.  I hadn't disabled distcc when I had originally emerged nettop.  The problem only occurs if I emerge it with distcc running on my helper machine.  As long as I don't compile with distcc, nettop runs fine.

I'm fairly confident my distcc configuration is okay.  I had previously emerged world with distcc enabled and everything else seems to run fine.  The target host and the helper host are both CHOST="i686-pc-linux-gnu".

I emerged gdb on both the target host and the helper host and synched up the CFLAGS and the USE flags on the helper host so they're exactly the same as on the target host.  I reemerged nettop with FEATURES="distcc nostrip" on both hosts, and it segfaults now.

Here's the backtrace from gdb:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1211143280 (LWP 19044)]
0x0804c884 in largestn (r=0x545050, a=0xb7cf604c, n=24, sort_type=112 'p') at node.c:114
114     node.c: No such file or directory.
        in node.c

Comment 3 Markus Ullmann (RETIRED) gentoo-dev 2007-04-18 13:00:28 UTC
hrm sourcecode looks nice there, will add a note about distcc not working
Comment 4 M. B. 2009-07-21 20:11:11 UTC
the ebuild should rightout refuse to work with distcc being enabled (e.g. in FEATURES) or circumvent using it.
a simple einfo is far too likely to be overseen when installing lots of packages.

my 2 cents.