Version: r782494 (using Devel) Installed from: Compiled sources Compiler: gcc 4.2.3 OS: Linux I have a local (Dovecot) imap server. I select a folder, so that it is opened in the folder contents pane. I right-click that folder, and select properties. I change the folder name. I click OK. KMail crashes, with the attached backtrace. Console output: kmail(7284) KMail::RenameJob::execute: RenameJob::rename - "imap://alex@localhost:143/uni.rev.wiM-2007/" |=> "imap://alex@localhost:143/uni.rev.wi-2007/" kmail(7284)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::KCoreConfigSkeleton: Creating KCoreConfigSkeleton ( 0xbfd8d924 ) kmail(7284) KMail::FolderDialogTemplatesTab::save: use custom templates for folder ".1775941173.directory/.uni.directory/.rev.directory/wiM-2007" : false kmail(7284)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig: KCoreConfigSkeleton::writeConfig() kmail(7284)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::readConfig: KCoreConfigSkeleton::readConfig() kmail(7284)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::KCoreConfigSkeleton: Creating KCoreConfigSkeleton ( 0xbfd8d87c ) kmail(7284)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig: KCoreConfigSkeleton::writeConfig() kmail(7284)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::readConfig: KCoreConfigSkeleton::readConfig() kmail(7284) KMFolderImap::close: Trying to close the selected folder "wi-2007" - ignoring! *** KMail got signal 6 (Crashing) KCrash: crashing... crashRecursionCounter = 2 KCrash: Application Name = kmail path = <unknown> pid = 7284 sock_file=/home/alex/.kde4/socket-glitch/kdeinit4__0
Created attachment 23809 [details] Backtrace for the crash described above
Actually, right-clicking the folder selects the folder, so the first step isn't necessary.
This also happens on another (non-local) imap server. I don't know the server software.
OK, I could reproduce it, will take a look soon. Pasting backtrace for easier duplicate searching: #8 0xb4cf36a1 in abort () from /lib/libc.so.6 #9 0xb75ddbd0 in KMFolderImap::close (this=0x841a0f0, owner=0xb786eb40 "countunread", aForced=false) at /home/kde-devel/src/KDE/kdepim/kmail/kmfolderimap.cpp:118 #10 0xb75280f7 in FolderStorage::countUnread (this=0x841a0f0) at /home/kde-devel/src/KDE/kdepim/kmail/folderstorage.cpp:840 #11 0xb750197c in KMFolder::countUnread (this=0x8419fb0) at /home/kde-devel/src/KDE/kdepim/kmail/kmfolder.cpp:463 #12 0xb7485355 in KMFolderTree::slotUpdateCounts (this=0x850f120, folder=0x8419fb0) at /home/kde-devel/src/KDE/kdepim/kmail/kmfoldertree.cpp:1668 #13 0xb748b84d in KMFolderTree::reload (this=0x850f120, openFolders=false) at /home/kde-devel/src/KDE/kdepim/kmail/kmfoldertree.cpp:627 #14 0xb747e284 in KMFolderTree::doFolderListChanged (this=0x850f120) at /home/kde-devel/src/KDE/kdepim/kmail/kmfoldertree.cpp:794 #15 0xb7489f1a in KMFolderTree::qt_metacall (this=0x850f120, _c=QMetaObject::InvokeMetaMethod, _id=23, _a=0xbfe51844) at /home/kde-devel/build/KDE/kdepim/kmail/kmfoldertree.moc:261 #16 0xb7ecb56b in QMetaObject::activate (sender=0x81e1200, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:2992 #17 0xb7ecb9e7 in QMetaObject::activate (sender=0x81e1200, m=0xb79a97c8, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3065 #18 0xb754ff73 in KMFolderMgr::changed (this=0x81e1200) at /home/kde-devel/build/KDE/kdepim/kmail/kmfoldermgr.moc:112 #19 0xb7550004 in KMFolderMgr::contentsChanged (this=0x81e1200) at /home/kde-devel/src/KDE/kdepim/kmail/kmfoldermgr.cpp:436 #20 0xb752d4bb in FolderStorage::rename (this=0x841a0f0, newName=@0x91ce58c, newParent=0x0) at /home/kde-devel/src/KDE/kdepim/kmail/folderstorage.cpp:735 #21 0xb75dbe84 in KMFolderImap::rename (this=0x841a0f0, newName=@0x91ce58c, aParent=0x0) at /home/kde-devel/src/KDE/kdepim/kmail/kmfolderimap.cpp:336 #22 0xb7797b34 in KMail::RenameJob::slotRenameResult (this=0x91ce558, job=0x8555c68) at /home/kde-devel/src/KDE/kdepim/kmail/renamejob.cpp:182 #23 0xb7797c12 in KMail::RenameJob::qt_metacall (this=0x91ce558, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbfe51b6c) at /home/kde-devel/build/KDE/kdepim/kmail/renamejob.moc:73 #24 0xb7ecb56b in QMetaObject::activate (sender=0x8555c68, from_signal_index=7, to_signal_index=7, argv=0xbfe51b6c) at kernel/qobject.cpp:2992 #25 0xb7ecb9e7 in QMetaObject::activate (sender=0x8555c68, m=0xb7b9e848, local_signal_index=3, argv=0xbfe51b6c) at kernel/qobject.cpp:3065 #26 0xb7a93aa0 in KJob::result (this=0x8555c68, _t1=0x8555c68) at /home/kde-devel/build/KDE/kdelibs/kdecore/kjob.moc:186 #27 0xb7a93fe4 in KJob::emitResult (this=0x8555c68) at /home/kde-devel/src/KDE/kdelibs/kdecore/jobs/kjob.cpp:290 #28 0xb604b5ef in KIO::SimpleJob::slotFinished (this=0x8555c68) at /home/kde-devel/src/KDE/kdelibs/kio/kio/job.cpp:491 #29 0xb604ae41 in KIO::SimpleJob::qt_metacall (this=0x8555c68, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbfe51ca4) at /home/kde-devel/build/KDE/kdelibs/kio/jobclasses.moc:156 #30 0xb7ecb56b in QMetaObject::activate (sender=0x85841d0, from_signal_index=8, to_signal_index=8, argv=0x0) at kernel/qobject.cpp:2992 #31 0xb7ecb9e7 in QMetaObject::activate (sender=0x85841d0, m=0xb61c43a4, local_signal_index=4, argv=0x0) at kernel/qobject.cpp:3065 #32 0xb60f4155 in KIO::SlaveInterface::finished (this=0x85841d0) at /home/kde-devel/build/KDE/kdelibs/kio/slaveinterface.moc:161 #33 0xb60f5fa2 in KIO::SlaveInterface::dispatch (this=0x85841d0, _cmd=104, rawdata=@0xbfe51ea4) at /home/kde-devel/src/KDE/kdelibs/kio/kio/slaveinterface.cpp:176 #34 0xb60f5e8b in KIO::SlaveInterface::dispatch (this=0x85841d0) at /home/kde-devel/src/KDE/kdelibs/kio/kio/slaveinterface.cpp:90 #35 0xb60e90d4 in KIO::Slave::gotInput (this=0x85841d0) at /home/kde-devel/src/KDE/kdelibs/kio/kio/slave.cpp:319 #36 0xb60ea51c in KIO::Slave::qt_metacall (this=0x85841d0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfe51f94) at /home/kde-devel/build/KDE/kdelibs/kio/slave.moc:75 #37 0xb7ecb56b in QMetaObject::activate (sender=0x8585800, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:2992 #38 0xb7ecb9e7 in QMetaObject::activate (sender=0x8585800, m=0xb61c12a0, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3065 #39 0xb602201b in KIO::Connection::readyRead (this=0x8585800) at /home/kde-devel/build/KDE/kdelibs/kio/connection.moc:84 #40 0xb6022f47 in KIO::ConnectionPrivate::dequeue (this=0x8583280) at /home/kde-devel/src/KDE/kdelibs/kio/kio/connection.cpp:82 #41 0xb6023e81 in KIO::Connection::qt_metacall (this=0x8585800, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x8559bc0) at /home/kde-devel/build/KDE/kdelibs/kio/connection.moc:72 #42 0xb7ec5572 in QMetaCallEvent::placeMetaCall (this=0x8721468, object=0x8585800) at kernel/qobject.cpp:535 #43 0xb7ec98b4 in QObject::event (this=0x8585800, e=0x8721468) at kernel/qobject.cpp:1128 #44 0xb538ca31 in QApplicationPrivate::notify_helper (this=0x8080608, receiver=0x8585800, e=0x8721468) at kernel/qapplication.cpp:3757 #45 0xb538cd4a in QApplication::notify (this=0xbfe52940, receiver=0x8585800, e=0x8721468) at kernel/qapplication.cpp:3351 #46 0xb68403ad in KApplication::notify (this=0xbfe52940, receiver=0x8585800, event=0x8721468) at /home/kde-devel/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:311 #47 0xb7eb6cb4 in QCoreApplication::notifyInternal (this=0xbfe52940, receiver=0x8585800, event=0x8721468) at kernel/qcoreapplication.cpp:582 #48 0xb7eba52d in QCoreApplication::sendEvent (receiver=0x8585800, event=0x8721468) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #49 0xb7eb71c8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x80501f0) at kernel/qcoreapplication.cpp:1188 #50 0xb7eb7373 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1084 #51 0xb7ee73cc in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #52 0xb7ee6591 in postEventSourceDispatch (s=0x80828e0) at kernel/qeventdispatcher_glib.cpp:211 #53 0xb4c4b346 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #54 0xb4c4e6d2 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #55 0xb4c4ec8e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #56 0xb7ee59bc in QEventDispatcherGlib::processEvents (this=0x807a648, flags=@0xbfe52798) at kernel/qeventdispatcher_glib.cpp:325 #57 0xb5432448 in QGuiEventDispatcherGlib::processEvents (this=0x807a648, flags=@0xbfe527cc) at kernel/qguieventdispatcher_glib.cpp:204 #58 0xb7eb3b5a in QEventLoop::processEvents (this=0xbfe52840, flags=@0xbfe52804) at kernel/qeventloop.cpp:146 #59 0xb7eb3d07 in QEventLoop::exec (this=0xbfe52840, flags=@0xbfe52848) at kernel/qeventloop.cpp:193 #60 0xb7eb7493 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:838 #61 0xb538c74a in QApplication::exec () at kernel/qapplication.cpp:3289 #62 0x0804b33d in main (argc=3, argv=0xbfe52a24) at /home/kde-devel/src/KDE/kdepim/kmail/main.cpp:132 #0 0xb7f6a410 in __kernel_vsyscall ()
SVN commit 797025 by tmcguire: Fix totally broken renaming of online IMAP folders: - emit the closed() signal before calling folderMgr()->contentsChanged() This fixes an refcount assert when calculating the unread count. The assert would trigger there because the folder is closed with refcount 0 but still selected. Now, the headerview will open the folder before that, making the refount 1. - Don't show an error message when the old folder couldn't be unsubscribed. That error message doesn't make sense, since the old folder does not exist anymore, and therefore can't be unsubscribed anyway. - Let the mainwidget re-open the folder after it is renamed. This fixes an assert when switching away from an renamed folder, which would close it despite not having called open() before. - Also change the objectname when renaming, now renaming the same folder more than once works. - tabs-- BUG: 158861 M +1 -1 folderstorage.cpp M +1 -1 imapaccountbase.cpp M +1 -1 kmfoldermgr.cpp M +18 -0 kmmainwidget.cpp M +5 -0 kmmainwidget.h M +1 -0 renamejob.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=797025
*** Bug 166121 has been marked as a duplicate of this bug. ***
Niels : Please install the debug symbols and provide a complete backtrace. (details here : http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports )