Bug 171275 - kmail crashes on startup with ASSERT: "s->parsed == false" in kdelibs4/kcmdlineargs.cpp
Summary: kmail crashes on startup with ASSERT: "s->parsed == false" in kdelibs4/kcmdli...
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kmail
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: FreeBSD Ports FreeBSD
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2008-09-18 14:12 UTC by John Baldwin
Modified: 2012-08-19 10:49 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Baldwin 2008-09-18 14:12:16 UTC
Version:            (using KDE 4.1.1)
Compiler:          gcc version 4.2.1 20070719  [FreeBSD]  
OS:                FreeBSD
Installed from:    FreeBSD Ports

This is from starting kmail with no existing configuration (I tried using my previous config from kdepim-3.5.8 as well, but when it crashed, I reproduced with no ~/.kde4/share/apps/kmail directory at all).

> kmail
ASSERT: "s->parsed == false" in file /usr/ports/x11/kdelibs4/work/kdelibs-4.1.1/kdecore/kernel/kcmdlineargs.cpp, line 524
Abort (core dumped)

> gdb /usr/local/kde4/bin/kmail kmail.core 
GNU gdb 6.1.1 [FreeBSD]                    
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 "i386-marcel-freebsd"...                          
Core was generated by `kmail'.                                               
Program terminated with signal 6, Aborted.                                   
Reading symbols from /usr/local/kde4/lib/libkmailprivate.so.5...done.        
Loaded symbols for /usr/local/kde4/lib/libkmailprivate.so.5                  
[ massive list of shared libraries skipped for brevity ... ]
Reading symbols from /usr/local/lib/libdbus-1.so.3...done.
Loaded symbols for /usr/local/lib/libdbus-1.so.3
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x2b4e48c7 in kill () from /lib/libc.so.7
[New Thread 0x8101100 (LWP 100162)]
(gdb) where
#0  0x2b4e48c7 in kill () from /lib/libc.so.7
#1  0x2a5a00e7 in raise () from /lib/libthr.so.3
#2  0x2b4e345a in abort () from /lib/libc.so.7
#3  0x2a41bb8b in qt_message_output () from /usr/local/lib/qt4/libQtCore.so.4
#4  0x2a41bc49 in qFatal () from /usr/local/lib/qt4/libQtCore.so.4
#5  0x2a41bce5 in qt_assert () from /usr/local/lib/qt4/libQtCore.so.4
#6  0x2a041c36 in KCmdLineArgs::addCmdLineOptions (options=@0xbfbfe088,
    name=@0xbfbfe078, _id=@0xbfbfe074, _afterId=@0xbfbfe070)
    at /usr/ports/x11/kdelibs4/work/kdelibs-4.1.1/kdecore/kernel/kcmdlineargs.cpp:524
#7  0x29d24542 in KUniqueApplication::addCmdLineOptions ()
    at /usr/ports/x11/kdelibs4/work/kdelibs-4.1.1/kdeui/kernel/kuniqueapplication.cpp:91
#8  0x29d24606 in KUniqueApplication::start (flags=@0xbfbfe2fc)
    at /usr/ports/x11/kdelibs4/work/kdelibs-4.1.1/kdeui/kernel/kuniqueapplication.cpp:118
#9  0x29d259d2 in KUniqueApplication::start ()
    at /usr/ports/x11/kdelibs4/work/kdelibs-4.1.1/kdeui/kernel/kuniqueapplication.cpp:108
#10 0x28c88b6e in KPIM::PimApplication::start ()
    at /usr/ports/deskutils/kdepim4/work/kdepim-4.1.1/libkdepim/pimapplication.cpp:106
#11 0x0804ab28 in main (argc=Cannot access memory at address 0x3
)
    at /usr/ports/deskutils/kdepim4/work/kdepim-4.1.1/kmail/main.cpp:109
(gdb) info threads
* 1 Thread 0x8101100 (LWP 100162)  0x2b4e48c7 in kill () from /lib/libc.so.7
(gdb) frame 8
#8  0x29d24606 in KUniqueApplication::start (flags=@0xbfbfe2fc)
    at /usr/ports/x11/kdelibs4/work/kdelibs-4.1.1/kdeui/kernel/kuniqueapplication.cpp:118
118       addCmdLineOptions(); // Make sure to add cmd line options
(gdb) p flags
$1 = (QFlags<KUniqueApplication::StartFlag> &) @0xbfbfe2fc: {i = 0}
(gdb) down
#7  0x29d24542 in KUniqueApplication::addCmdLineOptions ()
    at /usr/ports/x11/kdelibs4/work/kdelibs-4.1.1/kdeui/kernel/kuniqueapplication.cpp:91
91        KCmdLineArgs::addCmdLineOptions(kunique_options, KLocalizedString(), "kuniqueapp", "kde");
(gdb)
#6  0x2a041c36 in KCmdLineArgs::addCmdLineOptions (options=@0xbfbfe088,
    name=@0xbfbfe078, _id=@0xbfbfe074, _afterId=@0xbfbfe070)
    at /usr/ports/x11/kdelibs4/work/kdelibs-4.1.1/kdecore/kernel/kcmdlineargs.cpp:524
524        Q_ASSERT( s->parsed == false ); // You must add _ALL_ cmd line options
(gdb) p s                                                                       
$2 = {<No data fields>}                                                         
(gdb) l
519           // unnamed option group should come after all named groups.
520           if (!afterId.isEmpty() && afterId == (*args)->d->id)
521              pos = i+1;
522        }
523
524        Q_ASSERT( s->parsed == false ); // You must add _ALL_ cmd line options
525                                        // before accessing the arguments!
526        s->argsList->insert(pos, new KCmdLineArgs(options, name, id.toUtf8()));
527     }
528
Comment 1 John Baldwin 2008-09-18 14:19:14 UTC
Looking at the kcmdlineargs.h header, it seems that kmail is following the documented procedure:

 *     // Initialize command line args
 *     KCmdLineArgs::init(argc, argv, appName, programName, version, description
);
 *
 *     // Define the command line options using KCmdLineOptions
 *     KCmdLineOptions options;
 *     ....
 *
 *     // Register the supported options
 *     KCmdLineArgs::addCmdLineOptions( options );
 *
 *     // Add options from other components
 *     KUniqueApplication::addCmdLineOptions();

main():
  KCmdLineArgs::init(argc, argv, &about);
  KCmdLineArgs::addCmdLineOptions( kmail_options() ); // Add kmail options
  if (!KMailApplication::start())
     return 0;

and PimApplication::Start() trickles down to KUniqueApplication::Start() which calls KUniqueApplication::addCmdLineOptions().  The example in the header wouldn't set s->parsed = TRUE until later when KCmdLineArgs::parseAllArgs() is called, so I think the example code in the header would always trip this assert.
Comment 2 John Baldwin 2008-09-18 16:40:24 UTC
I just realized that I had read the assertion backwards.  The problem is that some code is forcing a parse of the command line options before KUniqueApplication::addCmdLineOptions() is called.  I think this happens in PimApplication::start() where it fetches the program name (argv[0]) before calling KUniqueApplication::start().
Comment 3 John Baldwin 2008-09-27 16:00:43 UTC
So I set a few breakpoints and here is where the application arguments are parsed before KUniqueApplication::Start() is called:

(gdb) where
#0  KCmdLineArgsStatic::parseAllArgs ()
    at /usr/ports/x11/kdelibs4/work/kdelibs-4.1.1/kdecore/kernel/kcmdlineargs.cpp:843
#1  0x2a04849b in KCmdLineArgs::saveAppArgs (ds=@0xbfbfe34c)
    at /usr/ports/x11/kdelibs4/work/kdelibs-4.1.1/kdecore/kernel/kcmdlineargs.cpp:533
#2  0x28c88369 in KPIM::PimApplication::start ()
    at /usr/ports/deskutils/kdepim4/work/kdepim-4.1.1/libkdepim/pimapplication.cpp:73
#3  0x0804ab28 in main (argc=Error accessing memory address 0x0: Bad address.
)
    at /usr/ports/deskutils/kdepim4/work/kdepim-4.1.1/kmail/main.cpp:109
Comment 4 Bertjan Broeksema 2008-10-02 22:51:00 UTC
The problem with this bug is that it seem to occur when there is a dangling kmail dbus session. I think that is the *real* bug. The point is that I'm not able to reproduce that, although it just happened to me once also. What I had by then is still a kmail session registered to dbus. But when trying to browse the session using qdbusviewer it just froze qdbusviewer. 

However, when this does occur, the next thing happens when you try to start kmail (the problem is in libkdepim/pimapplication.cpp I think):

Because their is a kmail session registered at dbus the test at line 70 will pass.

Next the arguments are parsed at line 73, after this point it is not allowed to add more options to it.

The problem starts when the test at line 93 fails and return KUniqueApplication::start(); gets called.

Workarounds are: refuse to start when the test fails or call KUniqueApplication::addCmdLineOptions() before the saveAppArgs() call in line 73.

But as said, these are just workarounds.
Comment 5 Brian Foster 2009-02-19 11:35:21 UTC
Things were working just fine for me (using Kubuntu 8.10) and then all of a sudden I also got hit by this.  At the moment, it's 100% reproducible simply by trying to run `kmail'.  Some details....

Script started on Thu 19 Feb 2009 11:19:02 AM CET
$
$ kmail --version
Qt: 4.4.3
KDE: 4.1.4 (KDE 4.1.4)
KMail: 1.10.4
$
$ gdb kmail
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu"...
(gdb) run
Starting program: /usr/bin/kmail
[Thread debugging using libthread_db enabled]
[New Thread 0x7fa41531a6f0 (LWP 17746)]
ASSERT: "s->parsed == false" in file /build/buildd/kde4libs-4.1.4/kdecore/kernel/kcmdlineargs.cpp, line 524

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fa41531a6f0 (LWP 17746)]
0x00007fa412218015 in raise () from /lib/libc.so.6
(gdb) where
#0  0x00007fa412218015 in raise () from /lib/libc.so.6
#1  0x00007fa412219b83 in abort () from /lib/libc.so.6
#2  0x00007fa4136346b5 in qt_message_output () from /usr/lib/libQtCore.so.4
#3  0x00007fa4136347fd in qFatal () from /usr/lib/libQtCore.so.4
#4  0x00007fa413b17a3a in KCmdLineArgs::addCmdLineOptions (options=@0x7fff1d362720,
    name=@0x7fff1d3626e0, _id=<value optimized out>, _afterId=<value optimized out>)
    at /build/buildd/kde4libs-4.1.4/kdecore/kernel/kcmdlineargs.cpp:524
#5  0x00007fa414089bcf in KUniqueApplication::addCmdLineOptions ()
    at /build/buildd/kde4libs-4.1.4/kdeui/kernel/kuniqueapplication.cpp:91
#6  0x00007fa414089e64 in KUniqueApplication::start (flags={i = 490089536})
    at /build/buildd/kde4libs-4.1.4/kdeui/kernel/kuniqueapplication.cpp:118
#7  0x00007fa41408ad73 in KUniqueApplication::start ()
    at /build/buildd/kde4libs-4.1.4/kdeui/kernel/kuniqueapplication.cpp:108
#8  0x00007fa414578087 in KPIM::PimApplication::start ()
    at /build/buildd/kdepim-4.1.4/libkdepim/pimapplication.cpp:106
#9  0x0000000000402f25 in main (argc=<value optimized out>, argv=<value optimized out>)
    at /build/buildd/kdepim-4.1.4/kmail/main.cpp:109
(gdb) info proc
process 17746
cmdline = '/usr/bin/kmail'
cwd = '/home/bfoster'
exe = '/usr/bin/kmail'
(gdb) info thread
* 1 Thread 0x7fa41531a6f0 (LWP 17746)  0x00007fa412218015 in raise ()
   from /lib/libc.so.6
The program is running.  Exit anyway? (y or n) y
$
$ exit
Script done on Thu 19 Feb 2009 11:20:35 AM CET
Comment 6 Jaime Torres 2009-02-21 12:34:16 UTC
I have the same error now (in linux). This is what I've done to get it hapen.

I just created an imap account, and selected a message, I was waiting for the message to be displayed, while seeing thousands of lines:

kmail(15778) KMFolderSearch::slotSearchExamineMsgDone: "inbox" : serNum 60274 matches? false                                                                        

Then I choosed Quit, and this is the console output.


kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::MessageListView::Core::Model::viewItemJobStepInternal: FILLED THE VIEW AT  2.43125  MSG/SEC                                                     
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) FolderStorage::headerOfMsgChanged:  idx >=0  0                       
kmail(15778) FolderStorage::headerOfMsgChanged:  emit msgHeaderChanged(folder(), idx)  0                                                                            
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::MessageListView::Core::Model::viewItemJobStepInternal: FILLED THE VIEW AT  2.40833  MSG/SEC                                                     
kmail(15778) KMKernel::getFolder: Folder not found: "/Local"                      
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::MessageListView::Core::Model::viewItemJobStepInternal: FILLED THE VIEW AT  2.3872  MSG/SEC                                                      
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) FolderStorage::headerOfMsgChanged:  idx >=0  0                       
kmail(15778) FolderStorage::headerOfMsgChanged:  emit msgHeaderChanged(folder(), idx)  0                                                                            
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::MessageListView::Core::Model::viewItemJobStepInternal: FILLED THE VIEW AT  2.36852  MSG/SEC                                                     
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) FolderStorage::headerOfMsgChanged:  idx >=0  0                       
kmail(15778) FolderStorage::headerOfMsgChanged:  emit msgHeaderChanged(folder(), idx)  0                                                                            
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::MessageListView::Core::Model::viewItemJobStepInternal: FILLED THE VIEW AT  2.34948  MSG/SEC                                                     
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) FolderStorage::headerOfMsgChanged:  idx >=0  0                       
kmail(15778) FolderStorage::headerOfMsgChanged:  emit msgHeaderChanged(folder(), idx)  0                                                                            
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::MessageListView::Core::Model::viewItemJobStepInternal: FILLED THE VIEW AT  2.33109  MSG/SEC                                                     
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) FolderStorage::headerOfMsgChanged:  idx >=0  0                       
kmail(15778) FolderStorage::headerOfMsgChanged:  emit msgHeaderChanged(folder(), idx)  0                                                                            
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::MessageListView::Core::Model::viewItemJobStepInternal: FILLED THE VIEW AT  2.31585  MSG/SEC                                                     
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) FolderStorage::headerOfMsgChanged:  idx >=0  0                       
kmail(15778) FolderStorage::headerOfMsgChanged:  emit msgHeaderChanged(folder(), idx)  0                                                                            
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::MessageListView::Core::Model::viewItemJobStepInternal: FILLED THE VIEW AT  2.3021  MSG/SEC                                                      
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::MessageListView::Core::Model::viewItemJobStepInternal: FILLED THE VIEW AT  2.28659  MSG/SEC                                                     
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::MessageListView::Core::Model::viewItemJobStepInternal: FILLED THE VIEW AT  2.27385  MSG/SEC                                                     
kmail(15778) KMail::AccountManager::processNextCheck: processNextCheck, remaining 1                                                                                 
kmail(15778) KMail::NetworkAccount::mailCheckCanProceed: for host "imap.gmail.com" current connections= 0 and limit is 0                                            
kmail(15778) KMail::NetworkAccount::mailCheckCanProceed: connection limit reached: false                                                                            
kmail(15778) KMail::AccountManager::processNextCheck: processing next mail check for "IMAP gmail"                                                                   
kmail(15778) KMail::NetworkAccount::setCheckingMail: check mail started - connections for host "imap.gmail.com" now is 1                                            
kmail(15778) KMAcctImap::processNewMail: processNewMail true ,status= 1           
kmail(15778) KMAcctImap::processNewMail:  calling getFolder() when imapFolder->isSelected()                                                                         
kmail(15778) KMFolderImap::getFolder: 2 false 0                                   
kmail(15778) KMFolderImap::checkValidity: Of: "/[Gmail]/Todos/"                   
kmail(15778) KMail::MessageListView::StorageModel::releaseMessage: Trying to release a message at row  2723  that no longer exists in the folder                    
kmail(15778) KMFolder::getMsg: getMsg idx 2723                                    
kmail(15778)/kdeui (KIconEffect) KIconEffect::overlay: Image depth src ( 0 ) != overlay  ( 32 )!                                                                    
kmail(15778)/kdeui (KIconEffect) KIconEffect::overlay: Image depth src ( 0 ) != overlay  ( 32 )!                                                                    
kmail(15778)/kdeui (KIconEffect) KIconEffect::overlay: Image depth src ( 0 ) != overlay  ( 32 )!                                                                    
kmail(15778)/kdeui (KIconEffect) KIconEffect::overlay: Image depth src ( 0 ) != overlay  ( 32 )!                                                                    
kmail(15778)/kmail (storage internals) KMFolderIndex::writeIndex: KDE_fopen(tempName= "/home/jtorres/.kde/share/apps/kmail/imap/.529603476.directory/.INBOX.index.temp" , "w") == tmpIndexStream ==  0x2e177f0                                        
kmail(15778)/kmail (storage internals) KMFolderIndex::writeIndex: fclose(tmpIndexStream =  0x2e177f0 )                                                              
kmail(15778)/kmail (storage internals) KMFolderIndex::writeIndex: fclose(mIndexStream =  0xe4fd40 )                                                                 
kmail(15778)/kmail (storage internals) KMFolderIndex::writeIndex: KDE_fopen(indexName= "/home/jtorres/.kde/share/apps/kmail/imap/.529603476.directory/.INBOX.index" , "r+") == mIndexStream ==  0x100a4f0                                             
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMKernel::getFolder: Folder not found: "/Local"                      
kmail(15778) KMKernel::getFolder: Folder not found: "/Local"                      
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) FolderStorage::headerOfMsgChanged:  idx >=0  0                       
kmail(15778) FolderStorage::headerOfMsgChanged:  emit msgHeaderChanged(folder(), idx)  0                                                                            
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMKernel::getFolder: Folder not found: "/Local"                      
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) FolderStorage::headerOfMsgChanged:  idx >=0  0                       
kmail(15778) FolderStorage::headerOfMsgChanged:  emit msgHeaderChanged(folder(), idx)  0                                                                            
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMKernel::getFolder: Folder not found: "/Local"                      
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) FolderStorage::headerOfMsgChanged:  idx >=0  0                       
kmail(15778) FolderStorage::headerOfMsgChanged:  emit msgHeaderChanged(folder(), idx)  0                                                                            
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) FolderStorage::headerOfMsgChanged:  idx >=0  0                       
kmail(15778) FolderStorage::headerOfMsgChanged:  emit msgHeaderChanged(folder(), idx)  0                                                                            
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMail::ImapJob::slotGetMessageResult: Retrieved part ""              
kmail(15778) FolderStorage::headerOfMsgChanged:  idx >=0  0                       
kmail(15778) FolderStorage::headerOfMsgChanged:  emit msgHeaderChanged(folder(), idx)  0                                                                            
kmail(15778) KMFolder::getMsg: getMsg idx 0                                       
kmail(15778) KMMainWin::~KMMainWin: Closing last KMMainWin: stopping mail check   
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778) KMAcctImap::killAllJobs: Resetting mail                              
kmail(15778)/kio (Slave) KIO::Slave::kill: killing slave pid 16192 ( "imaps://imap.gmail.com" )                                                                     
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMFolderImap::slotCopyMsgResult: 1                                   
kmail(15778) KMail::NetworkAccount::setCheckingMail: connections to server "imap.gmail.com" now 0                                                                   
kmail(15778) KMail::AccountManager::processNextCheck: processNextCheck, remaining 0                                                                                 
kmail(15778) KMail::AccountManager::processNextCheck: account "IMAP gmail"  finished check                                                                          
kmail(15778) KMail::AccountManager::processNextCheck: processNextCheck, remaining 1                                                                                 
kmail(15778) KMail::NetworkAccount::mailCheckCanProceed: for host "imap.gmail.com" current connections= 0 and limit is 0                                            
kmail(15778) KMail::NetworkAccount::mailCheckCanProceed: connection limit reached: false                                                                            
kmail(15778) KMail::AccountManager::processNextCheck: processing next mail check for "IMAP gmail"                                                                   
kmail(15778) KMail::NetworkAccount::setCheckingMail: check mail started - connections for host "imap.gmail.com" now is 1                                            
kmail(15778)/kio (Slave) KIO::Slave::createSlave: createSlave "imaps" for KUrl("imaps://jtamate%40gmail.com@imap.gmail.com:993")                                    
kmail(15778)/kio (KIOConnection) KIO::ConnectionServer::listenForRemote: Listening on  "local:/tmp/ksocket-jtorres/kmailT15778.slave-socket"                        
kmail(15778) KMAcctImap::processNewMail: processNewMail true ,status= 2           
kmail(15778) KMAcctImap::processNewMail:  calling getFolder() when imapFolder->isSelected()                                                                         
kmail(15778) KMFolderImap::getFolder: 2 false 3                                   
kmail(15778) KMFolderImap::checkValidity: Of: "/[Gmail]/Destacados/"              
kmail(15778) KMFolderImap::checkValidity: Waiting for connection                  
kmail(15778)/kparts KParts::Part::slotWidgetDestroyed: KPart::slotWidgetDestroyed(), deleting part  "mViewer"                                                       
kmail(15778)/khtml (part) KHTMLPart::~KHTMLPart: KHTMLPart(0x9965e0, name = "mViewer")                                                                              
kmail(15778) KMail::Vacation::~Vacation: ~Vacation()                              


As kmail did not wanted to die.. kill it.

jtorres@filemon:/g/kde4svn> 
jtorres@filemon:/g/kde4svn> 
jtorres@filemon:/g/kde4svn> 
jtorres@filemon:/g/kde4svn> ps
  PID TTY          TIME CMD   
 4770 pts/7    00:00:00 bash  
15778 pts/7    00:04:39 kmail 
18204 pts/7    00:00:00 ps    
jtorres@filemon:/g/kde4svn> kill 15778
jtorres@filemon:/g/kde4svn> *** KMail got signal 15 (Exiting)

jtorres@filemon:/g/kde4svn> 
jtorres@filemon:/g/kde4svn> 
jtorres@filemon:/g/kde4svn> 
jtorres@filemon:/g/kde4svn> 
jtorres@filemon:/g/kde4svn> /opt/kde4/bin/kmail
ASSERT: "s->parsed == false" in file /g/kde4svn/kdelibs/kdecore/kernel/kcmdlineargs.cpp, line 528                                                                   
Abortado                                                                          
jtorres@filemon:/g/kde4svn>                                                       
jtorres@filemon:/g/kde4svn> /opt/kde4/bin/kmail                                   
ASSERT: "s->parsed == false" in file /g/kde4svn/kdelibs/kdecore/kernel/kcmdlineargs.cpp, line 528                                                                   
Abortado
Comment 7 Ruchir Brahmbhatt 2009-04-14 10:41:09 UTC
Is it still reproducible? I can't reproduce bug on kmail 1.11.2 as mentioned by reporter or any other methods mentioned in comments
Comment 8 Thomas McGuire 2009-04-14 10:59:14 UTC
> Is it still reproducible? I can't reproduce bug on kmail 1.11.2 as mentioned by reporter or any other methods mentioned in comments

Yes, it is a known race condition,
Comment 9 Nicolas L. 2010-04-28 14:31:45 UTC
i still have this from time to time in kde 4.4.2
Comment 10 Myriam Schweingruber 2012-08-19 10:49:33 UTC
Thank you for your report. Kmail1 is currently unmaintained and the code has changed sufficiently in Kmail2 so the backtraces are not really useful anymore. Should you experience the same crash in Kmail 4.8.5 or later, please open a new report for Kmail2. Thank you for your understanding