After upgrade to version 3.9.2-r2 applications fail to launch with this error in dmesg: wimenu[22521] general protection ip:7f53209357f9 sp:7fff397d3500 error:0 in libixp.so[7f532092d000+e000] I have one such line with diferent numbers everytime I try to launch any application vith mod + p, except xterm (mod + a). Reproducible: Always Steps to Reproduce: 1.upgrade wmii 2.hit mod + p I have tried revdep-rebuild --library '/usr/lib64/libixp.so' and revdep-rebuild alone and also I have rebuilded both wmii and libixp separately. Unfortunately, no use.
*wmii-3.9.2-r2 (04 Dec 2011) 04 Dec 2011; Samuli Suominen <ssuominen@gentoo.org> +wmii-3.9.2-r2.ebuild: Use system copy of sys-libs/libixp wrt #323037
Thank you for quick response > 04 Dec 2011; Samuli Suominen <ssuominen@gentoo.org> +wmii-3.9.2-r2.ebuild: > Use system copy of sys-libs/libixp wrt #323037 After looking that other bugreport, I am still confused what I am actually supposed to do to solve the problem. (Sorry, I am still learning...) I have sys-libs/libixp version 0.5_p20110208-r2 (no use flags) installed.
I am also having this problem. mod+p gives in dmesg: wimenu[12822] general protection ip:3e3187c871 sp:7fff8b967150 error:0 in libc-2.13.so[3e31800000+17d000] As you can see, the culprit is wimenu, and the problem is a segmentation fault: $ echo | wimenu Segmentation fault Runnig it in gdb yields this (pressing Ctrl+d when wimenu wants to read stdin): ---------------------------------------------------------------------------- $ gdb /usr/bin/wimenu GNU gdb (Gentoo 7.2 p1) 7.2 Copyright (C) 2010 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 "x86_64-pc-linux-gnu". For bug reporting instructions, please see: <http://bugs.gentoo.org/>... Reading symbols from /usr/bin/wimenu...Reading symbols from /usr/lib64/debug/usr/bin/wimenu.debug...done. done. (gdb) run Starting program: /usr/bin/wimenu Program received signal SIGSEGV, Segmentation fault. __libc_realloc (oldmem=0x66343536313823, bytes=1) at malloc.c:3769 3769 malloc.c: No such file or directory. in malloc.c (gdb) bt #0 __libc_realloc (oldmem=0x66343536313823, bytes=1) at malloc.c:3769 #1 0x000000000040ac80 in erealloc (ptr=0x66343536313823, size=1) at util.c:148 #2 0x00000000004049ec in caret_insert (s=<value optimized out>, clear=<value optimized out>) at caret.c:154 #3 0x00000000004043aa in main (argc=<value optimized out>, argv=0x7fffffffdc40) at main.c:306 (gdb) bt full #0 __libc_realloc (oldmem=0x66343536313823, bytes=1) at malloc.c:3769 ar_ptr = <value optimized out> nb = <value optimized out> newp = <value optimized out> oldp = 0x66343536313813 oldsize = <value optimized out> __func__ = "__libc_realloc" #1 0x000000000040ac80 in erealloc (ptr=0x66343536313823, size=1) at util.c:148 ret = <value optimized out> #2 0x00000000004049ec in caret_insert (s=<value optimized out>, clear=<value optimized out>) at caret.c:154 pos = 0 end = 0 len = 0 size = 0 #3 0x00000000004043aa in main (argc=<value optimized out>, argv=0x7fffffffdc40) at main.c:306 item = <value optimized out> address = 0x0 histfile = 0x0 keyfile = 0x0 nokeys = false i = <value optimized out> ndump = -1 screen = -1 _argv = <value optimized out> (gdb) ---------------------------------------------------------------------------- Running it in valgrind yields this: ---------------------------------------------------------------------------- $ valgrind /usr/bin/wimenu ==18674== Memcheck, a memory error detector ==18674== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al. ==18674== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info ==18674== Command: /usr/bin/wimenu ==18674== ==18674== Conditional jump or move depends on uninitialised value(s) ==18674== at 0x3E31416346: index (strchr.S:56) ==18674== by 0x3E3140724A: expand_dynamic_string_token (dl-load.c:324) ==18674== by 0x3E3140763F: _dl_map_object (dl-load.c:2178) ==18674== by 0x3E3140197D: map_doit (rtld.c:631) ==18674== by 0x3E3140D975: _dl_catch_error (dl-error.c:178) ==18674== by 0x3E31401896: do_preload (rtld.c:815) ==18674== by 0x3E314044E1: dl_main (rtld.c:1700) ==18674== by 0x3E31414997: _dl_sysdep_start (dl-sysdep.c:244) ==18674== by 0x3E314014C2: _dl_start (rtld.c:336) ==18674== by 0x3E31400BA7: ??? (in /lib64/ld-2.13.so) ==18674== ==18674== Conditional jump or move depends on uninitialised value(s) ==18674== at 0x3E3141634B: index (strchr.S:59) ==18674== by 0x3E3140724A: expand_dynamic_string_token (dl-load.c:324) ==18674== by 0x3E3140763F: _dl_map_object (dl-load.c:2178) ==18674== by 0x3E3140197D: map_doit (rtld.c:631) ==18674== by 0x3E3140D975: _dl_catch_error (dl-error.c:178) ==18674== by 0x3E31401896: do_preload (rtld.c:815) ==18674== by 0x3E314044E1: dl_main (rtld.c:1700) ==18674== by 0x3E31414997: _dl_sysdep_start (dl-sysdep.c:244) ==18674== by 0x3E314014C2: _dl_start (rtld.c:336) ==18674== by 0x3E31400BA7: ??? (in /lib64/ld-2.13.so) ==18674== ==18674== Invalid free() / delete / delete[] ==18674== at 0x4A078FF: realloc (vg_replace_malloc.c:525) ==18674== by 0x40AC7F: erealloc (util.c:148) ==18674== by 0x4049EB: caret_insert (caret.c:154) ==18674== by 0x4043A9: main (main.c:306) ==18674== Address 0x66343536313823 is not stack'd, malloc'd or (recently) free'd ==18674== ==18674== Conditional jump or move depends on uninitialised value(s) ==18674== at 0x40A9F4: wmii_strlcat (util.c:241) ==18674== by 0x40ABAB: mfatal (util.c:120) ==18674== by 0x40AC95: erealloc (util.c:150) ==18674== by 0x4049EB: caret_insert (caret.c:154) ==18674== by 0x4043A9: main (main.c:306) ==18674== ==18674== Conditional jump or move depends on uninitialised value(s) ==18674== at 0x40AA0C: wmii_strlcat (util.c:245) ==18674== by 0x40ABFA: mfatal (util.c:124) ==18674== by 0x40AC95: erealloc (util.c:150) ==18674== by 0x4049EB: caret_insert (caret.c:154) ==18674== by 0x4043A9: main (main.c:306) ==18674== ==18674== Conditional jump or move depends on uninitialised value(s) ==18674== at 0x40A9F4: wmii_strlcat (util.c:241) ==18674== by 0x40AC0F: mfatal (util.c:125) ==18674== by 0x40AC95: erealloc (util.c:150) ==18674== by 0x4049EB: caret_insert (caret.c:154) ==18674== by 0x4043A9: main (main.c:306) ==18674== ==18674== Conditional jump or move depends on uninitialised value(s) ==18674== at 0x40AC1C: mfatal (util.c:126) ==18674== by 0x40AC95: erealloc (util.c:150) ==18674== by 0x4049EB: caret_insert (caret.c:154) ==18674== by 0x4043A9: main (main.c:306) ==18674== ==18674== Syscall param write(buf) points to uninitialised byte(s) ==18674== at 0x3E318CDA30: __write_nocancel (syscall-template.S:82) ==18674== by 0x40AC2E: mfatal (util.c:126) ==18674== by 0x40AC95: erealloc (util.c:150) ==18674== by 0x4049EB: caret_insert (caret.c:154) ==18674== by 0x4043A9: main (main.c:306) ==18674== Address 0x7fefff62d is on thread 1's stack ==18674== /usr/bin/wimenu: fatal: Could not realloc() 1 bytes ==18674== ==18674== HEAP SUMMARY: ==18674== in use at exit: 141,427 bytes in 1,049 blocks ==18674== total heap usage: 1,690 allocs, 641 frees, 198,956 bytes allocated ==18674== ==18674== LEAK SUMMARY: ==18674== definitely lost: 176 bytes in 2 blocks ==18674== indirectly lost: 240 bytes in 10 blocks ==18674== possibly lost: 0 bytes in 0 blocks ==18674== still reachable: 141,011 bytes in 1,037 blocks ==18674== suppressed: 0 bytes in 0 blocks ==18674== Rerun with --leak-check=full to see details of leaked memory ==18674== ==18674== For counts of detected and suppressed errors, rerun with: -v ==18674== Use --track-origins=yes to see where uninitialised values come from ==18674== ERROR SUMMARY: 9 errors from 8 contexts (suppressed: 4 from 4) ---------------------------------------------------------------------------- Interestingly, compiling wmii+ixp-3.9.2.tbz from upstream with a simple "make" yields a cmd/menu/wimenu.out that does _not_ segfault, so perhaps some "emerge --info" is in order: $ emerge --info Portage 2.1.10.11 (default/linux/amd64/10.0/desktop, gcc-4.4.5, glibc-2.13-r4, 2.6.39-gentoo-r3-cvs2 x86_64) ================================================================= System uname: Linux-2.6.39-gentoo-r3-cvs2-x86_64-Intel-R-_Core-TM-_i7-2620M_CPU_@_2.70GHz-with-gentoo-2.0.3 Timestamp of tree: Mon, 05 Dec 2011 20:00:01 +0000 app-shells/bash: 4.1_p9 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.2-r3, 3.1.4-r3 dev-util/cmake: 2.8.4-r1 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.0.3 sys-apps/openrc: 0.9.4 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.21.1-r1 sys-devel/gcc: 4.4.5, 4.5.3-r1 sys-devel/gcc-config: 1.4.1-r1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 2.6.39 (virtual/os-headers) sys-libs/glibc: 2.13-r4 Repositories: gentoo ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -O2 -pipe -ggdb" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/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" CXXFLAGS="-march=core2 -O2 -pipe -ggdb" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--autounmask=n" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="ftp://ftp.df.lth.se/pub/gentoo ftp://ftp.ing.umu.se/linux/gentoo/ http://mirror.uni-c.dk/pub/gentoo/" LANG="en_GB.UTF-8" LC_ALL="en_GB.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en_GB sv fr de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" 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="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac aalib acl acpi alsa amd64 apache2 berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus djvu dri dts dv dvd dvdr emacs emboss encode exif faac fam ffmpeg firefox flac fortran gd gdbm gdu gif gnome gnome-keyring gnutls gpm gtk iconv ieee1394 imagemagick ipv6 irda jabber java jpeg jpeg2k kpathsea latex lcms ldap libcaca libnotify mad mmx mng modules mp3 mp4 mpeg mplayer mudflap multilib mysql ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pango pcre pcsc-lite pdf php plotutils png policykit ppds pppd qt3support qt4 readline scanner sdl semantic-desktop session smartcard sndfile spell sse sse2 ssl ssse3 startup-notification svg synaptics sysfs tcpd theora tiff timidity tk truetype udev unicode usb vorbis wxwidgets x264 xcb xft xinerama xml xorg xscreensaver xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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 mmap_emul mulaw multi null plug rate route share shm softvol" 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" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" 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 ubx" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB sv fr de" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="i810 intel" 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, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I can confirm that this affects my computer as well. The only difference is that I get a trap segment stack message in dmesg instead of general protection fault. <bottom of my dmesg log> wimenu[3274] trap stack segment ip:7fd51cf05df1 sp:7fff24a5c180 error:0 wimenu[3292] trap stack segment ip:7f3545ec3df1 sp:7fff50d46690 error:0 wimenu[3312] trap stack segment ip:7fad35510df1 sp:7fff6638ef30 error:0 wimenu[3339] trap stack segment ip:7f9d03a7ddf1 sp:7fff1158dc10 error:0 <emerge info> [jwscoggins@tycho ~]$ emerge --info Portage 2.1.10.11 (default/linux/amd64/10.0/desktop/kde, gcc-4.5.3, glibc-2.13-r4, 2.6.39-gentoo-r3-tycho x86_64) ================================================================= System uname: Linux-2.6.39-gentoo-r3-tycho-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9550_@_2.83GHz-with-gentoo-2.0.3 Timestamp of tree: Thu, 08 Dec 2011 21:30:01 +0000 app-shells/bash: 4.1_p9 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.2-r3, 3.1.4-r3 dev-util/cmake: 2.8.4-r1 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.0.3 sys-apps/openrc: 0.9.4 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.21.1-r1 sys-devel/gcc: 4.5.3-r1 sys-devel/gcc-config: 1.4.1-r1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 2.6.39 (virtual/os-headers) sys-libs/glibc: 2.13-r4 Repositories: gentoo local_overlay glc ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=native -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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" CXXFLAGS="-O2 -march=native -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" 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="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/local /usr/local/portage/glc" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa amd64 berkdb branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cxx dbus declarative dri dts dvd dvdr emboss encode exif fam firefox flac fortran frei0r gdbm gdu gif gpm gtk iconv ipv6 jpeg kde kipi lcms ldap libnotify mad mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds pppd qt3support qt4 readline sdl session speex spell sse sse2 sse3 ssl startup-notification stream svg sysfs tcpd tiff truetype udev unicode usb vdpau vorbis x264 xcb xcomposite xinerama xml xorg xscreensaver xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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 mmap_emul mulaw multi null plug rate route share shm softvol" 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" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" 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 ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia vesa" 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, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I can report problems, too. After un/emerging there are no intalled binaries either. ----------------------------------------------------------------- $ equery f wmii * Searching for wmii ... * Contents of x11-wm/wmii-3.9.2-r2: /etc /etc/X11 /etc/X11/Sessions /etc/X11/Sessions/wmii /usr /usr/share /usr/share/doc /usr/share/doc/wmii-3.9.2-r2 /usr/share/doc/wmii-3.9.2-r2/NEWS.bz2 /usr/share/doc/wmii-3.9.2-r2/NOTES.bz2 /usr/share/doc/wmii-3.9.2-r2/README.bz2 /usr/share/doc/wmii-3.9.2-r2/TODO.bz2 /usr/share/xsessions /usr/share/xsessions/wmii.desktop ----------------------------------------------------------------- Default 'emerge' did not complained t errors during build. But: ----------------------------------------------------------------- $ emerge --quiet-build\=n wmii Calculating dependencies... done! >>> Verifying ebuild manifests >>> Emerging (1 of 1) x11-wm/wmii-3.9.2-r2 * wmii+ixp-3.9.2.tbz RMD160 SHA1 SHA256 size ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking wmii+ixp-3.9.2.tbz to /var/tmp/portage/x11-wm/wmii-3.9.2-r2/work >>> Source unpacked in /var/tmp/portage/x11-wm/wmii-3.9.2-r2/work >>> Preparing source in /var/tmp/portage/x11-wm/wmii-3.9.2-r2/work/wmii+ixp-3.9.2 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/x11-wm/wmii-3.9.2-r2/work/wmii+ixp-3.9.2 ... >>> Source configured. >>> Compiling source in /var/tmp/portage/x11-wm/wmii-3.9.2-r2/work/wmii+ixp-3.9.2 ... make -j8 -j1 PREFIX=/usr DOC=/usr/share/doc/wmii-3.9.2-r2 ETC=/etc LIBDIR=/usr/lib64 'CC=x86_64-pc-linux-gnu-gcc -c' LD=x86_64-pc-linux-gnu-gcc 'AR=x86_64-pc-linux-gnu-ar crs' DESTDIR=/var/tmp/portage/x11-wm/wmii-3.9.2-r2/image/ LIBIXP=/usr/lib64/libixp.so MAKE all libbio/ CC libbio/bbuffered.o CC libbio/bfildes.o CC libbio/bflush.o CC libbio/bgetc.o CC libbio/bgetd.o CC libbio/bgetrune.o CC libbio/binit.o CC libbio/boffset.o CC libbio/bprint.o CC libbio/bvprint.o CC libbio/bputc.o CC libbio/bputrune.o CC libbio/brdline.o CC libbio/brdstr.o CC libbio/bread.o CC libbio/bseek.o CC libbio/bwrite.o AR lib/libbio.a MAKE all libfmt/ CC libfmt/dofmt.o CC libfmt/dorfmt.o CC libfmt/errfmt.o CC libfmt/fltfmt.o CC libfmt/fmt.o CC libfmt/fmtfd.o CC libfmt/fmtfdflush.o CC libfmt/fmtlock.o CC libfmt/fmtprint.o CC libfmt/fmtquote.o CC libfmt/fmtrune.o CC libfmt/fmtstr.o CC libfmt/fmtvprint.o CC libfmt/fprint.o CC libfmt/print.o CC libfmt/runefmtstr.o CC libfmt/runeseprint.o CC libfmt/runesmprint.o CC libfmt/runesnprint.o CC libfmt/runesprint.o CC libfmt/runevseprint.o CC libfmt/runevsmprint.o CC libfmt/runevsnprint.o CC libfmt/seprint.o CC libfmt/smprint.o CC libfmt/snprint.o CC libfmt/sprint.o CC libfmt/strtod.o CC libfmt/vfprint.o CC libfmt/vseprint.o CC libfmt/vsmprint.o CC libfmt/vsnprint.o CC libfmt/charstod.o CC libfmt/pow10.o CC libfmt/nan64.o AR lib/libfmt.a MAKE all libregexp/ CC libregexp/regcomp.o CC libregexp/regerror.o CC libregexp/regexec.o CC libregexp/regsub.o CC libregexp/regaux.o CC libregexp/rregexec.o CC libregexp/rregsub.o AR lib/libregexp9.a MAKE all libutf/ CC libutf/rune.o CC libutf/runestrcat.o CC libutf/runestrchr.o CC libutf/runestrcmp.o CC libutf/runestrcpy.o CC libutf/runestrdup.o CC libutf/runestrlen.o CC libutf/runestrecpy.o CC libutf/runestrncat.o CC libutf/runestrncmp.o CC libutf/runestrncpy.o CC libutf/runestrrchr.o CC libutf/runestrstr.o CC libutf/runetype.o CC libutf/utfecpy.o CC libutf/utflen.o CC libutf/utfnlen.o CC libutf/utfrrune.o CC libutf/utfrune.o CC libutf/utfutf.o AR lib/libutf.a MAKE all doc/ MAKE all man/ MAKE all cmd/ CC cmd/util.o FILTER cmd/wihack.sh FILTER cmd/wmii.rc.rc FILTER cmd/wmii.sh.sh CC cmd/wmii9menu.o CC cmd/clientutil.o MAKE all cmd/wmii/ CC cmd/wmii/area.o CC cmd/wmii/bar.o CC cmd/wmii/client.o CC cmd/wmii/column.o CC cmd/wmii/div.o CC cmd/wmii/error.o CC cmd/wmii/event.o CC cmd/wmii/ewmh.o CC cmd/wmii/float.o CC cmd/wmii/frame.o CC cmd/wmii/fs.o CC cmd/wmii/geom.o CC cmd/wmii/key.o CC cmd/wmii/layout.o CC cmd/wmii/main.o cmd/wmii/main.c:416:33: error: 'ixp_serve9pconn' undeclared cmd/wmii/main.c:416:33: note: each undeclared identifier is reported only once for each function it appears in make[2]: *** [main.o] Error 1 make[1]: *** [dall] Error 2 make: *** [dall] Error 2 emake failed >>> Source compiled. >>> Test phase [not enabled]: x11-wm/wmii-3.9.2-r2 >>> Install wmii-3.9.2-r2 into /var/tmp/portage/x11-wm/wmii-3.9.2-r2/image/ category x11-wm make -j8 -j1 PREFIX=/usr DOC=/usr/share/doc/wmii-3.9.2-r2 ETC=/etc LIBDIR=/usr/lib64 'CC=x86_64-pc-linux-gnu-gcc -c' LD=x86_64-pc-linux-gnu-gcc 'AR=x86_64-pc-linux-gnu-ar crs' DESTDIR=/var/tmp/portage/x11-wm/wmii-3.9.2-r2/image/ LIBIXP=/usr/lib64/libixp.so install MAKE all libbio/ MAKE all libfmt/ MAKE all libregexp/ MAKE all libutf/ MAKE all doc/ MAKE all man/ MAKE all cmd/ MAKE all cmd/wmii/ CC cmd/wmii/main.o cmd/wmii/main.c:416:33: error: 'ixp_serve9pconn' undeclared cmd/wmii/main.c:416:33: note: each undeclared identifier is reported only once for each function it appears in make[2]: *** [main.o] Error 1 make[1]: *** [dall] Error 2 make: *** [dall] Error 2 emake failed >>> Completed installing wmii-3.9.2-r2 into /var/tmp/portage/x11-wm/wmii-3.9.2-r2/image/ >>> Installing (1 of 1) x11-wm/wmii-3.9.2-r2 >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. ----------------------------------------------------------------- Portage 2.1.10.39 (default/linux/amd64/10.0, gcc-4.5.3, glibc-2.14.1-r1, 3.0.7-gentoo x86_64) ================================================================= System uname: Linux-3.0.7-gentoo-x86_64-Intel-R-_Xeon-R-_CPU_W3520_@_2.67GHz-with-gentoo-2.1 Timestamp of tree: Thu, 08 Dec 2011 18:15:01 +0000 ccache version 3.1.6 [enabled] app-shells/bash: 4.2_p20 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.2-r3, 3.2.2 dev-util/ccache: 3.1.6 dev-util/cmake: 2.8.6-r3 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1 sys-apps/openrc: 0.9.4 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.9.6-r3, 1.11.1-r1 sys-devel/binutils: 2.22 sys-devel/gcc: 4.5.3-r1 sys-devel/gcc-config: 1.5-r2 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r3 sys-kernel/linux-headers: 2.6.39 (virtual/os-headers) sys-libs/glibc: 2.14.1-r1 Repositories: gentoo ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -fomit-frame-pointer -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.0/conf /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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" CXXFLAGS="-march=core2 -fomit-frame-pointer -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs ccache distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="ftp://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ rsync://ftp.join.uni-muenster.de/gentoo/" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en" MAKEOPTS="-j8" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" 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="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync1.de.gentoo.org/gentoo-portage" USE="3dnow X aalib acl acpi alsa amd64 apng ass bash-completion berkdb bzip2 cairo cddb cdio cdparanoia cdr cli cracklib crypt cscope cups cxx dbus dri drm dvd dvdnav dvdr encode faac faad fortran ftp gdbm gif gpm iconv ipv6 john jpeg jpeg2k kvm live mad mmx mmxext modules mp3 mudflap multilib ncurses network nls nptl nptlonly nss openal opengl openmp osdmenu pam pcre pdf png pppd quicktime radio rar rdesktop readline rtmp samba schroedinger session speex sse sse2 ssl ssse3 stream svg sysfs tcpd tiff tor tordns tremor truetype unicode usb vim vim-pager vim-syntax vorbis win32 wma wmf x264 xanim xorg xrandr xscreensaver zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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 mmap_emul mulaw multi null plug rate route share shm softvol" 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" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" 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 ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" NETBEANS_MODULES="ide enterprise profiler java nb" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18 ruby19 rbx" USERLAND="GNU" VIDEO_CARDS="nouveau" 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
I just added wmii-3.9.2-r1.ebuild manually to my local repo and masked r2 and I am once again able to use wimenu. I diffed the two files (r1 and r2) and found that the "punting" of the internal libixp seems to be the problem. Here is the result of the diff [jwscoggins@tycho ~]$ diff wmii-3.9.2-r1.ebuild /usr/portage/x11-wm/wmii/wmii-3.9.2-r2.ebuild 3c3 < # $Header: /var/cvsroot/gentoo-x86/x11-wm/wmii/Attic/wmii-3.9.2-r1.ebuild,v 1.6 2011/12/04 21:42:49 ssuominen dead $ --- > # $Header: /var/cvsroot/gentoo-x86/x11-wm/wmii/wmii-3.9.2-r2.ebuild,v 1.2 2011/12/04 21:44:40 ssuominen Exp $ 19c19,20 < COMMON_DEPEND="x11-libs/libXft --- > COMMON_DEPEND=">=sys-libs/libixp-0.5_p20110208-r2 > x11-libs/libXft 39,46c40,48 < "PREFIX=/usr" < "DOC=/usr/share/doc/${PF}" < "ETC=/etc" < "LIBDIR=/usr/$(get_libdir)" < "CC=$(tc-getCC) -c" < "LD=$(tc-getCC)" < "AR=$(tc-getAR) crs" < "DESTDIR=${D}" --- > PREFIX=/usr > DOC=/usr/share/doc/${PF} > ETC=/etc > LIBDIR=/usr/$(get_libdir) > CC="$(tc-getCC) -c" > LD="$(tc-getCC)" > AR="$(tc-getAR) crs" > DESTDIR="${D}" > LIBIXP=/usr/$(get_libdir)/libixp.so 50a53,56 > # punt internal copy of sys-libs/libixp #323037 > rm -f include/ixp{,_srvutil}.h || die > sed -i -e '/libixp/d' Makefile || die > 57c63 < emake "${mywmiiconf[@]}" || die --- > emake "${mywmiiconf[@]}" 61c67 < emake "${mywmiiconf[@]}" install || die --- > emake "${mywmiiconf[@]}" install 66c72 < doexe "${T}"/wmii || die --- > doexe "${T}"/wmii 69c75 < doins "${FILESDIR}"/${PN}.desktop || die --- > doins "${FILESDIR}"/${PN}.desktop
I debugged this problem. /usr/include/ixp.h:69 defines "ulong" as "uint32_t". This file is included by wmii+ixp-3.9.2/cmd/menu/main.c. wmii+ixp-3.9.2/include/util.h:24 defines "ulong" as "unsigned long". This file is included by wmii+ixp-3.9.2/cmd/wmii/x11.c. These types ("uint32_t" and "unsigned long") are different on amd64. struct "Color" includes "ulong", and struct "CTuple" includes struct "Color". So struct "CTyple" has different sizes for menu/main.c and wmii/x11.c. When function "loadcolor" (defined atwmii+ixp-3.9.2/cmd/wmii/x11.c:649, called at wmii+ixp-3.9.2/cmd/menu/main.c:293) fills "cnorm", it writes more bytes than was allocated, and overwrites first field of next struct, "input". When application tries to call "realloc" on that damaged field, it dies. Note that bundled ixp.h defines "ulong" as "unsigned long" (see wmii+ixp-3.9.2/include/ixp.h:49) and avoids this problem.
There is also an upstream bugreport: http://code.google.com/p/wmii/issues/detail?id=247
Created attachment 302093 [details] Modified libixp ebuild with a "fix"
I modified the ebuild for the 3.9.2-r2 version with an ugly "fix" for this problem, as per information provided by Oleg Popov; Added it to my custom portage tree and wimenu is working again. I'm not sure if the way I dealt with the problem is the best one, so I didn't provide an official ebuild. The file is attached, for anyone who would like to use it.
(In reply to comment #9) > Created attachment 302093 [details] > Modified libixp ebuild with a "fix" should be fine, *libixp-0.5_p20110208-r3 (05 Mar 2012) 05 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> +libixp-0.5_p20110208-r3.ebuild: Change typedef of ulong from uint32_t to unsigned long wrt #393299 to make libixp compatible with x11-wm/wmii-3.9.2 on x86_64 wrt #393299 by Luíza D. Utsch and others
Followed by, +*wmii-3.9.2-r3 (05 Mar 2012) + + 05 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> +wmii-3.9.2-r3.ebuild: + Revision bump to force rebuild against -r3 of l libixp wrt #393299