Version: (using KDE Devel) Installed from: Compiled sources Compiler: gcc 2.95.3 OS: Linux Kate starts and immediately crashes after startup. This seems to be an update problem - removing the old ~/.kde/share/config/katerc solved the problem for me. Backtrace (sorry, did only a quick kate-rebuild with debug, kdelibs are without so far...): (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)...[New Thread 1024 (LWP 25353)] 0x40ecc559 in wait4 () from /lib/libc.so.6 #0 0x40ecc559 in wait4 () from /lib/libc.so.6 #1 0x40f48a80 in __DTOR_END__ () from /lib/libc.so.6 #2 0x40da01f2 in waitpid () from /lib/libpthread.so.0 #3 0x40562a1a in KCrash::defaultCrashHandler () from /opt/kde31/lib/libkdecore.so.4 #4 0x40d9df24 in pthread_sighandler () from /lib/libpthread.so.0 #5 <signal handler called> #6 0x4083c9bf in QWidget::raise () from /usr/lib/qt31/lib/libqt-mt.so.3 #7 0x41529234 in KateApp::raiseCurrentMainWindow (this=0xbffff50c) at kateapp.cpp:240 #8 0x415288e4 in KateApp::newInstance (this=0xbffff50c) at kateapp.cpp:138 #9 0x4057720b in KUniqueApplication::processDelayed () from /opt/kde31/lib/libkdecore.so.4 #10 0x405775b9 in KUniqueApplication::qt_invoke () from /opt/kde31/lib/libkdecore.so.4 #11 0x41527b9e in KateApp::qt_invoke (this=0xbffff50c, _id=10, _o=0xbfffecfc) at kateapp.moc:98 #12 0x408b2fb4 in QObject::activate_signal () from /usr/lib/qt31/lib/libqt-mt.so.3 #13 0x40b3672a in QSignal::signal () from /usr/lib/qt31/lib/libqt-mt.so.3 #14 0x408c8f64 in QSignal::activate () from /usr/lib/qt31/lib/libqt-mt.so.3 #15 0x408ce653 in QSingleShotTimer::event () from /usr/lib/qt31/lib/libqt-mt.so.3 #16 0x4085e2b6 in QApplication::internalNotify () from /usr/lib/qt31/lib/libqt-mt.so.3 #17 0x4085e0b6 in QApplication::notify () from /usr/lib/qt31/lib/libqt-mt.so.3 #18 0x4050495b in KApplication::notify () from /opt/kde31/lib/libkdecore.so.4 #19 0x40840a15 in QEventLoop::activateTimers () from /usr/lib/qt31/lib/libqt-mt.so.3 #20 0x408226b4 in QEventLoop::processEvents () from /usr/lib/qt31/lib/libqt-mt.so.3 #21 0x40870453 in QEventLoop::enterLoop () from /usr/lib/qt31/lib/libqt-mt.so.3 #22 0x4085e4a1 in QApplication::enter_loop () from /usr/lib/qt31/lib/libqt-mt.so.3 #23 0x409e29e2 in QDialog::exec () from /usr/lib/qt31/lib/libqt-mt.so.3 #24 0x403d552c in createKMessageBox () from /opt/kde31/lib/libkdeui.so.4 #25 0x403d74df in KMessageBox::error () from /opt/kde31/lib/libkdeui.so.4 #26 0x402062df in KDirOperator::setURL () from /opt/kde31/lib/libkio.so.4 #27 0x41534fcb in KateFileSelector::setDir (this=0x819b8d8, u= {m_strProtocol = {static null = {static null = <same as static member of an already seen type>, d = 0x80538f0, static shared_null = 0x80538f0}, d = 0xbffff30c, static shared_null = 0x80538f0}, m_strUser = {static null = {static null = <same as static member of an already seen type>, d = 0x80538f0, static shared_null = 0x80538f0}, d = 0xbffff340, static shared_null = 0x80538f0}, m_strPass = {static null = {static null = <same as static member of an already seen type>, d = 0x80538f0, static shared_null = 0x80538f0}, d = 0x41534163, static shared_null = 0x80538f0}, m_strHost = {static null = {static null = <same as static member of an already seen type>, d = 0x80538f0, static shared_null = 0x80538f0}, d = 0xbffff30c, static shared_null = 0x80538f0}, m_strPath = {static null = {static null = <same as static member of an already seen type>, d = 0x80538f0, static shared_null = 0x80538f0}, d = 0xbffff334, static shared_null = 0x80538f0}, m_strRef_encoded = {static null = {static null = <same as static member of an already seen type>, d = 0x80538f0, static shared_null = 0x80538f0}, d = 0x0, static shared_null = 0x80538f0}, m_strQuery_encoded = {static null = {static null = <same as static member of an already seen type>, d = 0x80538f0, static shared_null = 0x80538f0}, d = 0x40c72cd8, static shared_null = 0x80538f0}, m_bIsMalformed = false, freeForUse = 26, m_iPort = 16726, m_strPath_encoded = {static null = {static null = <same as static member of an already seen type>, d = 0x80538f0, static shared_null = 0x80538f0}, d = 0xbffff37c, static shared_null = 0x80538f0}, d = 0x80635a0}) at katefileselector.cpp:334 #28 0x41534170 in KateFileSelector::readConfig (this=0x819b8d8, config=0x80635a0, name=@0xbffff37c) at katefileselector.cpp:237 #29 0x4153bdf4 in KateMainWindow::readOptions (this=0x8144108, config=0x80635a0) at katemainwindow.cpp:411 #30 0x415390cf in KateMainWindow::KateMainWindow (this=0x8144108, __in_chrg=1, _m_docManager=0x80d26a8, _m_pluginManager=0x8143ab0) at katemainwindow.cpp:134 #31 0x41528f31 in KateApp::newMainWindow (this=0xbffff50c) at kateapp.cpp:198 #32 0x41527ee6 in KateApp::KateApp (this=0xbffff50c, forcedNewProcess=false, oldState=false) at kateapp.cpp:62 #33 0x40646d4e in main () from /opt/kde31/lib/kate.so #34 0x0804cf26 in launch () #35 0x0804dd2b in handle_launcher_request () #36 0x0804e245 in handle_requests () #37 0x0804f0d7 in main () #38 0x40e3fb61 in __libc_start_main () from /lib/libc.so.6
Interesting backtrace.
can anybody send me a katerc that causes this?
Created attachment 580 [details] testcase Well, this is a kate configuration from a kde3 system. But I found that the bug only occurs when a strange combination of old and new files are there (can
Created attachment 615 [details] Fix for kdebase/kate/app/katefileselector.cpp - setDir I had encountered problems similar to the user who reported the bug. My stack trace was different, however, and after some debugging, I discovered that if the "location" setting of katerc's [fileselector] group points to a non-existent path, then I get a crash. This is because kate attempts to set the path using KURL, which throws up a message box if it can't find the path. The message box then blocks the user interface (I think) and causes the crash when kate attempts to show its main window. This is probably a bug in KURL because I don't think it should be responsible for displaying error messages. The applications calling KURL should be the ones checking for return codes or exceptions and putting up error messages as needed. I can't be certain of that, so instead I patched kate. The problem can be fixed by changing the line in kdebase/kate/app/katefileselector.cpp so that if the path doesn't exist, the user's home path is used. A diff is attached. Anders Lund has agreed to review and apply if OK. I'm surprised many people haven't encountered this bug, since it would seem very easy to duplicate. All you have to do is run kate, exit, delete whatever directory kate was looking at, then restart kate. (I haven't verified this, though.)
Created attachment 617 [details] Another katerc testcase that causes a crash on startup This katerc was left over from my previous CVS installation of KDE. It causes a crash on startup using KDE 3.1-RC5: [New Thread 8192 (LWP 29769)] 0x420ae169 in wait4 () from /lib/i686/libc.so.6 #0 0x420ae169 in wait4 () from /lib/i686/libc.so.6 #1 0x4212a2d0 in __DTOR_END__ () from /lib/i686/libc.so.6 #2 0x41062c63 in waitpid () from /lib/i686/libpthread.so.0 #3 0x4070a549 in KCrash::defaultCrashHandler(int) (sig=11) at kcrash.cpp:235 #4 <signal handler called> #5 0x40d6af39 in QGList::locate(unsigned) (this=0x5b000000, index=1) at tools/qglist.cpp:322 #6 0x40a8db05 in QGList::at(unsigned) (this=0x5b000000, index=1) at ../include/qglist.h:168 #7 0x40c040cf in QPtrList<QTab>::at(unsigned) (this=0x5b000000, i=1) at ../include/qptrlist.h:88 #8 0x40c02b74 in QTabBar::tabAt(int) const (this=0x40083be0, index=1) at widgets/qtabbar.cpp:942 #9 0x40c076fe in QTabWidget::page(int) const (this=0x8170750, index=1) at widgets/qtabwidget.cpp:906 #10 0x405a0eda in KDockManager::readConfig(KConfig*, QString) (this=0x812d270, c=0x8052c28, group=) at /opt/qt/include/qstring.h:933 #11 0x405956f9 in KDockMainWindow::readDockConfig(KConfig*, QString) ( this=0xfffffe00, c=0x0) at kdockwidget.cpp:169 #12 0x400687fb in KateMainWindow::readOptions(KConfig*) (this=0x8118a98, config=0x8052c28) at katemainwindow.cpp:422 #13 0x4006547f in KateMainWindow (this=0x8118a98, _m_docManager=0xfffffe00, _m_pluginManager=0xfffffe00, projectMan=0xfffffe00) at katemainwindow.cpp:143 #14 0x40052b50 in KateApp::newMainWindow() (this=0xbffff760) at kateapp.cpp:204 #15 0x400517bf in KateApp (this=0xbffff760, forcedNewProcess=false, oldState=false) at kateapp.cpp:68 #16 0x40014324 in main (argc=1, argv=0xbffff914) at katemain.cpp:106 #17 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6 The problem has to do with loading the tab configuration and displaying the tabs, but I'm not sure exactly what's happening here. It's possible that this katerc was a bastard child of my old installation and is no longer an issue because it will never be created again. On the other hand, it could be indicative of a bug in kate that might pop up again later. Whatever the reason, I've spent a couple hours trying to track it down and have given up. It's much easier just to delete the config file and let kate generate a new one.
should work with current CVS and 3.1, if you get again a similar crash, please report again and sorry for the problems
*** Bug 67979 has been marked as a duplicate of this bug. ***