Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 250631 - dev-util/strace-4.5.18 - segmentation fault in __canonicalize_funcptr_for_compare ()
Summary: dev-util/strace-4.5.18 - segmentation fault in __canonicalize_funcptr_for_com...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: HPPA Porters
URL: https://sourceforge.net/mailarchive/f...
Whiteboard:
Keywords:
Depends on:
Blocks: 241168
  Show dependency tree
 
Reported: 2008-12-11 18:04 UTC by Jeroen Roovers (RETIRED)
Modified: 2009-10-27 13:15 UTC (History)
1 user (show)

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


Attachments
Relevant dmesg output (dmesg.strace.segv,6.62 KB, text/plain)
2008-12-11 18:05 UTC, Jeroen Roovers (RETIRED)
Details
strace's own output (strace.strace,2.52 KB, text/plain)
2009-01-21 18:26 UTC, Jeroen Roovers (RETIRED)
Details
gdb output with strace built with -O0 (strace-O0.gdb,2.44 KB, text/plain)
2009-01-22 17:57 UTC, Jeroen Roovers (RETIRED)
Details
ebuild patch using a git clone and the patch from the URL (strace-4.5.18-4.5.19_p20090914.ebuild.diff,868 bytes, patch)
2009-09-14 19:04 UTC, Jeroen Roovers (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jeroen Roovers (RETIRED) gentoo-dev 2008-12-11 18:04:48 UTC
GNU gdb 6.7.1
Copyright (C) 2007 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 "hppa2.0-unknown-linux-gnu"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) run -f -o euses.strace euses -c pic
Starting program: /usr/bin/strace -f -o euses.strace euses -c pic

Program received signal SIGSEGV, Segmentation fault.
0x0002c938 in __canonicalize_funcptr_for_compare ()
(gdb) thread apply all bt full
(gdb) bt full
#0  0x0002c938 in __canonicalize_funcptr_for_compare ()
No symbol table info available.
#1  0x00027394 in sys_rt_sigaction (tcp=0x4f118) at signal.c:1886
        sa = {__sigaction_handler = {__sa_handler = <error reading variable>,
    __sa_sigaction = <error reading variable>}, sa_flags = 0, sa_restorer = 0,
  sa_mask = {0, 0}}
        sigset = {__val = {311560, 311560, 0, 28115, 86831, 323896, 88, 0, 0,
    311560, 3, 187071, 4213814876, 0, 1, 28115, 183268, 0, 0, 0, 87151, 0, 0,
    0, 776304, 160564, 269070, 4213815004, 270600, 0, 4213815000, 1074510806}}
        addr = <value optimized out>
#2  0x00018b1c in trace_syscall (tcp=0x4f118) at syscall.c:2558
        u_error = <value optimized out>
        sys_res = <value optimized out>
        tv = {tv_sec = 1, tv_usec = -81152560}
        res = <value optimized out>
#3  0x00016b74 in trace () at strace.c:2475
        pid = 28115
        status = -81151928
        tcp = (struct tcb *) 0x4f118
        ru = {ru_utime = {tv_sec = 0, tv_usec = 0}, ru_stime = {tv_sec = 0,
    tv_usec = 0}, ru_maxrss = 0, ru_ixrss = 0, ru_idrss = 0, ru_isrss = 0,
  ru_minflt = 0, ru_majflt = 0, ru_nswap = 0, ru_inblock = 0, ru_oublock = 0,
  ru_msgsnd = 0, ru_msgrcv = 0, ru_nsignals = 0, ru_nvcsw = 0, ru_nivcsw = 0}
        wait4_options = 1073741824
#4  0x00017b4c in main (argc=7, argv=<value optimized out>) at strace.c:879
        pent = <value optimized out>
        tcp = <value optimized out>
        c = <value optimized out>
        optF = 0
        sa = {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0},
  sa_flags = 0, sa_mask = {__val = {0 <repeats 32 times>}}}
        buf = '\0' <repeats 8191 times>

Portage 2.1.6 (default/linux/hppa/2008.0, gcc-4.1.2, glibc-2.7-r2, 2.6.26.7-JeR parisc)
=================================================================
System uname: Linux-2.6.26.7-JeR-parisc-PA8700_-PCX-W2-with-glibc2.2
Timestamp of tree: Thu, 11 Dec 2008 05:15:01 +0000
distcc 3.0 hppa2.0-unknown-linux-gnu [enabled]
ccache version 2.4 [disabled]
app-shells/bash:     3.2_p48
dev-lang/python:     2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.2
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.0
sys-apps/sandbox:    1.3.1
sys-devel/autoconf:  2.13, 2.62-r1
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.19
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.25-r4
ACCEPT_KEYWORDS="hppa"
CBUILD="hppa2.0-unknown-linux-gnu"
CFLAGS="-O2 -pipe -mschedule=8000 -march=2.0 -g -ggdb -Wall"
CHOST="hppa2.0-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/bind /var/www/localhost/htdocs/wordpress/wp-config.php"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -mschedule=8000 -march=2.0 -g -ggdb -Wall"
DISTDIR="/keeps/gentoo/distfiles"
FEATURES="autoaddcvs buildpkg cvs distcc distlocks fixpackages notitles parallel-fetch protect-owned sandbox sfperms splitdebug strict unmerge-orphans userfetch"
GENTOO_MIRRORS=" http://gentoo.tiscali.nl/ http://mirror.muntinternet.net/pub/gentoo/ http://mirror.cambrium.nl/pub/os/linux/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo/ "
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en nl he"
MAKEOPTS="-j3"
PKGDIR="/keeps/gentoo/packages/elmer"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/mnt/alt/portage-tmp"
PORTDIR="/keeps/gentoo/portage"
PORTDIR_OVERLAY="/keeps/gentoo/local"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="7zip X Xaw3d a52 aac aalib accessibility ads agg alsa amr amrnb amrwb ao aoss apache2 ares arts asf async asyncns audiofile audit automount avfs bash-completion berkdb bidi bittorrent bl bluetooth bzip2 c++ cairo caps catalogs cblas cdb cddb cdparanoia cdr chardet cjk clarens cli cracklib crypt cups curl custom-cflags cxx dbi dbtool dbus device-mapper dga dia dirac djbfft domainkeys dri drm dts dv dvd dvdr dvdread dxr3 edl elf emacs enca encode esd examples exif expat fame fastbuild fastcgi fbcon ffmpeg filter flac fontconfig foomaticdb fortran ftp gadu galago gcrypt gd gdbm geant4 geoip ggi gif gimp gimpprint glep glib glut gmp gnome gnutls gphoto2 gpm gs gsl gsm gtk gtk2 gtkhtml hal hepmc hesiod hppa ical icecast iconv icu idea idn imagemagick imlib immqt-bc inquisitio ipv6 isc isdnlog ithreads jack javascript jbig jingle jpeg jpeg2k judy kde kerberos kpathsea lapack latex lcms ldap leim libass libcaca libnotify libsamplerate libwww live lm_sensors logrotate logwatch lua lzo mad manhole matroska mbrola memcache metis mhash midi mikmod mmap mng modplug motif mozbranding mp3 mplayer mssql mudflap musepack mysql nas ncurses netpbm network-cron nfconntrack nfs nls nntp nptl nptlonly nsplugin offensive ogg openal openexr opengl openmp oss ots overlays pam pango pbs pcre pdf pdo-external perl php pic plotutils plugins png portage portaudio postgres povray ppds pppd pulseaudio python pyzord qdbm qt3 qt3support qt4 quotas raw readline recode reflection rle rpc rrdtool rtc ruby samba sasl scanner schroedinger scim sdl seamonkey server session sid slang slp sms sndfile snmp soundex speex spell spl sqlite srt ssh ssl startup-notification subtitles subversion suhosin supernodal svg swat sysfs syslog talkfilters tcl tcpd test tftp tga theora threads thunar-vfs tidy tiff timidity tk tools truetype twolame udev unicode unzip urandom usb userlocales utempter utf v4l v4l2 vanim vcd vidix vim-syntax vorbis wavpack webdav webinstall winbind wlan wma wmf xanim xchattext xcomposite xface xml xml2 xmp xmpi xorg xpm xrandr xscreensaver xsettings xulrunner xv xvid xvmc zip zip-external zlib" ALSA_CARDS="ad1889 usb-audio" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_ftp proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en nl he" USERLAND="GNU" VIDEO_CARDS="stifb fbdev matrox"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2008-12-11 18:05:59 UTC
Created attachment 174978 [details]
Relevant dmesg output
Comment 2 Guy Martin (RETIRED) gentoo-dev 2008-12-25 22:28:52 UTC
I'm not able to reproduce anymore with 2.6.28. Can you test too and confirm it works ?
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2009-01-21 18:18:28 UTC
(In reply to comment #2)
> I'm not able to reproduce anymore with 2.6.28. Can you test too and confirm it
> works ?

No, and I am still seeing it with 2.6.29_rc1, so could you please post your `emerge --info'? I am particularly interested in gcc/glibc versions.
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2009-01-21 18:26:07 UTC
Created attachment 179190 [details]
strace's own output
Comment 5 Guy Martin (RETIRED) gentoo-dev 2009-01-21 19:01:26 UTC
Actually, strace -f segfault. Without -f it does work.
Comment 6 Luca Lesinigo 2009-01-22 11:33:52 UTC
(In reply to comment #4)
> strace's own output
strace /bin/ls will fail here at the same point (after futex() call).
It segfaults with AND without the -f switch.

linux-2.6.28.1 32bit UP (with linux-vserver patchset) on HPPA 2.0 (C3600)
strace-4.5.18, gcc-4.2.4-r1, glibc-2.7-r2

Tried CFLAGS=CXXFLAGS="-pipe -O2 -march=2.0" and CFLAGS=CXXFLAGS="-pipe" with identical results (Segmentation fault).

For comparison, the same strace-4.5.18 seems unaffected on hardened x86_64 (xen-sources-2.6.18-r12, gcc-3.4.6-r2, glibc-2.6.1)
Comment 7 Jeroen Roovers (RETIRED) gentoo-dev 2009-01-22 17:57:38 UTC
Created attachment 179357 [details]
gdb output with strace built with -O0
Comment 8 SpanKY gentoo-dev 2009-05-05 20:36:35 UTC
Kyle has done some where ... can you test these patches ?

http://thread.gmane.org/gmane.linux.ports.parisc/256/focus=1661
Comment 9 Jeroen Roovers (RETIRED) gentoo-dev 2009-05-06 16:31:03 UTC
(In reply to comment #8)
> Kyle has done some where ... can you test these patches ?
> 
> http://thread.gmane.org/gmane.linux.ports.parisc/256/focus=1661

The second patch[2] doesn't appear to be complete. It fails to apply in the first place, and after rewriting it and applying, I get:

elmer ~ # strace ls -l
upeek: ptrace(PTRACE_PEEKUSER,323608,104,0): No such process

Compiling with only [1] gives me the same old segmentation faults.


[1] http://userweb.kernel.org/~kyle/strace-add-hppa-syscalls.diff
[2] http://userweb.kernel.org/~kyle/strace-fix-hppa-syscalls.diff
Comment 10 Jeroen Roovers (RETIRED) gentoo-dev 2009-07-07 05:34:55 UTC
If only the syscalls need updating, please tell me how to do it...
Comment 11 SpanKY gentoo-dev 2009-09-09 18:22:04 UTC
the hppa guys have debugged this and posted a patch
Comment 12 Jeroen Roovers (RETIRED) gentoo-dev 2009-09-14 02:08:10 UTC
Thanks. The patch doesn't apply against 4.5.18 so we'd need some new version first.
Comment 13 Jeroen Roovers (RETIRED) gentoo-dev 2009-09-14 19:04:00 UTC
Created attachment 204114 [details, diff]
ebuild patch using a git clone and the patch from the URL

OK, a clone of the current git repo with the patch in the URL gives me a strace that runs well. I decided to call it 4.5.19_p20090914. Is that a good version to use in the tree?
Comment 14 SpanKY gentoo-dev 2009-10-27 13:15:35 UTC
strace-4.5.19 in the tree and it should work fine