Bug 157403 - kicker segfaults during startup on klipper memory allocation
Summary: kicker segfaults during startup on klipper memory allocation
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: kdebase
Version: rawhide
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Than Ngo
QA Contact: Ben Levenson
URL:
Whiteboard:
Depends On:
Blocks: FC4Target
TreeView+ depends on / blocked
 
Reported: 2005-05-11 09:28 UTC by Avi Kivity
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-06-29 11:14:24 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Avi Kivity 2005-05-11 09:28:15 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (compatible; Konqueror/3.4; Linux) KHTML/3.4.0 (like Gecko)

Description of problem:
when my kde desktop starts up, kicker is not there. if I start it manually, it  
terminates on a std::bad_alloc:  
  
(gdb) bt  
#0  0x00000034c642f3b0 in raise () from /lib64/libc.so.6  
#1  0x00000034c6430830 in abort () from /lib64/libc.so.6  
#2  0x000000356f5bd350 in __gnu_cxx::__verbose_terminate_handler ()  
from /usr/lib64/libstdc++.so.6  
#3  0x000000356f5bb716 in __gxx_personality_v0 ()  
from /usr/lib64/libstdc++.so.6  
#4  0x000000356f5bb73b in std::terminate () from /usr/lib64/libstdc++.so.6  
#5  0x000000356f5bb80a in __cxa_throw () from /usr/lib64/libstdc++.so.6  
#6  0x000000356f5bba9f in operator new () from /usr/lib64/libstdc++.so.6  
#7  0x000000356f5bbb39 in operator new[] () from /usr/lib64/libstdc++.so.6  
#8  0x0000003570000d99 in QString::setLength ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#9  0x0000003570008e70 in operator>> ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#10 0x00002aaaae305eb3 in KlipperWidget::loadHistory ()  
from /usr/lib64/kde3/klipper_panelapplet.so  
#11 0x00002aaaae306220 in KlipperWidget::readProperties ()  
from /usr/lib64/kde3/klipper_panelapplet.so  
#12 0x00002aaaae307568 in KlipperWidget::KlipperWidget$base ()  
from /usr/lib64/kde3/klipper_panelapplet.so  
#13 0x00002aaaae303113 in KlipperAppletWidget::KlipperAppletWidget ()  
from /usr/lib64/kde3/klipper_panelapplet.so  
#14 0x00002aaaae3031cc in KlipperApplet::KlipperApplet ()  
from /usr/lib64/kde3/klipper_panelapplet.so  
#15 0x00002aaaae303286 in init () from /usr/lib64/kde3/klipper_panelapplet.so  
#16 0x000000357269c955 in PluginManager::loadApplet ()  
from /usr/lib64/libkdeinit_kicker.so  
#17 0x0000003572691420 in AppletContainer::AppletContainer ()  
from /usr/lib64/libkdeinit_kicker.so  
#18 0x000000357269d557 in PluginManager::createAppletContainer ()  
from /usr/lib64/libkdeinit_kicker.so  
#19 0x00000035726882ac in ContainerArea::loadContainers ()  
from /usr/lib64/libkdeinit_kicker.so  
#20 0x0000003572688f84 in ContainerArea::initialize ()  
from /usr/lib64/libkdeinit_kicker.so  
#21 0x00000035726a23db in PanelExtension::populateContainerArea ()  
from /usr/lib64/libkdeinit_kicker.so  
#22 0x00000035726a32d2 in PanelExtension::qt_invoke ()  
from /usr/lib64/libkdeinit_kicker.so  
#23 0x000000356fd52d3a in QObject::activate_signal ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#24 0x00000035700605e3 in QSignal::signal ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#25 0x000000356fd6c551 in QSignal::activate ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#26 0x000000356fd73cd9 in QSingleShotTimer::event ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#27 0x000000356fcf7d4a in QApplication::internalNotify ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#28 0x000000356fcf86c4 in QApplication::notify ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#29 0x00000035706f1c00 in KApplication::notify ()  
from /usr/lib64/libkdecore.so.4  
#30 0x000000356fcedcac in QEventLoop::activateTimers ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#31 0x000000356fca9d1b in QEventLoop::processEvents ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#32 0x000000356fd0de9f in QEventLoop::processEvents ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#33 0x00000035726991bf in ExtensionManager::initialize ()  
from /usr/lib64/libkdeinit_kicker.so  
#34 0x000000357269974f in ExtensionManager::qt_invoke ()  
from /usr/lib64/libkdeinit_kicker.so  
#35 0x000000356fd52d3a in QObject::activate_signal ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#36 0x00000035700605e3 in QSignal::signal ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#37 0x000000356fd6c551 in QSignal::activate ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#38 0x000000356fd73cd9 in QSingleShotTimer::event ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#39 0x000000356fcf7d4a in QApplication::internalNotify ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#40 0x000000356fcf86c4 in QApplication::notify ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#41 0x00000035706f1c00 in KApplication::notify ()  
from /usr/lib64/libkdecore.so.4  
#42 0x000000356fcedcac in QEventLoop::activateTimers ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#43 0x000000356fca9d1b in QEventLoop::processEvents ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#44 0x000000356fd0dddc in QEventLoop::enterLoop ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
---Type <return> to continue, or q <return> to quit---  
#45 0x000000356fd0dd02 in QEventLoop::exec ()  
from /usr/lib64/qt-3.3/lib/libqt-mt.so.3  
#46 0x0000003572682b74 in kdemain () from /usr/lib64/libkdeinit_kicker.so  
#47 0x00000034c641c4cc in __libc_start_main () from /lib64/libc.so.6  
#48 0x00000000004006b9 in ?? ()  
#49 0x00007fffffd5f968 in ?? ()  
#50 0x0000000000000000 in ?? ()  
  

Version-Release number of selected component (if applicable):
kdebase-3.4.0-5

How reproducible:
Always

Steps to Reproduce:
1. run 'kicker'  
 

Actual Results:  std::terminate 

Expected Results:  kicker alive and kicking  

Additional info:

Comment 1 Than Ngo 2005-05-11 10:50:17 UTC
I'm not able to reproduce this problem with rawhide from 2005-05-11.
Please try to update to current rawhide.

Comment 2 Avi Kivity 2005-05-11 12:29:20 UTC
try this:

killall -9 kicker
rm -rf ~/.kde/share/apps/{kicker,klipper}/history.lst
touch ~/.kde/share/apps/kicker/history.lst
kicker

it segfaults immediately in the klipper applet (x86-64).

kdebase-3.4.0-5 which is current rawhide.

I can provide a core if you can't reproduce.

Comment 3 Than Ngo 2005-05-11 12:42:36 UTC
do you have updated to current rawhide completely? (not only kdebase)?
basically you should update to new libstdc++, complete kde/qt packages.

Do you still see it if you login with a new user?

Comment 4 Sammy 2005-05-12 13:54:03 UTC
On i386 some systems knotify is crashing (may lead to kicker) due to bugs in 
the new alsa driver interaction with artsd. Try disabling artsd and see if it 
helps. 

Comment 5 Avi Kivity 2005-05-12 16:34:31 UTC
the system in question is fully updated. 
 
this looks like a bug in qt. the following program will terminate() on i386: 
 
 
#include <qstring.h> 
#include <qfile.h> 
#include <qdatastream.h> 
 
int main(int ac, char **av)  
{ 
  QString fname ( "empty" ); 
  QFile file ( fname ); 
  file.open(IO_ReadOnly); 
  QDataStream ds ( &file ); 
  QString v; 
  ds >> v; 
  return 0; 
} 
 
if you run it with an empty file "empty" in the current directory and 
overcommit control on (I imagine x86-64 will crash without overcommit control) 

Comment 6 Than Ngo 2005-06-16 13:48:07 UTC
I'm still not unable to reproduce this problem in FC4 release, both on x86 and
x86_64! Your above testcase does not crash on my test machine.

please reopen it again if you could give me an testcase how to reproduce this
problem. Many thanks for your report.

Comment 7 Avi Kivity 2005-06-16 15:00:10 UTC
(In reply to comment #6)
> please reopen it again if you could give me an testcase how to reproduce this
> problem. Many thanks for your report.

the steps in comment #2 reproduce this 100% for me on an FC4 release machine,
using a new user so that my existing setup has no effect.

(actually I tried this over vnc - created a new user, started vncserver, changed
twm to startkde in ~/.vnc/xstartup, killed the vncserver, restarted vncserver
(now with kde), do the steps in comment #2, machine started swapping everything
due to unbounded allocation. all this on x86_64).

also see my example program in #5. this is what the code does (eventually).

Comment 8 Than Ngo 2005-06-16 16:02:44 UTC
sorry, i have tried again and with your steps in comment #2. It does not crash!

Anyone could reproduce this problem? i cannot debug/fix this problem if it's not
reproduceable.

Comment 9 Avi Kivity 2005-06-16 16:51:23 UTC
well, I have reproduced this on three different machines (one i386, two x86_64).
perhaps you can try with a new user to rule out your configuration?

Comment 10 Ngo Than 2005-06-16 17:56:00 UTC
yes i have tried with a new user/old user on many test machines here.
It does not crash! 

Comment 11 Than Ngo 2005-06-29 11:14:24 UTC
please reopen this bug again if someone find a testcase which reproduces this
issue. Thanks


Note You need to log in before you can comment on or make changes to this bug.