Bug 142849 - segfault on hardened compiler when increasing number of desktops
Summary: segfault on hardened compiler when increasing number of desktops
Status: RESOLVED WORKSFORME
Alias: None
Product: kicker
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Aaron J. Seigo
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-03-11 22:59 UTC by Jan Kundrát
Modified: 2007-03-12 01:12 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Kundrát 2007-03-11 22:59:58 UTC
Version:            (using KDE KDE 3.5.5)
Installed from:    Gentoo Packages
Compiler:          GCC: Gentoo Hardened 3.4.6-r2, ssp-3.4.6-1.0, pie-8.7.10 
OS:                Linux

Right click on desktop list inside kicker, increasing number of desktops to 6, "OK" -> kicker crashes, kcrashhandler starts but doesn't show proper backtrace. Trying to run kicker manually in the same session results in instate crash of it.

When run from gdb:

jkt@velbloud ~ $ gdb --args `which kicker` --nocrashhandler --nofork
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run
Starting program: /usr/kde/3.5/bin/kicker --nocrashhandler --nofork
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1238989136 (LWP 6229)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1238989136 (LWP 6229)]
0xb5e0c467 in KMiniPager::slotSetDesktop () from /usr/kde/3.5/lib/kde3/minipager_panelapplet.so
(gdb) bt full
#0  0xb5e0c467 in KMiniPager::slotSetDesktop () from /usr/kde/3.5/lib/kde3/minipager_panelapplet.so
No symbol table info available.
#1  0xb5e0ecbe in KMiniPager::KMiniPager () from /usr/kde/3.5/lib/kde3/minipager_panelapplet.so
No symbol table info available.
#2  0xb5e0ef5f in init () from /usr/kde/3.5/lib/kde3/minipager_panelapplet.so
No symbol table info available.
#3  0xb7e98876 in PluginManager::loadApplet () from /usr/kde/3.5/lib/libkdeinit_kicker.so
No symbol table info available.
#4  0xb7e994c2 in AppletContainer::AppletContainer () from /usr/kde/3.5/lib/libkdeinit_kicker.so
No symbol table info available.
#5  0xb7e99960 in PluginManager::createAppletContainer () from /usr/kde/3.5/lib/libkdeinit_kicker.so
No symbol table info available.
#6  0xb7e9c7c6 in ContainerArea::loadContainers () from /usr/kde/3.5/lib/libkdeinit_kicker.so
No symbol table info available.
#7  0xb7e9d796 in ContainerArea::initialize () from /usr/kde/3.5/lib/libkdeinit_kicker.so
No symbol table info available.
#8  0xb7e9d8ad in PanelExtension::populateContainerArea () from /usr/kde/3.5/lib/libkdeinit_kicker.so
No symbol table info available.
#9  0xb7e89394 in PanelExtension::qt_invoke () from /usr/kde/3.5/lib/libkdeinit_kicker.so
No symbol table info available.
#10 0xb6ae24bf in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#11 0xb6ec231c in QSignal::signal () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#12 0xb6b01af6 in QSignal::activate () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#13 0xb6b0b53b in QSingleShotTimer::event () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#14 0xb6a6d336 in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#15 0xb6a6d558 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#16 0xb7383222 in KApplication::notify (this=0x800103d8, receiver=0x800a8228, event=0xbfa06b30) at kapplication.cpp:550
        t = Timer
#17 0xb6a5d5e7 in QEventLoop::activateTimers () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#18 0xb6a0f42c in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#19 0xb6a87f01 in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#20 0xb6a6bffa in QApplication::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#21 0xb6a6c055 in QApplication::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#22 0xb7e97ba5 in ExtensionManager::initialize () from /usr/kde/3.5/lib/libkdeinit_kicker.so
No symbol table info available.
#23 0xb7e9841a in ExtensionManager::qt_invoke () from /usr/kde/3.5/lib/libkdeinit_kicker.so
No symbol table info available.
#24 0xb6ae24bf in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#25 0xb6ec231c in QSignal::signal () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#26 0xb6b01af6 in QSignal::activate () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#27 0xb6b0b53b in QSingleShotTimer::event () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#28 0xb6a6d336 in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#29 0xb6a6d558 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#30 0xb7383222 in KApplication::notify (this=0x800103d8, receiver=0x80070bf0, event=0xbfa07510) at kapplication.cpp:550
        t = Timer
#31 0xb6a5d5e7 in QEventLoop::activateTimers () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#32 0xb6a0f42c in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#33 0xb6a87d4f in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#34 0xb6a87c2c in QEventLoop::exec () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#35 0xb6a6c0ab in QApplication::exec () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#36 0xb7e86452 in kdemain () from /usr/kde/3.5/lib/libkdeinit_kicker.so
No symbol table info available.
#37 0x80000ab2 in main () from /usr/kde/3.5/bin/kicker
No symbol table info available.

Some information about the Gentoo system:
Portage 2.1.2.2 (hardened/x86/2.6, gcc-3.4.6, glibc-2.3.6-r5, 2.6.20-suspend2 i686)
=================================================================
System uname: 2.6.20-suspend2 i686 Genuine Intel(R) CPU           T2400  @ 1.83GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Sat, 10 Mar 2007 14:20:01 +0000
ccache version 2.4 [disabled]
dev-java/java-config: 1.3.7, 2.0.31
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.60
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=prescott -pipe -ggdb3"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/splash /etc/terminfo"
CXXFLAGS="-O2 -march=prescott -pipe -ggdb3"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig buildpkg collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms splitdebug strict userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://ftp.sh.cvut.cz/MIRRORS/gentoo"
LINGUAS="en cs"
MAKEOPTS="-j2"
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 --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac aalib acpi alsa bash-completion berkdb bluetooth bzip2 cdparanoia crypt cscope css cups curl dbus doomsday dri dts dvb dvd dvdr dvdread encode exif fam fbsplash ffmpeg flac gif gphoto2 hal hardened hdaps hpn iconv ieee1394 imlib ipv6 irda java jbig jpeg jpeg2k kde kdeenablefinal libcaca logrotate matroska midi mmx mp3 mpeg ncurses nls nptl nptlonly nsplugin ogg opengl pam pcre pdf pic png ppds python qt3 quicktime readline rle samba slang smp speex spell sse sse2 sse3 ssl stream tga theora tiff truetype unicode usb vcd vim vim-syntax vorbis wifi x86 xine xinerama xorg xosd xv xvid zlib" ALSA_CARDS="hda-intel" 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 synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en cs" USERLAND="GNU" VIDEO_CARDS="radeon vesa fbdev fglrx"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jan Kundrát 2007-03-11 23:40:12 UTC
After rebuilding with even more debugging info:

Starting program: /usr/kde/3.5/bin/kicker --nocrashhandler --nofork
[Thread debugging using libthread_db enabled]
[New Thread -1238452560 (LWP 23839)]
kicker: ExtensionManager::desktopIconsArea() = [0,0 - 1680x1002] screen = -1
kicker: GetButtons kde-konsole.desktop/kde-konqbrowser.desktop
kicker: 1 = kde-konsole.desktop
kicker: 1 = kde-konsole.desktop
kicker: 2 = kde-konqbrowser.desktop
kicker: SetButtons kde-konsole.desktop/kde-konqbrowser.desktop
kicker: Quicklauncher registered DCOP signal

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1238452560 (LWP 23839)]
QButton::isOn (this=0x0) at qbutton.h:193
193         return stat != Off;
(gdb) bt
#0  QButton::isOn (this=0x0) at qbutton.h:193
#1  0xb5e0c72a in KMiniPager::slotSetDesktop (this=0x801167f8, desktop=1) at pagerapplet.cpp:210
#2  0xb5e0e798 in KMiniPager (this=0x801167f8, configFile=@0x0, type=Normal, actions=0, parent=0x7615d981, name=0x0) at pagerapplet.cpp:157
#3  0xb5e0e9d2 in init (parent=0x80113710, configFile=@0x0) at pagerapplet.cpp:78
#4  0xb7f391a1 in PluginManager::loadApplet (this=0x80070c70, info=@0xbfa2dc60, parent=0x80113710) at pluginmanager.cpp:158
#5  0xb7f397a6 in AppletContainer (this=0x801132e0, info=@0xbfa2dc60, opMenu=0x800a0fd8, immutable=false, parent=0x80114190) at container_applet.cpp:102
#6  0xb7f39c3f in PluginManager::createAppletContainer (this=0x80070c70, desktopFile=@0xbfa2dd30, isStartup=true, configFile=@0x0, opMenu=0x800a0fd8, parent=0x800a77f0, isImmutable=false)
    at pluginmanager.cpp:290
#7  0xb7f3bad2 in ContainerArea::loadContainers (this=0x800a4328, containers=@0xb714d760) at containerarea.cpp:327
#8  0xb7f3c5a2 in ContainerArea::initialize (this=0x800a4328, useDefaultConfig=true) at containerarea.cpp:132
#9  0xb7f3c699 in PanelExtension::populateContainerArea (this=0x8009a6f8) at panelextension.cpp:111
#10 0xb7f2bd99 in PanelExtension::qt_invoke (this=0x8009a6f8, _id=49, _o=0xbfa2dfa0) at panelextension.moc:99
#11 0xb6b654bf in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#12 0xb6f4531c in QSignal::signal () from /usr/qt/3/lib/libqt-mt.so.3
#13 0xb6b84af6 in QSignal::activate () from /usr/qt/3/lib/libqt-mt.so.3
#14 0xb6b8e53b in QSingleShotTimer::event () from /usr/qt/3/lib/libqt-mt.so.3
#15 0xb6af0336 in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3
#16 0xb6af0558 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
#17 0xb7406222 in KApplication::notify (this=0x800103d8, receiver=0x800a8208, event=0xbfa2e430) at kapplication.cpp:550
#18 0xb6ae05e7 in QEventLoop::activateTimers () from /usr/qt/3/lib/libqt-mt.so.3
#19 0xb6a9242c in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
#20 0xb6b0af01 in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
#21 0xb6aeeffa in QApplication::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
#22 0xb6aef055 in QApplication::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
#23 0xb7f388ac in ExtensionManager::initialize (this=0x80070b98) at extensionmanager.cpp:129
#24 0xb7f38e6d in ExtensionManager::qt_invoke (this=0x80070b98, _id=3, _o=0xbfa2e920) at extensionmanager.moc:122
#25 0xb6b654bf in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#26 0xb6f4531c in QSignal::signal () from /usr/qt/3/lib/libqt-mt.so.3
#27 0xb6b84af6 in QSignal::activate () from /usr/qt/3/lib/libqt-mt.so.3
#28 0xb6b8e53b in QSingleShotTimer::event () from /usr/qt/3/lib/libqt-mt.so.3
#29 0xb6af0336 in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3
#30 0xb6af0558 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
#31 0xb7406222 in KApplication::notify (this=0x800103d8, receiver=0x80070bd8, event=0xbfa2edb0) at kapplication.cpp:550
#32 0xb6ae05e7 in QEventLoop::activateTimers () from /usr/qt/3/lib/libqt-mt.so.3
#33 0xb6a9242c in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
#34 0xb6b0ad4f in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3
#35 0xb6b0ac2c in QEventLoop::exec () from /usr/qt/3/lib/libqt-mt.so.3
#36 0xb6aef0ab in QApplication::exec () from /usr/qt/3/lib/libqt-mt.so.3
#37 0xb7f2990a in kdemain (argc=0, argv=0xbfa2f284) at main.cpp:149
#38 0x80000ab2 in main (argc=0, argv=0x0) at kicker.la.cpp:2
Comment 2 Jan Kundrát 2007-03-12 01:12:31 UTC
Hmm, recompiling with vanilla GCC fixes that, so I guess that's yet another bug in the hardened compiler :(. I'll move that to our (Gentoo) bugzilla, sorry for spam.