| Anonymous | Login | Signup for a new account | 11-10-2008 12:14 PST |
| Main | My View | View Issues | Change Log | Docs |
| Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
| 0003474 | [BusyBox] Other | minor | always | 05-28-08 09:22 | 07-01-08 07:24 | ||||
| Reporter | nuclearcat | View Status | public | ||||||
| Assigned To | BusyBox | ||||||||
| Priority | normal | Resolution | unable to reproduce | ||||||
| Status | closed | Product Version | svn | ||||||
| Summary | 0003474: nmeter crashing | ||||||||
| Description |
While trying to run nmeter on dual opteron machines Proxy-Karam115 ~ # nmeter "CPU %c MEM %[mf] IO %b" Segmentation fault from their dmesg [509567.114845] nmeter[1998]: segfault at 0 ip 08064ef2 sp bfb8f030 error 4 in busybox[8048000+76000] another machine [672036.057858] nmeter[6093]: segfault at 0 ip 08064ef2 sp bffffca0 error 4 in busybox[8048000+76000] On another machine defaulthost ~ # nmeter "CPU %c MEM %[mf] IO %b" CPU .......... MEM 801m IO 0 0 CPU .......... MEM 801m IO 0 0 CPU .......... MEM 801m IO 0 0 CPU .......... MEM 801m IO 0 0 Segmentation fault [917917.794357] nmeter[27440]: segfault at 0 ip 08064ef2 sp bf84d950 error 4 in busybox[8048000+76000] BusyBox v1.10.1 (2008-04-20 17:31:36 EEST) multi-call binary |
||||||||
| Additional Information |
CONFIG_HAVE_DOT_CONFIG=y CONFIG_NITPICK=y # CONFIG_DESKTOP is not set CONFIG_FEATURE_BUFFERS_USE_MALLOC=y # CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set # CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set CONFIG_SHOW_USAGE=y CONFIG_FEATURE_VERBOSE_USAGE=y CONFIG_FEATURE_COMPRESS_USAGE=y CONFIG_FEATURE_INSTALLER=y # CONFIG_LOCALE_SUPPORT is not set CONFIG_GETOPT_LONG=y CONFIG_FEATURE_DEVPTS=y # CONFIG_FEATURE_CLEAN_UP is not set CONFIG_FEATURE_PIDFILE=y CONFIG_FEATURE_SUID=y # CONFIG_FEATURE_SUID_CONFIG is not set # CONFIG_FEATURE_SUID_CONFIG_QUIET is not set # CONFIG_SELINUX is not set # CONFIG_FEATURE_PREFER_APPLETS is not set CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" CONFIG_FEATURE_SYSLOG=y # CONFIG_FEATURE_HAVE_RPC is not set # CONFIG_STATIC is not set # CONFIG_NOMMU is not set # CONFIG_BUILD_LIBBUSYBOX is not set # CONFIG_FEATURE_INDIVIDUAL is not set # CONFIG_FEATURE_SHARED_BUSYBOX is not set CONFIG_LFS=y # CONFIG_DEBUG is not set # CONFIG_WERROR is not set CONFIG_NO_DEBUG_LIB=y # CONFIG_DMALLOC is not set # CONFIG_EFENCE is not set CONFIG_INCLUDE_SUSv2=y # CONFIG_INSTALL_NO_USR is not set CONFIG_INSTALL_APPLET_SYMLINKS=y # CONFIG_INSTALL_APPLET_HARDLINKS is not set # CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set # CONFIG_INSTALL_APPLET_DONT is not set # CONFIG_INSTALL_SH_APPLET_SYMLINK is not set # CONFIG_INSTALL_SH_APPLET_HARDLINK is not set # CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set CONFIG_PREFIX="./_install" CONFIG_PASSWORD_MINLEN=6 CONFIG_MD5_SIZE_VS_SPEED=2 CONFIG_FEATURE_FAST_TOP=y # CONFIG_FEATURE_ETC_NETWORKS is not set CONFIG_FEATURE_EDITING=y CONFIG_FEATURE_EDITING_MAX_LEN=1024 # CONFIG_FEATURE_EDITING_VI is not set CONFIG_FEATURE_EDITING_HISTORY=64 # CONFIG_FEATURE_EDITING_SAVEHISTORY is not set CONFIG_FEATURE_TAB_COMPLETION=y # CONFIG_FEATURE_USERNAME_COMPLETION is not set CONFIG_FEATURE_EDITING_FANCY_PROMPT=y CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y CONFIG_FEATURE_COPYBUF_KB=4 CONFIG_MONOTONIC_SYSCALL=y CONFIG_IOCTL_HEX2STR_ERROR=y # CONFIG_AR is not set # CONFIG_FEATURE_AR_LONG_FILENAMES is not set CONFIG_BUNZIP2=y CONFIG_BZIP2=y # CONFIG_CPIO is not set # CONFIG_DPKG is not set # CONFIG_DPKG_DEB is not set # CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set CONFIG_GUNZIP=y # CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set CONFIG_GZIP=y # CONFIG_RPM2CPIO is not set # CONFIG_RPM is not set # CONFIG_FEATURE_RPM_BZ2 is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y CONFIG_FEATURE_TAR_GZIP=y CONFIG_FEATURE_TAR_BZIP2=y CONFIG_FEATURE_TAR_LZMA=y CONFIG_FEATURE_TAR_COMPRESS=y CONFIG_FEATURE_TAR_AUTODETECT=y CONFIG_FEATURE_TAR_FROM=y # CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set # CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y CONFIG_FEATURE_TAR_LONG_OPTIONS=y # CONFIG_FEATURE_TAR_UNAME_GNAME is not set # CONFIG_UNCOMPRESS is not set # CONFIG_UNLZMA is not set # CONFIG_FEATURE_LZMA_FAST is not set # CONFIG_UNZIP is not set # CONFIG_FEATURE_UNARCHIVE_TAPE is not set # CONFIG_FEATURE_DEB_TAR_GZ is not set # CONFIG_FEATURE_DEB_TAR_BZ2 is not set # CONFIG_FEATURE_DEB_TAR_LZMA is not set CONFIG_BASENAME=y CONFIG_CAL=y CONFIG_CAT=y # CONFIG_CATV is not set CONFIG_CHGRP=y CONFIG_CHMOD=y CONFIG_CHOWN=y CONFIG_CHROOT=y CONFIG_CKSUM=y CONFIG_COMM=y CONFIG_CP=y CONFIG_CUT=y CONFIG_DATE=y # CONFIG_FEATURE_DATE_ISOFMT is not set CONFIG_DD=y CONFIG_FEATURE_DD_SIGNAL_HANDLING=y CONFIG_FEATURE_DD_IBS_OBS=y CONFIG_DF=y CONFIG_FEATURE_DF_INODE=y CONFIG_DIRNAME=y CONFIG_DOS2UNIX=y CONFIG_UNIX2DOS=y CONFIG_DU=y CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y CONFIG_ECHO=y CONFIG_FEATURE_FANCY_ECHO=y CONFIG_ENV=y CONFIG_FEATURE_ENV_LONG_OPTIONS=y CONFIG_EXPAND=y CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y CONFIG_EXPR=y CONFIG_EXPR_MATH_SUPPORT_64=y CONFIG_FALSE=y CONFIG_FOLD=y CONFIG_HEAD=y CONFIG_FEATURE_FANCY_HEAD=y CONFIG_HOSTID=y CONFIG_ID=y CONFIG_INSTALL=y CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y CONFIG_LENGTH=y CONFIG_LN=y CONFIG_LOGNAME=y CONFIG_LS=y CONFIG_FEATURE_LS_FILETYPES=y CONFIG_FEATURE_LS_FOLLOWLINKS=y CONFIG_FEATURE_LS_RECURSIVE=y CONFIG_FEATURE_LS_SORTFILES=y CONFIG_FEATURE_LS_TIMESTAMPS=y CONFIG_FEATURE_LS_USERNAME=y CONFIG_FEATURE_LS_COLOR=y CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y CONFIG_MD5SUM=y CONFIG_MKDIR=y CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y CONFIG_MKFIFO=y CONFIG_MKNOD=y CONFIG_MV=y CONFIG_FEATURE_MV_LONG_OPTIONS=y CONFIG_NICE=y CONFIG_NOHUP=y CONFIG_OD=y CONFIG_PRINTENV=y CONFIG_PRINTF=y CONFIG_PWD=y CONFIG_READLINK=y CONFIG_FEATURE_READLINK_FOLLOW=y CONFIG_REALPATH=y CONFIG_RM=y CONFIG_RMDIR=y # CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set CONFIG_SEQ=y CONFIG_SHA1SUM=y CONFIG_SLEEP=y CONFIG_FEATURE_FANCY_SLEEP=y CONFIG_SORT=y CONFIG_FEATURE_SORT_BIG=y CONFIG_SPLIT=y CONFIG_FEATURE_SPLIT_FANCY=y CONFIG_STAT=y CONFIG_FEATURE_STAT_FORMAT=y CONFIG_STTY=y CONFIG_SUM=y CONFIG_SYNC=y # CONFIG_TAC is not set CONFIG_TAIL=y # CONFIG_FEATURE_FANCY_TAIL is not set CONFIG_TEE=y CONFIG_FEATURE_TEE_USE_BLOCK_IO=y CONFIG_TEST=y CONFIG_FEATURE_TEST_64=y CONFIG_TOUCH=y CONFIG_TR=y CONFIG_FEATURE_TR_CLASSES=y CONFIG_FEATURE_TR_EQUIV=y CONFIG_TRUE=y CONFIG_TTY=y CONFIG_UNAME=y CONFIG_UNEXPAND=y CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y CONFIG_UNIQ=y CONFIG_USLEEP=y CONFIG_UUDECODE=y CONFIG_UUENCODE=y CONFIG_WC=y CONFIG_FEATURE_WC_LARGE=y CONFIG_WHO=y CONFIG_WHOAMI=y CONFIG_YES=y # CONFIG_FEATURE_PRESERVE_HARDLINKS is not set CONFIG_FEATURE_AUTOWIDTH=y CONFIG_FEATURE_HUMAN_READABLE=y CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y CONFIG_CHVT=y CONFIG_CLEAR=y CONFIG_DEALLOCVT=y # CONFIG_DUMPKMAP is not set # CONFIG_KBD_MODE is not set # CONFIG_LOADFONT is not set # CONFIG_LOADKMAP is not set CONFIG_OPENVT=y CONFIG_RESET=y # CONFIG_RESIZE is not set # CONFIG_FEATURE_RESIZE_PRINT is not set CONFIG_SETCONSOLE=y # CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set # CONFIG_SETKEYCODES is not set CONFIG_SETLOGCONS=y CONFIG_MKTEMP=y CONFIG_PIPE_PROGRESS=y CONFIG_RUN_PARTS=y CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y CONFIG_FEATURE_RUN_PARTS_FANCY=y CONFIG_START_STOP_DAEMON=y CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y CONFIG_WHICH=y CONFIG_AWK=y CONFIG_FEATURE_AWK_MATH=y CONFIG_CMP=y CONFIG_DIFF=y CONFIG_FEATURE_DIFF_BINARY=y CONFIG_FEATURE_DIFF_DIR=y # CONFIG_FEATURE_DIFF_MINIMAL is not set # CONFIG_ED is not set CONFIG_PATCH=y CONFIG_SED=y # CONFIG_VI is not set CONFIG_FEATURE_VI_MAX_LEN= # CONFIG_FEATURE_VI_8BIT is not set # CONFIG_FEATURE_VI_COLON is not set # CONFIG_FEATURE_VI_YANKMARK is not set # CONFIG_FEATURE_VI_SEARCH is not set # CONFIG_FEATURE_VI_USE_SIGNALS is not set # CONFIG_FEATURE_VI_DOT_CMD is not set # CONFIG_FEATURE_VI_READONLY is not set # CONFIG_FEATURE_VI_SETOPTS is not set # CONFIG_FEATURE_VI_SET is not set # CONFIG_FEATURE_VI_WIN_RESIZE is not set # CONFIG_FEATURE_VI_OPTIMIZE_CURSOR is not set CONFIG_FEATURE_ALLOW_EXEC=y CONFIG_FIND=y CONFIG_FEATURE_FIND_PRINT0=y CONFIG_FEATURE_FIND_MTIME=y CONFIG_FEATURE_FIND_MMIN=y CONFIG_FEATURE_FIND_PERM=y CONFIG_FEATURE_FIND_TYPE=y CONFIG_FEATURE_FIND_XDEV=y CONFIG_FEATURE_FIND_MAXDEPTH=y CONFIG_FEATURE_FIND_NEWER=y CONFIG_FEATURE_FIND_INUM=y CONFIG_FEATURE_FIND_EXEC=y CONFIG_FEATURE_FIND_USER=y CONFIG_FEATURE_FIND_GROUP=y CONFIG_FEATURE_FIND_NOT=y CONFIG_FEATURE_FIND_DEPTH=y CONFIG_FEATURE_FIND_PAREN=y CONFIG_FEATURE_FIND_SIZE=y CONFIG_FEATURE_FIND_PRUNE=y CONFIG_FEATURE_FIND_DELETE=y CONFIG_FEATURE_FIND_PATH=y CONFIG_FEATURE_FIND_REGEX=y # CONFIG_FEATURE_FIND_CONTEXT is not set CONFIG_GREP=y CONFIG_FEATURE_GREP_EGREP_ALIAS=y CONFIG_FEATURE_GREP_FGREP_ALIAS=y CONFIG_FEATURE_GREP_CONTEXT=y CONFIG_XARGS=y CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y CONFIG_INIT=y # CONFIG_DEBUG_INIT is not set CONFIG_FEATURE_USE_INITTAB=y CONFIG_FEATURE_KILL_REMOVED=y CONFIG_FEATURE_KILL_DELAY=1 CONFIG_FEATURE_INIT_SCTTY=y CONFIG_FEATURE_INIT_SYSLOG=y # CONFIG_FEATURE_EXTRA_QUIET is not set # CONFIG_FEATURE_INIT_COREDUMPS is not set CONFIG_FEATURE_INITRD=y CONFIG_HALT=y CONFIG_MESG=y CONFIG_FEATURE_SHADOWPASSWDS=y CONFIG_USE_BB_SHADOW=y CONFIG_USE_BB_PWD_GRP=y CONFIG_ADDGROUP=y CONFIG_FEATURE_ADDUSER_TO_GROUP=y CONFIG_DELGROUP=y CONFIG_FEATURE_DEL_USER_FROM_GROUP=y CONFIG_FEATURE_CHECK_NAMES=y CONFIG_ADDUSER=y CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y CONFIG_DELUSER=y CONFIG_GETTY=y CONFIG_FEATURE_UTMP=y CONFIG_FEATURE_WTMP=y CONFIG_LOGIN=y # CONFIG_PAM is not set # CONFIG_LOGIN_SCRIPTS is not set # CONFIG_FEATURE_NOLOGIN is not set CONFIG_FEATURE_SECURETTY=y CONFIG_PASSWD=y # CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set CONFIG_CRYPTPW=y # CONFIG_CHPASSWD is not set CONFIG_SU=y CONFIG_FEATURE_SU_SYSLOG=y # CONFIG_FEATURE_SU_CHECKS_SHELLS is not set # CONFIG_SULOGIN is not set # CONFIG_VLOCK is not set # CONFIG_CHATTR is not set # CONFIG_FSCK is not set # CONFIG_LSATTR is not set CONFIG_INSMOD=y # CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set # CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set # CONFIG_FEATURE_INSMOD_LOADINKMEM is not set # CONFIG_FEATURE_INSMOD_LOAD_MAP is not set # CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set CONFIG_RMMOD=y CONFIG_LSMOD=y CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y CONFIG_MODPROBE=y CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y CONFIG_FEATURE_MODPROBE_FANCY_ALIAS=y CONFIG_FEATURE_CHECK_TAINTED_MODULE=y # CONFIG_FEATURE_2_4_MODULES is not set CONFIG_FEATURE_2_6_MODULES=y # CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set CONFIG_DMESG=y CONFIG_FEATURE_DMESG_PRETTY=y # CONFIG_FBSET is not set # CONFIG_FEATURE_FBSET_FANCY is not set # CONFIG_FEATURE_FBSET_READMODE is not set CONFIG_FDFLUSH=y # CONFIG_FDFORMAT is not set CONFIG_FDISK=y CONFIG_FDISK_SUPPORT_LARGE_DISKS=y CONFIG_FEATURE_FDISK_WRITABLE=y # CONFIG_FEATURE_AIX_LABEL is not set # CONFIG_FEATURE_SGI_LABEL is not set # CONFIG_FEATURE_SUN_LABEL is not set # CONFIG_FEATURE_OSF_LABEL is not set CONFIG_FEATURE_FDISK_ADVANCED=y # CONFIG_FINDFS is not set CONFIG_FREERAMDISK=y # CONFIG_FSCK_MINIX is not set # CONFIG_MKFS_MINIX is not set # CONFIG_FEATURE_MINIX2 is not set CONFIG_GETOPT=y CONFIG_HEXDUMP=y CONFIG_FEATURE_HEXDUMP_REVERSE=y CONFIG_HD=y CONFIG_HWCLOCK=y CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y # CONFIG_IPCRM is not set # CONFIG_IPCS is not set # CONFIG_LOSETUP is not set CONFIG_MDEV=y CONFIG_FEATURE_MDEV_CONF=y CONFIG_FEATURE_MDEV_RENAME=y CONFIG_FEATURE_MDEV_EXEC=y CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y # CONFIG_MKSWAP is not set # CONFIG_FEATURE_MKSWAP_V0 is not set CONFIG_MORE=y CONFIG_FEATURE_USE_TERMIOS=y CONFIG_VOLUMEID=y CONFIG_FEATURE_VOLUMEID_EXT=y # CONFIG_FEATURE_VOLUMEID_REISERFS is not set CONFIG_FEATURE_VOLUMEID_FAT=y # CONFIG_FEATURE_VOLUMEID_HFS is not set # CONFIG_FEATURE_VOLUMEID_JFS is not set CONFIG_FEATURE_VOLUMEID_XFS=y # CONFIG_FEATURE_VOLUMEID_NTFS is not set CONFIG_FEATURE_VOLUMEID_ISO9660=y CONFIG_FEATURE_VOLUMEID_UDF=y # CONFIG_FEATURE_VOLUMEID_LUKS is not set CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y CONFIG_FEATURE_VOLUMEID_CRAMFS=y CONFIG_FEATURE_VOLUMEID_ROMFS=y CONFIG_FEATURE_VOLUMEID_SYSV=y # CONFIG_FEATURE_VOLUMEID_OCFS2 is not set CONFIG_FEATURE_VOLUMEID_LINUXRAID=y CONFIG_MOUNT=y CONFIG_FEATURE_MOUNT_FAKE=y CONFIG_FEATURE_MOUNT_VERBOSE=y # CONFIG_FEATURE_MOUNT_HELPERS is not set CONFIG_FEATURE_MOUNT_LABEL=y # CONFIG_FEATURE_MOUNT_NFS is not set # CONFIG_FEATURE_MOUNT_CIFS is not set CONFIG_FEATURE_MOUNT_FLAGS=y CONFIG_FEATURE_MOUNT_FSTAB=y # CONFIG_PIVOT_ROOT is not set CONFIG_RDATE=y CONFIG_READPROFILE=y CONFIG_RTCWAKE=y CONFIG_SETARCH=y CONFIG_SWAPONOFF=y CONFIG_SWITCH_ROOT=y CONFIG_UMOUNT=y CONFIG_FEATURE_UMOUNT_ALL=y CONFIG_FEATURE_MOUNT_LOOP=y # CONFIG_FEATURE_MTAB_SUPPORT is not set CONFIG_ADJTIMEX=y CONFIG_BBCONFIG=y CONFIG_CHAT=y CONFIG_FEATURE_CHAT_NOFAIL=y # CONFIG_FEATURE_CHAT_TTY_HIFI is not set CONFIG_FEATURE_CHAT_IMPLICIT_CR=y # CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set # CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set # CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set # CONFIG_FEATURE_CHAT_CLR_ABORT is not set CONFIG_CHRT=y CONFIG_CROND=y # CONFIG_DEBUG_CROND_OPTION is not set # CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set CONFIG_CRONTAB=y # CONFIG_DC is not set # CONFIG_DEVFSD is not set # CONFIG_DEVFSD_MODLOAD is not set # CONFIG_DEVFSD_FG_NP is not set # CONFIG_DEVFSD_VERBOSE is not set # CONFIG_FEATURE_DEVFS is not set # CONFIG_EJECT is not set # CONFIG_FEATURE_EJECT_SCSI is not set CONFIG_LAST=y CONFIG_LESS=y CONFIG_FEATURE_LESS_MAXLINES=9999999 CONFIG_FEATURE_LESS_BRACKETS=y CONFIG_FEATURE_LESS_FLAGS=y # CONFIG_FEATURE_LESS_FLAGCS is not set # CONFIG_FEATURE_LESS_MARKS is not set # CONFIG_FEATURE_LESS_REGEXP is not set # CONFIG_HDPARM is not set # CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set # CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set # CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set # CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set # CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set # CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set CONFIG_MAKEDEVS=y # CONFIG_FEATURE_MAKEDEVS_LEAF is not set CONFIG_FEATURE_MAKEDEVS_TABLE=y CONFIG_MICROCOM=y CONFIG_MOUNTPOINT=y # CONFIG_MT is not set # CONFIG_RAIDAUTORUN is not set CONFIG_READAHEAD=y CONFIG_RUNLEVEL=y CONFIG_RX=y # CONFIG_SCRIPT is not set CONFIG_STRINGS=y CONFIG_SETSID=y CONFIG_TASKSET=y CONFIG_FEATURE_TASKSET_FANCY=y CONFIG_TIME=y CONFIG_TTYSIZE=y CONFIG_WATCHDOG=y # CONFIG_FEATURE_IPV6 is not set # CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set CONFIG_VERBOSE_RESOLUTION_ERRORS=y # CONFIG_ARP is not set CONFIG_ARPING=y # CONFIG_BRCTL is not set # CONFIG_FEATURE_BRCTL_FANCY is not set # CONFIG_DNSD is not set CONFIG_ETHER_WAKE=y CONFIG_FAKEIDENTD=y CONFIG_FTPGET=y CONFIG_FTPPUT=y CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y CONFIG_HOSTNAME=y # CONFIG_HTTPD is not set # CONFIG_FEATURE_HTTPD_RANGES is not set # CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set # CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set # CONFIG_FEATURE_HTTPD_SETUID is not set # CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set # CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set # CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set # CONFIG_FEATURE_HTTPD_CGI is not set # CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set # CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set # CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set # CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set # CONFIG_FEATURE_HTTPD_PROXY is not set CONFIG_IFCONFIG=y CONFIG_FEATURE_IFCONFIG_STATUS=y # CONFIG_FEATURE_IFCONFIG_SLIP is not set # CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set CONFIG_FEATURE_IFCONFIG_HW=y CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y # CONFIG_IFENSLAVE is not set # CONFIG_IFUPDOWN is not set CONFIG_IFUPDOWN_IFSTATE_PATH="" # CONFIG_FEATURE_IFUPDOWN_IP is not set # CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set # CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set # CONFIG_FEATURE_IFUPDOWN_IPV4 is not set # CONFIG_FEATURE_IFUPDOWN_IPV6 is not set # CONFIG_FEATURE_IFUPDOWN_MAPPING is not set # CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set CONFIG_INETD=y # CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set # CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set # CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set # CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set # CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set # CONFIG_FEATURE_INETD_RPC is not set # CONFIG_IP is not set # CONFIG_FEATURE_IP_ADDRESS is not set # CONFIG_FEATURE_IP_LINK is not set # CONFIG_FEATURE_IP_ROUTE is not set # CONFIG_FEATURE_IP_TUNNEL is not set # CONFIG_FEATURE_IP_RULE is not set # CONFIG_FEATURE_IP_SHORT_FORMS is not set # CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set # CONFIG_IPADDR is not set # CONFIG_IPLINK is not set # CONFIG_IPROUTE is not set # CONFIG_IPTUNNEL is not set # CONFIG_IPRULE is not set # CONFIG_IPCALC is not set # CONFIG_FEATURE_IPCALC_FANCY is not set # CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set CONFIG_NAMEIF=y CONFIG_FEATURE_NAMEIF_EXTENDED=y CONFIG_NC=y CONFIG_NC_SERVER=y CONFIG_NC_EXTRA=y # CONFIG_NETSTAT is not set # CONFIG_FEATURE_NETSTAT_WIDE is not set CONFIG_NSLOOKUP=y # CONFIG_PING is not set # CONFIG_PING6 is not set # CONFIG_FEATURE_FANCY_PING is not set # CONFIG_PSCAN is not set CONFIG_ROUTE=y # CONFIG_SENDMAIL is not set # CONFIG_FETCHMAIL is not set # CONFIG_SLATTACH is not set CONFIG_TELNET=y CONFIG_FEATURE_TELNET_TTYPE=y CONFIG_FEATURE_TELNET_AUTOLOGIN=y CONFIG_TELNETD=y CONFIG_FEATURE_TELNETD_STANDALONE=y CONFIG_TFTP=y CONFIG_TFTPD=y CONFIG_FEATURE_TFTP_GET=y CONFIG_FEATURE_TFTP_PUT=y CONFIG_FEATURE_TFTP_BLOCKSIZE=y # CONFIG_DEBUG_TFTP is not set CONFIG_TRACEROUTE=y CONFIG_FEATURE_TRACEROUTE_VERBOSE=y # CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set # CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set CONFIG_APP_UDHCPD=y CONFIG_APP_DHCPRELAY=y CONFIG_APP_DUMPLEASES=y CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" CONFIG_APP_UDHCPC=y CONFIG_FEATURE_UDHCPC_ARPING=y # CONFIG_FEATURE_UDHCP_PORT is not set # CONFIG_FEATURE_UDHCP_DEBUG is not set # CONFIG_FEATURE_RFC3397 is not set CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 CONFIG_VCONFIG=y CONFIG_WGET=y CONFIG_FEATURE_WGET_STATUSBAR=y CONFIG_FEATURE_WGET_AUTHENTICATION=y CONFIG_FEATURE_WGET_LONG_OPTIONS=y CONFIG_ZCIP=y # CONFIG_TCPSVD is not set # CONFIG_UDPSVD is not set CONFIG_FREE=y CONFIG_FUSER=y CONFIG_KILL=y CONFIG_KILLALL=y CONFIG_KILLALL5=y CONFIG_NMETER=y CONFIG_PGREP=y CONFIG_PIDOF=y CONFIG_FEATURE_PIDOF_SINGLE=y CONFIG_FEATURE_PIDOF_OMIT=y CONFIG_PKILL=y CONFIG_PS=y CONFIG_FEATURE_PS_WIDE=y # CONFIG_FEATURE_PS_TIME is not set # CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set CONFIG_RENICE=y CONFIG_BB_SYSCTL=y CONFIG_TOP=y CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y CONFIG_FEATURE_TOP_DECIMALS=y CONFIG_FEATURE_TOPMEM=y CONFIG_UPTIME=y CONFIG_WATCH=y CONFIG_FEATURE_SH_IS_ASH=y # CONFIG_FEATURE_SH_IS_HUSH is not set # CONFIG_FEATURE_SH_IS_MSH is not set # CONFIG_FEATURE_SH_IS_NONE is not set CONFIG_ASH=y CONFIG_ASH_JOB_CONTROL=y CONFIG_ASH_READ_NCHARS=y CONFIG_ASH_READ_TIMEOUT=y CONFIG_ASH_ALIAS=y CONFIG_ASH_MATH_SUPPORT=y # CONFIG_ASH_MATH_SUPPORT_64 is not set CONFIG_ASH_GETOPTS=y CONFIG_ASH_BUILTIN_ECHO=y CONFIG_ASH_BUILTIN_TEST=y # CONFIG_ASH_CMDCMD is not set CONFIG_ASH_MAIL=y CONFIG_ASH_OPTIMIZE_FOR_SIZE=y CONFIG_ASH_RANDOM_SUPPORT=y CONFIG_ASH_EXPAND_PRMT=y # CONFIG_HUSH is not set # CONFIG_HUSH_HELP is not set # CONFIG_HUSH_INTERACTIVE is not set # CONFIG_HUSH_JOB is not set # CONFIG_HUSH_TICK is not set # CONFIG_HUSH_IF is not set # CONFIG_HUSH_LOOPS is not set # CONFIG_LASH is not set # CONFIG_MSH is not set CONFIG_FEATURE_SH_EXTRA_QUIET=y # CONFIG_FEATURE_SH_STANDALONE is not set # CONFIG_CTTYHACK is not set CONFIG_SYSLOGD=y # CONFIG_FEATURE_ROTATE_LOGFILE is not set CONFIG_FEATURE_REMOTE_LOG=y CONFIG_FEATURE_SYSLOGD_DUP=y # CONFIG_FEATURE_IPC_SYSLOG is not set CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE= # CONFIG_LOGREAD is not set # CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set CONFIG_KLOGD=y CONFIG_LOGGER=y CONFIG_RUNSV=y CONFIG_RUNSVDIR=y CONFIG_SV=y CONFIG_SVLOGD=y CONFIG_CHPST=y CONFIG_SETUIDGID=y CONFIG_ENVUIDGID=y CONFIG_ENVDIR=y CONFIG_SOFTLIMIT=y # CONFIG_CHCON is not set # CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set # CONFIG_GETENFORCE is not set # CONFIG_GETSEBOOL is not set # CONFIG_LOAD_POLICY is not set # CONFIG_MATCHPATHCON is not set # CONFIG_RESTORECON is not set # CONFIG_RUNCON is not set # CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set # CONFIG_SELINUXENABLED is not set # CONFIG_SETENFORCE is not set # CONFIG_SETFILES is not set # CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set # CONFIG_SETSEBOOL is not set # CONFIG_SESTATUS is not set # CONFIG_LPD is not set # CONFIG_LPR is not set # CONFIG_LPQ is not set |
||||||||
| Attached Files |
|
||||||||
|
|
|||||||||
Notes |
|
|
(0007884) vda 05-28-08 11:13 |
I tried to reproduce it with 1.10.2 and it works for me with this .config. Can you confirn that 1.10.2 crashes for you too? Also: nmeter[6093]: segfault at 0 ip 08064ef2 sp bffffca0 error 4 Can you look up IP addr 08064ef2 in busybox_unstripped.map? You can find this file in the build directory. Look for like like these: .text.sortcmp 0x000000000808b694 0xac coreutils/lib.a(ls.o) .text.my_stat 0x000000000808b740 0x80 coreutils/lib.a(ls.o) |
|
(0007894) nuclearcat 05-28-08 12:27 |
sunfire-1 busybox-1.10.1 # cat busybox_unstripped.map |grep '08064e' 0x0000000008064e3f 0x5c procps/lib.a(nmeter.o) .text.put 0x0000000008064e9b 0x38 procps/lib.a(nmeter.o) 0x0000000008064ed3 0x2c procps/lib.a(nmeter.o) 0x0000000008064eff 0x9f procps/lib.a(nmeter.o) sunfire-1 busybox-1.10.1 # addr2line -i -e busybox_unstripped 08064ef2 nmeter.c:0 Also few more attempts to find which string fail: Proxy-Karam114 ~ # nmeter "CPU %c MEM %[mf] IO %b" Segmentation fault Proxy-Karam114 ~ # nmeter "CPU %c MEM %[mf]" Segmentation fault Proxy-Karam114 ~ # nmeter "CPU %c" CPU SUUUDDDDii CPU SSUUUUiii. CPU SSUUUUDDii CPU SSUUUUDii. CPU SSUUUUii.. CPU SSUUUUDii. CPU SSUUUUDii. ^C Proxy-Karam114 ~ # nmeter "CPU %c IO %b" CPU SUUUUDii.. IO 1.9m 10m CPU SSUUUUDii. IO 5.3m 6.0m ^C Proxy-Karam114 ~ # nmeter "MEM %[mf]" MEM 1.9g MEM 1.9g MEM 1.9g MEM 1.9g MEM 1.9g ^C Proxy-Karam114 ~ # nmeter "CPU %c IO %b" CPU SSUUUUDii. IO 2.3m 9.4m ^C Proxy-Karam114 ~ # nmeter "CPU %c IO %b MEM %[mf]" Segmentation fault Proxy-Karam114 ~ # nmeter "CPU %c IO %b MEM %[mf]" Segmentation fault Proxy-Karam114 ~ # nmeter "CPU %c IO %b MEM %[mf]" Segmentation fault Proxy-Karam114 ~ # nmeter "CPU %c IO %b MEM %[mf]" Segmentation fault Proxy-Karam114 ~ # nmeter "CPU %c IO %b MEM %[mf] " Segmentation fault Proxy-Karam114 ~ # nmeter "CPU %c IO %b MEM %[mf]" Segmentation fault Proxy-Karam114 ~ # nmeter "CPU %c IO %b %[mf]" Segmentation fault Proxy-Karam114 ~ # nmeter "CPU %c %b %[mf]" Segmentation fault Proxy-Karam114 ~ # nmeter "%c %b %[mf]" Segmentation fault Proxy-Karam114 ~ # nmeter "%b %[mf]" 1.4m 288k 1.9g 4.1m 7.9m 1.9g |
|
(0007904) vda 05-30-08 14:55 |
Add a test print in procps/nmeter.c: static void put(const char *s) { int sz = strlen(s); if (sz > outbuf + sizeof(outbuf) - cur_outbuf) sz = outbuf + sizeof(outbuf) - cur_outbuf; bb_error_msg("outbuf %p cur_outbuf %p sz %d", outbuf, cur_outbuf, sz); memcpy(cur_outbuf, s, sz); cur_outbuf += sz; } What does it print in your case? |
|
(0008654) nuclearcat 06-28-08 10:11 |
Sorry for delay, seems last request i didn't receive because of mailserver failure. Issue still actual. Here is debug output: meter: outbuf 0x80bf990 cur_outbuf 0x80bf990 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf994 sz 10 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf99e sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9a2 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9a7 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9ab sz 5 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9b0 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf990 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf994 sz 10 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf99e sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9a2 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9a7 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9ab sz 5 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9b0 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9b4 sz 1 CPU ii........ IO 0 0 MEM 1.9g nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf990 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf994 sz 10 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf99e sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9a2 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9a7 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9ab sz 5 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9b0 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9b4 sz 1 CPU i......... IO 0 0 MEM 1.9g nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf990 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf994 sz 10 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf99e sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9a2 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9a7 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9ab sz 5 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9b0 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9b4 sz 1 CPU i......... IO 0 0 MEM 1.9g nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf990 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf994 sz 10 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf99e sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9a2 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9a7 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9ab sz 5 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9b0 sz 4 nmeter: outbuf 0x80bf990 cur_outbuf 0x80bf9b4 sz 1 CPU i......... IO 0 0 MEM 1.9g |
|
(0008724) vda 06-28-08 15:00 |
nmeter[6093]: segfault at 0 ip 08064ef2 sp bffffca0 error 4 .text.put 0x0000000008064e9b 0x38 procps/lib.a(nmeter.o) 0x0000000008064ed3 0x2c procps/lib.a(nmeter.o) 0x0000000008064eff 0x9f procps/lib.a(nmeter.o) From the debug printout it is obvious that put() fuction is working ok. It's failing in a function which starts at 0x0000000008064ed3 (directly after put()). Which function is that? Do "make procps/nmeter.s" and "objdump -dr procps/nmeter.o" and post both results please, the function will be visible there. |
|
(0008734) nuclearcat 06-28-08 16:04 |
Since i am using 1.11.0 (it is crashing too) [ 218.330465] nmeter[1733]: segfault at 0 ip 0806488d sp bf9d8680 error 4 in busybox[8048000+76000] 0806486e <collect_info>: 0806489a <collect_time>: Looks like here: Disassembly of section .text.collect_info: 00000000 <collect_info>: 0: 53 push %ebx 1: 89 c3 mov %eax,%ebx 3: 83 ec 08 sub $0x8,%esp 6: a1 00 00 00 00 mov 0x0,%eax 7: R_386_32 ptr_to_globals b: 80 30 01 xorb $0x1,(%eax) e: eb 14 jmp 24 <collect_info+0x24> 10: 8b 43 08 mov 0x8(%ebx),%eax 13: e8 fc ff ff ff call 14 <collect_info+0x14> 14: R_386_PC32 .text.put 18: 83 ec 0c sub $0xc,%esp 1b: 53 push %ebx 1c: ff 53 04 call *0x4(%ebx) ----> 1f: 8b 1b mov (%ebx),%ebx 21: 83 c4 10 add $0x10,%esp 24: 85 db test %ebx,%ebx 26: 75 e8 jne 10 <collect_info+0x10> 28: 59 pop %ecx 29: 5b pop %ebx 2a: 5b pop %ebx 2b: c3 ret i manage also to run gdb there With disabled compiler optimizations all fine, it is not crashing. If i enable compiler optimization: (gdb) run nmeter "CPU %c IO %b MEM %[mf]" Starting program: /home/root/busybox_unstripped nmeter "CPU %c IO %b MEM %[mf]" Program received signal SIGSEGV, Segmentation fault. collect_info (s=0x0) at procps/nmeter.c:753 753 procps/nmeter.c: No such file or directory. in procps/nmeter.c while (s) { put(s->label); s->collect(s); s = s->next; <<<--- here } } (gdb) up 0000001 0x0806543c in nmeter_main (argc=2, argv=0xbfd6b368) at procps/nmeter.c:861 861 in procps/nmeter.c // Generate first samples but do not print them, they're bogus collect_info(first); <--- here 861 reset_outbuf(); |
|
(0008744) vda 06-28-08 16:13 |
What does it print when you add this? while (s) { put(s->label); s->collect(s); bb_error_msg("s:%p s->next:%p", s, s->next); s = s->next; } |
|
(0008754) nuclearcat 06-28-08 16:31 |
Not able to trigger bug with added line Output: Router-Dora ~ # ./busybox_unstripped nmeter "CPU %c IO %b MEM %[mf]" nmeter: s:0x80c2078 s->next:0x80c20d8 nmeter: s:0x80c20d8 s->next:0x80c2100 nmeter: s:0x80c2100 s->next:(nil) nmeter: s:0x80c2078 s->next:0x80c20d8 nmeter: s:0x80c20d8 s->next:0x80c2100 nmeter: s:0x80c2100 s->next:(nil) CPU ii........ IO 0 0 MEM 1.9g nmeter: s:0x80c2078 s->next:0x80c20d8 nmeter: s:0x80c20d8 s->next:0x80c2100 nmeter: s:0x80c2100 s->next:(nil) CPU ii........ IO 0 0 MEM 1.9g nmeter: s:0x80c2078 s->next:0x80c20d8 nmeter: s:0x80c20d8 s->next:0x80c2100 nmeter: s:0x80c2100 s->next:(nil) CPU ii........ IO 0 0 MEM 1.9g |
|
(0008764) vda 06-28-08 16:38 |
We might have uninitialized ->next. I replaced xmalloc's with xzalloc's, please try attached 3.patch |
|
(0008774) nuclearcat 06-28-08 16:44 edited on: 06-28-08 16:55 |
Maybe some gcc optimization causing this? diff in assembly of nmeter with line added and default --- VAR1 2008-06-29 02:36:05.000000000 +0300 +++ VAR2 2008-06-29 02:37:24.000000000 +0300 @@ -5,26 +5,19 @@ 6: a1 00 00 00 00 mov 0x0,%eax 7: R_386_32 ptr_to_globals b: 80 30 01 xorb $0x1,(%eax) - e: eb 24 jmp 34 <collect_info+0x34> + e: eb 14 jmp 24 <collect_info+0x24> 10: 8b 43 08 mov 0x8(%ebx),%eax 13: e8 fc ff ff ff call 14 <collect_info+0x14> 14: R_386_PC32 .text.put 18: 83 ec 0c sub $0xc,%esp 1b: 53 push %ebx 1c: ff 53 04 call *0x4(%ebx) - 1f: 83 c4 0c add $0xc,%esp - 22: ff 33 pushl (%ebx) - 24: 53 push %ebx - 25: 68 0a 00 00 00 push $0xa - 26: R_386_32 .rodata.str1.1 - 2a: e8 fc ff ff ff call 2b <collect_info+0x2b> - 2b: R_386_PC32 bb_error_msg - 2f: 8b 1b mov (%ebx),%ebx - 31: 83 c4 10 add $0x10,%esp - 34: 85 db test %ebx,%ebx - 36: 75 d8 jne 10 <collect_info+0x10> - 38: 59 pop %ecx - 39: 5b pop %ebx - 3a: 5b pop %ebx - 3b: c3 ret + 1f: 8b 1b mov (%ebx),%ebx + 21: 83 c4 10 add $0x10,%esp + 24: 85 db test %ebx,%ebx + 26: 75 e8 jne 10 <collect_info+0x10> + 28: 59 pop %ecx + 29: 5b pop %ebx + 2a: 5b pop %ebx + 2b: c3 ret Disassembly of section .text.collect_time: If i change -Os to -O0 it works fine in: Makefile.flags ifneq ($(CONFIG_DEBUG),y) CFLAGS += $(call cc-option,-Os,) <<--- here else |
|
(0008784) nuclearcat 06-28-08 16:50 edited on: 06-28-08 16:53 |
Tested patch, it doesn't help. Crashing in same place. LINK busybox_unstripped Trying libraries: crypt m Library crypt is needed Library m is needed Final link with: crypt m sunfire-1 busybox-1.11.0 # scp busybox_unstripped root@XXX.XXX.XXX.XXX: root@XXX.XXX.XXX.XXX's password: busybox_unstripped 100% 565KB 565.3KB/s 00:00 sunfire-1 busybox-1.11.0 # cat procps/nmeter.c|grep xzalloc SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \ s_stat *s = xzalloc(sizeof(s_stat)); cpu_stat *s = xzalloc(sizeof(*s)); s->bar = xzalloc(sz+1); /*s->bar[sz] = '\0'; - xzalloc did it */ int_stat *s = xzalloc(sizeof(*s)); ctx_stat *s = xzalloc(sizeof(*s)); blk_stat *s = xzalloc(sizeof(*s)); fork_stat *s = xzalloc(sizeof(*s)); if_stat *s = xzalloc(sizeof(*s)); mem_stat *s = xzalloc(sizeof(*s)); swp_stat *s = xzalloc(sizeof(*s)); fd_stat *s = xzalloc(sizeof(*s)); time_stat *s = xzalloc(sizeof(*s)); /*s->next = NULL; - all initXXX funcs use xzalloc */ /*s->next = NULL; - all initXXX funcs use xzalloc */ So it is applied, i made sure by rebuilding from scratch. |
|
(0008794) nuclearcat 06-28-08 17:06 edited on: 06-28-08 17:08 |
Also if i use gcc-3.4.5-gentoo it is ok too (with -Os even). When bug triggered i am using 4.1.2-gentoo. I will try rebuild gcc 4.1.2 with vanilla flag, but i am feeling something new added in gcc-4 optimizations. (Sorry, went to sleep, will be online if required after 8 hours) |
|
(0008804) vda 06-28-08 17:20 |
produce nmeter.s with gcc 3.x.x and 4.x.x and attach to the bug please. |
|
(0008824) nuclearcat 06-29-08 06:11 |
files attached binary produced by gcc 4.3.1 crashing too |
|
(0008844) vda 06-29-08 07:24 edited on: 06-29-08 07:31 |
Please double check - does this line really makes bug disappear? while (s) { put(s->label); s->collect(s); bb_error_msg("s:%p s->next:%p", s, s->next); s = s->next; } if so - try simpler modifications, like: while (s) { put(s->label); s->collect(s); write(2, "before\n", 7); s = s->next; write(2, "after\n", 6); } What I'm trying to verify by the above fragment - does it _really_ crashes on s = s->next line? For now, I am not 100% sure. |
|
(0008854) nuclearcat 06-29-08 10:02 |
With gcc 4.3.1 it crash on first variant too. Router-Dora ~ # ./busybox_unstripped nmeter "CPU %c MEM %[mf] IO %b" nmeter: s:0x80c2078 s->next:0x80c20d8 Segmentation fault [1198888.680599] busybox_unstrip[6483]: segfault at 0 ip 0806500f sp bf839c8c error 4 in busybox_unstripped[8048000+76000] in busybox_unstripped 08064fed <collect_info>: means collect_info + offset 0x22 then in nmeter.o 00000000 <collect_info>: 0: 53 push %ebx 1: 89 c3 mov %eax,%ebx 3: 83 ec 08 sub $0x8,%esp 6: a1 00 00 00 00 mov 0x0,%eax 7: R_386_32 ptr_to_globals b: 80 30 01 xorb $0x1,(%eax) e: eb 24 jmp 34 <collect_info+0x34> 10: 8b 43 08 mov 0x8(%ebx),%eax 13: e8 fc ff ff ff call 14 <collect_info+0x14> 14: R_386_PC32 .text.put 18: 83 ec 0c sub $0xc,%esp 1b: 53 push %ebx 1c: ff 53 04 call *0x4(%ebx) 1f: 83 c4 0c add $0xc,%esp 22: ff 33 pushl (%ebx) THIS? 24: 53 push %ebx 25: 68 83 00 00 00 push $0x83 26: R_386_32 .rodata.str1.1 2a: e8 fc ff ff ff call 2b <collect_info+0x2b> 2b: R_386_PC32 bb_error_msg 2f: 8b 1b mov (%ebx),%ebx 31: 83 c4 10 add $0x10,%esp 34: 85 db test %ebx,%ebx 36: 75 d8 jne 10 <collect_info+0x10> 38: 5b pop %ebx 39: 58 pop %eax 3a: 5b pop %ebx 3b: c3 ret Disassembly of section .text.nmeter_main: What i found: by modifying static void collect_info(s_stat *s) { gen ^= 1; while (s) { put(s->label); bb_error_msg("msg1 label %s",s->label); bb_error_msg("s:%p s->next:%p", s, s->next); s->collect(s); bb_error_msg("msg2"); //bb_error_msg("s:%p s->next:%p", s, s->next); bb_error_msg("s:%p", s); s = s->next; } } Router-Dora ~ # ./busybox_unstripped nmeter "CPU %c MEM %[mf] IO %b" nmeter: msg1 label CPU nmeter: s:0x80c2078 s->next:0x80c20d8 nmeter: msg2 nmeter: s:0x80c2078 nmeter: msg1 label MEM nmeter: s:0x80c20d8 s->next:0x80c20f0 nmeter: msg2 nmeter: s:(nil) Segmentation fault so s became NULL while collecting meminfo? sure s->next cannot be retrieved from it. My meminfo now Router-Dora ~ # cat /proc/meminfo MemTotal: 2076508 kB MemFree: 1900396 kB Buffers: 620 kB Cached: 51900 kB SwapCached: 0 kB Active: 12264 kB Inactive: 43976 kB HighTotal: 1179584 kB HighFree: 1121704 kB LowTotal: 896924 kB LowFree: 778692 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 3720 kB Mapped: 3068 kB Slab: 112572 kB SReclaimable: 3668 kB SUnreclaim: 108904 kB PageTables: 172 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 1038252 kB Committed_AS: 8836 kB VmallocTotal: 114680 kB VmallocUsed: 2232 kB VmallocChunk: 112356 kB |
|
(0008864) nuclearcat 06-29-08 10:21 |
I think it is not related to memory, cause as i remember it happens sometimes with another nmeter parameters. |
|
(0008874) nuclearcat 06-29-08 10:47 |
I am wrong. Well it is related, if we check more my previous tests - it was always containing %[mf] |
|
(0008884) vda 06-30-08 00:40 |
s is a local variable and cannot be accessible by called functions. In fact, in your case s is in the %ebx register. 1b: 53 push %ebx 1c: ff 53 04 call *0x4(%ebx) s->collect(s) 1f: 83 c4 0c add $0xc,%esp 22: ff 33 pushl (%ebx) <= s->next 24: 53 push %ebx <= s (is in %ebx) 25: 68 83 00 00 00 push $0x83 26: R_386_32 .rodata.str1.1 2a: e8 fc ff ff ff call 2b <collect_info+0x2b> 2b: R_386_PC32 bb_error_msg From the looks of it, %ebx gets clobbered. In nmeter.s.gcc4, I see that collect_mem saves/restores %ebx. Fishy. Can you step through the above fragment in gdb and confirm that %ebx gets clobbered? If yes, which collect_XXX func does that? |
|
(0008894) nuclearcat 07-01-08 05:24 |
It is seems gcc bug. When gcc built on x86_64 machine, even on chrooted 32-bit environment, it seems have some bugs, until i set also setarch i686 (by personality syscalls) and rebuilt gcc. Even it is building 32-bit binaries by default, it is broken. I think it is kind of difficult will be to report such bug to gcc bugzilla? Is it worth it? Btw i face such bug only once, with nmeter. You can just close bug, if it is not interesting for you anymore. |
| Copyright © 2000 - 2006 Mantis Group |