Version: (using KDE KDE 3.4.1) Installed from: SuSE RPMs OS: Linux It might be my own fault - running KDE 3.4.1 latest SUSE + stuff, running normally - installed VariCAD from apps - shut down system later Now kpanel crashes on start-up (may not be related, however...) have uninstalled VariCAD and re-installed qt, libs, base etc., from SUSE
have crash file - will up load it as soon as I remember how
Created attachment 11816 [details] crash output
Pasting the crash for easier searching: [KCrash handler] #7 0xffffe410 in ?? () #8 0xbfffcb68 in ?? () #9 0x00000006 in ?? () #10 0x000007e4 in ?? () #11 0x40f3b2c1 in raise () from /lib/tls/libc.so.6 #12 0x40f3cb75 in abort () from /lib/tls/libc.so.6 #13 0x40eebd95 in std::set_unexpected () from /usr/lib/libstdc++.so.5 #14 0x40eebdd2 in std::terminate () from /usr/lib/libstdc++.so.5 #15 0x40eebf12 in __cxa_throw () from /usr/lib/libstdc++.so.5 #16 0x40eec153 in operator new () from /usr/lib/libstdc++.so.5 #17 0x40eec22d in operator new[] () from /usr/lib/libstdc++.so.5 #18 0x40b67d54 in QString::setLength () from /usr/lib/qt3/lib/libqt-mt.so.3 #19 0x40b70147 in operator>> () from /usr/lib/qt3/lib/libqt-mt.so.3 #20 0x41cdc30a in HistoryItem::create () from /opt/kde3/lib/kde3/klipper_panelapplet.so #21 0x41ceb05a in KlipperWidget::loadHistory () from /opt/kde3/lib/kde3/klipper_panelapplet.so #22 0x41ceb3cc in KlipperWidget::readProperties () from /opt/kde3/lib/kde3/klipper_panelapplet.so #23 0x41ced81d in KlipperWidget::KlipperWidget () from /opt/kde3/lib/kde3/klipper_panelapplet.so #24 0x41cd83c9 in KlipperAppletWidget::KlipperAppletWidget () from /opt/kde3/lib/kde3/klipper_panelapplet.so #25 0x41cd8885 in KlipperApplet::KlipperApplet () from /opt/kde3/lib/kde3/klipper_panelapplet.so #26 0x41cd8a57 in init () from /opt/kde3/lib/kde3/klipper_panelapplet.so #27 0x417c1e2e in PluginManager::loadApplet () from /opt/kde3/lib/libkdeinit_kicker.so #28 0x417cd57e in AppletContainer::AppletContainer () from /opt/kde3/lib/libkdeinit_kicker.so #29 0x417cd9d3 in PluginManager::createAppletContainer () from /opt/kde3/lib/libkdeinit_kicker.so #30 0x417da4df in ContainerArea::loadContainers () from /opt/kde3/lib/libkdeinit_kicker.so #31 0x417da724 in ContainerArea::initialize () from /opt/kde3/lib/libkdeinit_kicker.so #32 0x417da835 in PanelExtension::populateContainerArea () from /opt/kde3/lib/libkdeinit_kicker.so #33 0x417d8d45 in PanelExtension::qt_invoke () from /opt/kde3/lib/libkdeinit_kicker.so #34 0x4088120e in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #35 0x40bd3122 in QSignal::signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #36 0x4089e763 in QSignal::activate () from /usr/lib/qt3/lib/libqt-mt.so.3 #37 0x408a61b3 in QSingleShotTimer::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #38 0x4081ea5f in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3 #39 0x40820623 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3 #40 0x40568771 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4 #41 0x4081320c in QEventLoop::activateTimers () from /usr/lib/qt3/lib/libqt-mt.so.3 #42 0x407cbff6 in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #43 0x4083691b in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #44 0x4082055c in QApplication::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #45 0x40820596 in QApplication::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #46 0x417dd156 in ExtensionManager::initialize () from /opt/kde3/lib/libkdeinit_kicker.so #47 0x417dd6fa in ExtensionManager::qt_invoke () from /opt/kde3/lib/libkdeinit_kicker.so #48 0x4088120e in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #49 0x40bd3122 in QSignal::signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #50 0x4089e763 in QSignal::activate () from /usr/lib/qt3/lib/libqt-mt.so.3 #51 0x408a61b3 in QSingleShotTimer::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #52 0x4081ea5f in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3 #53 0x40820623 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3 #54 0x40568771 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4 #55 0x4081320c in QEventLoop::activateTimers () from /usr/lib/qt3/lib/libqt-mt.so.3 #56 0x407cbff6 in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #57 0x408369f1 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3 #58 0x40836836 in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #59 0x408204ef in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #60 0x417e2181 in kdemain () from /opt/kde3/lib/libkdeinit_kicker.so #61 0x40018554 in kdeinitmain () from /opt/kde3/lib/kde3/kicker.so #62 0x0804e6f5 in launch () #63 0x0804ee0c in handle_launcher_request () #64 0x0804f3c9 in handle_requests () #65 0x0804fb9a in main ()
Seems like you can workaround by removing ~/.kde/share/apps/klipper/history.lst, but you probably want to save a copy for analysis.
Thank you for looking at this - I do not have the file ~/.kde/share/apps/klipper/history.lst gerryg@linux:~> cd .kde/share/apps/klipper gerryg@linux:~/.kde/share/apps/klipper> ls gerryg@linux:~/.kde/share/apps/klipper> ls -al total 1 drwx------ 2 gerryg users 48 2005-01-15 20:57 . drwxr-xr-x 50 gerryg users 1328 2005-07-07 21:21 .. gerryg@linux:~/.kde/share/apps/klipper>
Inspired by your suggestion I have determined it is a local user problem - a dummy account I have on my system doesn't exhibit kpanel crashing - Should I close the bug? (Any thoughts would be appreciated though)
Further inspired by your comments: in kicker, I renamed history.lst history.old normal service restored - should I post history.old or is this a rubbish bug?
Doh, I guess you were running klipper as an applet? I would leave the bug open, though the maintainer might disagree with me --- the file got corrupted, and klipper's code is not at all very robust against that. (e.g. konqueror uses checksum to reduce the risk of that). As for the file: do not post the file here, however, since it contains your clipboard history and might leak sensitive data --- everything posted here is public, however it might be good to keep it around just in case...
I have managed to crash kpanel/klipper again. It seems to have occurred in exactly the same circumstances. Having installed some software - this time from packman. It looks related to bug 105970, I appended the crash file there. [KCrash handler] #7 0xffffe410 in ?? () #8 0xbfffcb68 in ?? () #9 0x00000006 in ?? () #10 0x00001e95 in ?? () #11 0x40f3b2c1 in raise () from /lib/tls/libc.so.6 #12 0x40f3cb75 in abort () from /lib/tls/libc.so.6 #13 0x40eebd95 in std::set_unexpected () from /usr/lib/libstdc++.so.5 #14 0x40eebdd2 in std::terminate () from /usr/lib/libstdc++.so.5 #15 0x40eebf12 in __cxa_throw () from /usr/lib/libstdc++.so.5 #16 0x40eec153 in operator new () from /usr/lib/libstdc++.so.5 #17 0x40eec22d in operator new[] () from /usr/lib/libstdc++.so.5 #18 0x40b67d54 in QString::setLength () from /usr/lib/qt3/lib/libqt-mt.so.3 #19 0x40b70147 in operator>> () from /usr/lib/qt3/lib/libqt-mt.so.3 #20 0x41db830a in HistoryItem::create () from /opt/kde3/lib/kde3/klipper_panelapplet.so #21 0x41dc705a in KlipperWidget::loadHistory () from /opt/kde3/lib/kde3/klipper_panelapplet.so #22 0x41dc73cc in KlipperWidget::readProperties () from /opt/kde3/lib/kde3/klipper_panelapplet.so #23 0x41dc981d in KlipperWidget::KlipperWidget () from /opt/kde3/lib/kde3/klipper_panelapplet.so #24 0x41db43c9 in KlipperAppletWidget::KlipperAppletWidget () from /opt/kde3/lib/kde3/klipper_panelapplet.so #25 0x41db4885 in KlipperApplet::KlipperApplet () from /opt/kde3/lib/kde3/klipper_panelapplet.so #26 0x41db4a57 in init () from /opt/kde3/lib/kde3/klipper_panelapplet.so #27 0x417c1e2e in PluginManager::loadApplet () from /opt/kde3/lib/libkdeinit_kicker.so #28 0x417cd57e in AppletContainer::AppletContainer () from /opt/kde3/lib/libkdeinit_kicker.so #29 0x417cd9d3 in PluginManager::createAppletContainer () from /opt/kde3/lib/libkdeinit_kicker.so #30 0x417da4df in ContainerArea::loadContainers () from /opt/kde3/lib/libkdeinit_kicker.so #31 0x417da724 in ContainerArea::initialize () from /opt/kde3/lib/libkdeinit_kicker.so #32 0x417da835 in PanelExtension::populateContainerArea () from /opt/kde3/lib/libkdeinit_kicker.so #33 0x417d8d45 in PanelExtension::qt_invoke () from /opt/kde3/lib/libkdeinit_kicker.so #34 0x4088120e in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #35 0x40bd3122 in QSignal::signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #36 0x4089e763 in QSignal::activate () from /usr/lib/qt3/lib/libqt-mt.so.3 #37 0x408a61b3 in QSingleShotTimer::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #38 0x4081ea5f in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3 #39 0x40820623 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3 #40 0x40568771 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4 #41 0x4081320c in QEventLoop::activateTimers () from /usr/lib/qt3/lib/libqt-mt.so.3 #42 0x407cbff6 in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #43 0x4083691b in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #44 0x4082055c in QApplication::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #45 0x40820596 in QApplication::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #46 0x417dd156 in ExtensionManager::initialize () from /opt/kde3/lib/libkdeinit_kicker.so #47 0x417dd6fa in ExtensionManager::qt_invoke () from /opt/kde3/lib/libkdeinit_kicker.so #48 0x4088120e in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #49 0x40bd3122 in QSignal::signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #50 0x4089e763 in QSignal::activate () from /usr/lib/qt3/lib/libqt-mt.so.3 #51 0x408a61b3 in QSingleShotTimer::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #52 0x4081ea5f in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3 #53 0x40820623 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3 #54 0x40568771 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4 #55 0x4081320c in QEventLoop::activateTimers () from /usr/lib/qt3/lib/libqt-mt.so.3 #56 0x407cbff6 in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #57 0x408369f1 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3 #58 0x40836836 in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #59 0x408204ef in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #60 0x417e2181 in kdemain () from /opt/kde3/lib/libkdeinit_kicker.so #61 0x40018554 in kdeinitmain () from /opt/kde3/lib/kde3/kicker.so #62 0x0804e6f5 in launch () #63 0x0804ee0c in handle_launcher_request () #64 0x0804f3c9 in handle_requests () #65 0x0804fb9a in main ()
panel again restored by deleting history.lst from kicker
*** Bug 105970 has been marked as a duplicate of this bug. ***
*** Bug 111227 has been marked as a duplicate of this bug. ***
*** Bug 110780 has been marked as a duplicate of this bug. ***
*** Bug 112628 has been marked as a duplicate of this bug. ***
*** Bug 112632 has been marked as a duplicate of this bug. ***
*** Bug 113175 has been marked as a duplicate of this bug. ***
*** Bug 114142 has been marked as a duplicate of this bug. ***
*** Bug 115524 has been marked as a duplicate of this bug. ***
*** Bug 117372 has been marked as a duplicate of this bug. ***
(per above) -- Removing this: /root/.kde/share/apps/kicker/history.lst ...worked for me!! (and within 10 minutes from my bug post and 3 hours of hair pulling!!). Thank you VERY much!!
*** Bug 119224 has been marked as a duplicate of this bug. ***
SVN commit 503851 by lunakl: Fix #109161. So many duplicates and not a single vote. Use a checksum for klipper's history just like is done for konqueror history. BUG: 109161 M +41 -21 toplevel.cpp M +1 -1 version.h --- branches/KDE/3.5/kdebase/klipper/toplevel.cpp #503850:503851 @@ -40,6 +40,7 @@ #include <kkeydialog.h> #include <klocale.h> #include <kmessagebox.h> +#include <ksavefile.h> #include <kstandarddirs.h> #include <ksimpleconfig.h> #include <kstringhandler.h> @@ -62,6 +63,8 @@ #include "historystringitem.h" #include "klipperpopup.h" +#include <zlib.h> + #include <X11/Xlib.h> #include <X11/Xatom.h> @@ -336,38 +339,53 @@ static const char* const failed_load_warning = "Failed to load history resource. Clipboard history cannot be read."; // don't use "appdata", klipper is also a kicker applet - QString history_file_name = ::locateLocal( "data", "klipper/history.lst" ); - if ( history_file_name.isNull() || history_file_name.isEmpty() ) { - kdWarning() << failed_load_warning << endl; - return false; - } + QString history_file_name = ::locateLocal( "data", "klipper/history2.lst" ); QFile history_file( history_file_name ); - if ( !history_file.exists() ) { - history_file_name = ::locateLocal( "data", "kicker/history.lst" ); - if ( history_file_name.isNull() || history_file_name.isEmpty() ) { - return false; - } + bool oldfile = false; + if ( !history_file.exists() ) { // backwards compatibility + oldfile = true; + history_file_name = ::locateLocal( "data", "klipper/history.lst" ); history_file.setName( history_file_name ); if ( !history_file.exists() ) { - return false; + history_file_name = ::locateLocal( "data", "kicker/history.lst" ); + history_file.setName( history_file_name ); + if ( !history_file.exists() ) { + return false; + } } } if ( !history_file.open( IO_ReadOnly ) ) { kdWarning() << failed_load_warning << ": " << history_file.errorString() << endl; return false; } - QDataStream history_stream( &history_file ); + QDataStream file_stream( &history_file ); + if( file_stream.atEnd()) { + kdWarning() << failed_load_warning << endl; + return false; + } + QDataStream* history_stream = &file_stream; + QByteArray data; + QDataStream data_stream( data, IO_ReadOnly ); + if( !oldfile ) { + Q_UINT32 crc; + file_stream >> crc >> data; + if( crc32( 0, reinterpret_cast<unsigned char *>( data.data() ), data.size() ) != crc ) { + kdWarning() << failed_load_warning << ": " << history_file.errorString() << endl; + return false; + } + history_stream = &data_stream; + } QString version; - history_stream >> version; + *history_stream >> version; // The list needs to be reversed, as it is saved // youngest-first to keep the most important clipboard // items at the top, but the history is created oldest // first. QPtrList<HistoryItem> reverseList; - for ( HistoryItem* item = HistoryItem::create( history_stream ); + for ( HistoryItem* item = HistoryItem::create( *history_stream ); item; - item = HistoryItem::create( history_stream ) ) + item = HistoryItem::create( *history_stream ) ) { reverseList.prepend( item ); } @@ -392,22 +410,24 @@ static const char* const failed_save_warning = "Failed to save history. Clipboard history cannot be saved."; // don't use "appdata", klipper is also a kicker applet - QString history_file_name( ::locateLocal( "data", "klipper/history.lst" ) ); + QString history_file_name( ::locateLocal( "data", "klipper/history2.lst" ) ); if ( history_file_name.isNull() || history_file_name.isEmpty() ) { kdWarning() << failed_save_warning << endl; return; } - QFile history_file( history_file_name ); - if ( !history_file.open( IO_WriteOnly | IO_Truncate ) ) { - kdWarning() << failed_save_warning << ": " << history_file.errorString() << endl; + KSaveFile history_file( history_file_name ); + if ( history_file.status() != 0 ) { + kdWarning() << failed_save_warning << endl; return; } - QDataStream history_stream( &history_file ); + QByteArray data; + QDataStream history_stream( data, IO_WriteOnly ); history_stream << klipper_version; for ( const HistoryItem* item = history()->first(); item; item = history()->next() ) { history_stream << item; } - + Q_UINT32 crc = crc32( 0, reinterpret_cast<unsigned char *>( data.data() ), data.size() ); + *history_file.dataStream() << crc << data; } void KlipperWidget::readProperties(KConfig *kc) --- branches/KDE/3.5/kdebase/klipper/version.h #503850:503851 @@ -20,7 +20,7 @@ #ifndef _VERSION_H_ #define _VERSION_H_ -static const char * const klipper_version = "v0.9.6"; +static const char * const klipper_version = "v0.9.7"; #endif
*** Bug 129108 has been marked as a duplicate of this bug. ***
*** Bug 130983 has been marked as a duplicate of this bug. ***
I read this comment in the page ........ : ------- Additional Comment #4 From Maksim Orlovich 2005-07-16 14:54 ------- Seems like you can workaround by removing ~/.kde/share/apps/klipper/history.lst, but you probably want to save a copy for analysis. ......... there it is. I backed up my history.lst file, removed the existing history.lst, and then rebooted and logged in. Error message gone. It seems that in general one of the most common problems with linux software is just a corrupted history or log file. It is easily fixed by backing up the file, and then deleting the corrupted one and rebooting or closing the session and log back in. this is a good technique to remember.
I've got the same error, but I don't have klipper folder, so I can't remove history.lst ... :/ Any ideas?
*** Bug 139846 has been marked as a duplicate of this bug. ***