Bug 158455 - Crash after renaming folder with subfolder
Summary: Crash after renaming folder with subfolder
Status: RESOLVED FIXED
Alias: None
Product: kmail
Classification: Applications
Component: maildir (show other bugs)
Version: 1.10.1
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: junior-jobs, triaged
: 273946 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-02-26 16:18 UTC by kavol
Modified: 2011-05-23 11:08 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In: kdepim 4.6


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kavol 2008-02-26 16:18:11 UTC
Version:           KMail: 1.9.7 (using KDE 3.5.8)
Installed from:    Gentoo Packages
Compiler:          gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.0.2) 
OS:                Linux

Hello,

I just wanted to rename a local mail folder (maildir) that had one subfolder. So that I opened the properties of it (the parent folder), changed the name and hit ok. Then there appeared error message saying something about error when opening the subfolder and that it is missing. The non-ascii character of the new parent folder name was messed (there should have been "Latin Small Letter A with acute" in it but it appeared as two characters unknown to me) while the subfolder name was ok. When I clicked OK, kmail crashed immediately.

I can reproduce the bug.

The backtrace follows:

 [?1034hUsing host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0x2aefa7423f20 (LWP 12898)]
[New Thread 0x42003950 (LWP 12902)]
[New Thread 0x41802950 (LWP 12901)]
[New Thread 0x41001950 (LWP 12900)]
[New Thread 0x40800950 (LWP 12899)]
[KCrash handler]
#5  0x00002aefa6f2a976 in _IO_fflush (fp=0x2aef9d0f36cc) at iofflush.c:42
#6  0x00002aef9cf7fa29 in KMMsgDict::touchFolderIds (
    this=<value optimized out>, storage=<value optimized out>)
    at kmmsgdict.cpp:132
#7  0x00002aef9cf7fb46 in KMFolderIndex::updateIndex (this=0xf294b0)
    at kmfolderindex.cpp:117
#8  0x00002aef9cf7e489 in KMFolderMaildir::reallyDoClose (this=0x2aef9d0f36cc)
    at kmfoldermaildir.cpp:226
#9  0x00002aef9cdf0779 in FolderStorage::countUnread (this=0xf294b0)
    at folderstorage.cpp:812
#10 0x00002aef9cee53b9 in KMSystemTray::updateNewMessages (this=0x13f7280)
    at kmsystemtray.cpp:475
#11 0x00002aef9cf99d08 in KMSystemTray::qt_invoke (this=0x13f7280, _id=64, 
    _o=0x7fff0e12dab0) at kmsystemtray.moc:97
#12 0x00002aefa38a624c in QObject::activate_signal (this=0x1405b50, 
    clist=<value optimized out>, o=0x7fff0e12dab0) at kernel/qobject.cpp:2356
#13 0x00002aefa38a6ef3 in QObject::activate_signal (this=0x2aef9d0f36cc, 
    signal=<value optimized out>) at kernel/qobject.cpp:2325
#14 0x00002aefa38c54a5 in QTimer::event (this=0x1405b50, e=0xf294b0)
    at kernel/qtimer.cpp:219
#15 0x00002aefa384fcb5 in QApplication::internalNotify (
    this=<value optimized out>, receiver=0x1405b50, e=0x7fff0e12dd50)
    at kernel/qapplication.cpp:2635
#16 0x00002aefa38508b7 in QApplication::notify (this=0x7fff0e12f010, 
    receiver=0x1405b50, e=0x7fff0e12dd50) at kernel/qapplication.cpp:2358
#17 0x00002aefa278018a in KApplication::notify (this=0x7fff0e12f010, 
    receiver=0x1405b50, event=0x7fff0e12dd50) at kapplication.cpp:550
#18 0x00002aefa38463d2 in QEventLoop::activateTimers (
    this=<value optimized out>) at kernel/qapplication.h:496
#19 0x00002aefa3806e12 in QEventLoop::processEvents (this=0x6692b0, flags=2)
    at kernel/qeventloop_x11.cpp:389
#20 0x00002aefa3864402 in QEventLoop::enterLoop (this=0x2aef9d0f36cc)
    at kernel/qeventloop.cpp:198
#21 0x00002aefa399598b in QPopupMenu::exec (this=0x1825af0, 
    pos=@0x7fff0e12e4d0, indexAtPoint=0) at widgets/qpopupmenu.cpp:2424
#22 0x00002aef9cf98c68 in KMFolderTree::slotContextMenuRequested (
    this=0x12096b0, lvi=<value optimized out>, p=@0x7fff0e12e4d0)
    at kmfoldertree.cpp:1153
#23 0x00002aef9d05a7d3 in KMFolderTree::qt_invoke (this=0x12096b0, _id=140, 
    _o=0x7fff0e12e3f0) at kmfoldertree.moc:516
#24 0x00002aefa38a624c in QObject::activate_signal (this=0x12096b0, 
    clist=<value optimized out>, o=0x7fff0e12e3f0) at kernel/qobject.cpp:2356
#25 0x00002aefa3b95516 in QListView::contextMenuRequested (
    this=<value optimized out>, t0=<value optimized out>, t1=@0x7fff0e12e4d0, 
    t2=0) at .moc/release-shared-mt/moc_qlistview.cpp:515
#26 0x00002aefa397724c in QListView::contentsContextMenuEvent (this=0x12096b0, 
    e=<value optimized out>) at widgets/qlistview.cpp:4453
#27 0x00002aefa39a1bcd in QScrollView::viewportContextMenuEvent (
    this=0x12096b0, e=0x7fff0e12eb30) at widgets/qscrollview.cpp:1886
#28 0x00002aefa399ff98 in QScrollView::eventFilter (this=0x12096b0, 
    obj=0x120a630, e=0x7fff0e12eb30) at widgets/qscrollview.cpp:1543
#29 0x00002aefa39731cf in QListView::eventFilter (this=0x12096b0, o=0x120a630, 
    e=0x7fff0e12eb30) at widgets/qlistview.cpp:3867
#30 0x00002aef9ce14ea0 in KMFolderTree::eventFilter (this=0x12096b0, 
    o=0x120a630, e=0x7fff0e12eb30) at kmfoldertree.cpp:1768
#31 0x00002aefa38a5c62 in QObject::activate_filters (this=0x120a630, 
    e=0x7fff0e12eb30) at kernel/qobject.cpp:903
#32 0x00002aefa38a5cb7 in QObject::event (this=0x120a630, e=0x7fff0e12eb30)
    at kernel/qobject.cpp:735
#33 0x00002aefa38d7f58 in QWidget::event (this=0x2aef9d0f36cc, e=0xf294b0)
    at kernel/qwidget.cpp:4659
#34 0x00002aefa384fcb5 in QApplication::internalNotify (
    this=<value optimized out>, receiver=0x120a630, e=0x7fff0e12eb30)
    at kernel/qapplication.cpp:2635
#35 0x00002aefa3850d14 in QApplication::notify (this=0x7fff0e12f010, 
    receiver=0x120a630, e=0x7fff0e12eb30) at kernel/qapplication.cpp:2478
#36 0x00002aefa278018a in KApplication::notify (this=0x7fff0e12f010, 
    receiver=0x120a630, event=0x7fff0e12eb30) at kapplication.cpp:550
#37 0x00002aefa37f8f22 in QETWidget::translateMouseEvent (
    this=<value optimized out>, event=<value optimized out>)
    at kernel/qapplication.h:499
#38 0x00002aefa37f7dc1 in QApplication::x11ProcessEvent (this=0x7fff0e12f010, 
    event=0x7fff0e12ee50) at kernel/qapplication_x11.cpp:3562
#39 0x00002aefa3806b7f in QEventLoop::processEvents (this=0x6692b0, flags=4)
    at kernel/qeventloop_x11.cpp:192
#40 0x00002aefa3864402 in QEventLoop::enterLoop (this=0x2aef9d0f36cc)
    at kernel/qeventloop.cpp:198
#41 0x00002aefa38642b2 in QEventLoop::exec (this=0x2aef9d0f36cc)
    at kernel/qeventloop.cpp:145
#42 0x0000000000402ead in main (argc=<value optimized out>, 
    argv=<value optimized out>) at main.cpp:110
#43 0x00002aefa6eeab74 in __libc_start_main (main=0x402d70 <main>, argc=7, 
    ubp_av=0x7fff0e12f4f8, init=<value optimized out>, 
    fini=<value optimized out>, rtld_fini=<value optimized out>, 
    stack_end=0x7fff0e12f4e8) at libc-start.c:229
#44 0x0000000000402c39 in _start ()
Current language:  auto; currently c
Comment 1 Vlada Perić 2008-09-14 22:34:31 UTC
Version: KMail 1.10.1 (KDE 4.1.1)
Installed from: Arch Linux repository

Confirmed, sort of: 

1. Make folder, with a subfolder.
2. Rename folder by right-clicking and selecting Properties, making sure to use some non-ASCII character (I used čćšđ)
3. Exit Kmail normally
--> The KDE Crash Handler is invoked, though Kmail exited normally

This is what Konsole has to say (don't have the debugger, so no backtrace): 
QLayout: Attempting to add QLayout ""to KMail::FolderDialogTemplatesTab "", which already has a layout  [[is this an unrelated issue?]]
kmail(3812) FolderStorage::rename: Failed to rename the sorted file from "/home/vperic/.kde4/share/apps/kmail/mail/.inbox.directory/.čćšđ.index.sorted" to "/home/vperic/.kde4/share/apps/kmail/mail/.inbox.directory/.šđčć.index.sorted"
*** KMail got signal 11 (Crashing)
KCrash: Application 'kmail' crashing...
Comment 2 Björn Ruberg 2010-01-15 01:21:29 UTC
I experience no crash but nasty error messages, which indicates a coding problem with the new folder name. Something is converted to Latin1 what shouldn't
Comment 3 George Metaxas 2010-11-26 12:43:26 UTC
I think that this may have been fixed. I can't reproduce either of the suggest behaviours in KMail 1.13.5, KDE 4.5.3. May it should be marked Closed?
Comment 4 kavol 2010-11-28 10:52:52 UTC
I cannot confirm this fixed completely in KMail 1.13.5 (using KDE 4.4.5)

To test this, I tried a few steps that don't invoke DrKonqi, but still lead to KMail quitting unexpectedly:

1. Within local folders, create a folder "příliš"
2. Create new subfolder "žluťoučký"
3. Rename "příliš" to "kůň"
4. Try to move a message to "žluťoučký"

you get:

KMail encountered a fatal error and will terminate now.
The error was:
Message could not be added to the folder, possibly disk space is low.
Comment 5 George Metaxas 2010-11-28 12:15:58 UTC
OK, I can confirm it as well with the latest description provided by kavol, in KMail 1.13.5, KDE 4.5.3. 

However, I also tried it against the trunk version (r1201549), and it seems to have been fixed there.
Comment 6 kavol 2010-11-30 13:47:43 UTC
(In reply to comment #5)
> However, I also tried it against the trunk version (r1201549), and it seems to
> have been fixed there.

um, ping me when it gets released in Fedora or Gentoo, I'll find you a new way to break it then :-)

well ... I remember hearing about some OpenSUSE KDE preview images for qemu, but I can't find anything useful - new enough right now, could you point me to some binaries I can test? - I don't feel like pulling out of svn and compiling trunk myself ...
Comment 7 George Metaxas 2010-11-30 22:38:28 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > However, I also tried it against the trunk version (r1201549), and it seems to
> > have been fixed there.
> 
> um, ping me when it gets released in Fedora or Gentoo, I'll find you a new way
> to break it then :-)
> 
> well ... I remember hearing about some OpenSUSE KDE preview images for qemu,
> but I can't find anything useful - new enough right now, could you point me to
> some binaries I can test? - I don't feel like pulling out of svn and compiling
> trunk myself ...

You can quite easily install various up-to-date versions (like the latest beta, or even a live SVN version) in Gentoo, using the kde overlay. I remember that kde4live, was based on OpenSuse and used to be quite up-to-date. Don't know if it still exists, or if it has been updated to 4.6 beta1.
Comment 8 Dhaivat Pandya 2011-03-13 17:11:48 UTC
This bug seems to fixed in the current trunk, so, is it okay to close it or should we wait until the trunk becomes mainstream?
Comment 9 Jonathan Kolberg 2011-05-05 16:04:33 UTC
Doesn’t happen in KDEPIM 4.6 beta5
Comment 10 Christophe Marin 2011-05-05 16:27:56 UTC
Fixed in kdepim 4.6
Comment 11 Christophe Marin 2011-05-23 11:08:22 UTC
*** Bug 273946 has been marked as a duplicate of this bug. ***