Bug 190844 - crash in save file dialog (due to KRecentDocument)
Summary: crash in save file dialog (due to KRecentDocument)
Status: RESOLVED FIXED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
: 190744 190746 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-04-27 17:48 UTC by Matthias Heinz
Modified: 2009-06-01 06:00 UTC (History)
3 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 Matthias Heinz 2009-04-27 17:48:52 UTC
Version:            (using KDE 4.2.2)
OS:                Linux
Installed from:    Debian testing/unstable Packages

Hi,

I just noticed that okular crashes reproducable when I try to save a pdf file i just opened.

Backtrace:

Anwendung: Okular (okular), Signal SIGSEGV
0x00007f57cdf7b8d1 in nanosleep () from /lib/libc.so.6

Thread 1 (Thread 0x7f57d0aaf750 (LWP 5530)):
[KCrash Handler]
#5  0x00007f57cf2316fd in QString::append (this=0x7fffd8becbe0, str=@0x60dbd8) at tools/qstring.cpp:1303
#6  0x00007f57d04ebade in KRecentDocument::add (url=@0x7fffd8becf40, desktopEntryName=@0x7fffd8bece80) at /usr/include/qt4/QtCore/qstring.h:255
#7  0x00007f57d04ec13c in KRecentDocument::add (url=@0x7fffd8becf40) at ../../kio/kfile/krecentdocument.cpp:79
#8  0x00007f57d04b0268 in KFileDialog::getSaveUrl (dir=@0x7fffd8bed130, filter=@0x7fffd8bed3c0, parent=0xee6da0, caption=@0x7fffd8bed3b0) at ../../kio/kfile/kfiledialog.cpp:736
#9  0x00007f57c66de642 in ?? () from /usr/lib/kde4/okularpart.so
#10 0x00007f57c66ecf2d in ?? () from /usr/lib/kde4/okularpart.so
#11 0x00007f57cf2eb872 in QMetaObject::activate (sender=0x103f5f0, from_signal_index=<value optimized out>, to_signal_index=6, argv=0x146ffe0) at kernel/qobject.cpp:3120
#12 0x00007f57ce70d4e7 in QAction::triggered (this=0x2a, _t1=false) at .moc/release-shared/moc_qaction.cpp:236
#13 0x00007f57ce70e960 in QAction::activate (this=0x103f5f0, event=<value optimized out>) at kernel/qaction.cpp:1160
#14 0x00007f57ceb3ee0d in QMenuPrivate::activateCausedStack (this=0xf5f4e0, causedStack=@0x7fffd8bed710, action=0x103f5f0, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:967
#15 0x00007f57ceb44dfe in QMenuPrivate::activateAction (this=0xf5f4e0, action=0x103f5f0, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1060
#16 0x00007f57cffa3da1 in KMenu::mouseReleaseEvent (this=0x10eb300, e=0x7fffd8bee230) at ../../kdeui/widgets/kmenu.cpp:454
#17 0x00007f57ce76474f in QWidget::event (this=0x10eb300, event=0x7fffd8bee230) at kernel/qwidget.cpp:7521
#18 0x00007f57ceb4764b in QMenu::event (this=0x10eb300, e=0x7fffd8bee230) at widgets/qmenu.cpp:2353
#19 0x00007f57ce7134fd in QApplicationPrivate::notify_helper (this=0xe511d0, receiver=0x10eb300, e=0x7fffd8bee230) at kernel/qapplication.cpp:4057
#20 0x00007f57ce71beda in QApplication::notify (this=<value optimized out>, receiver=0x10eb300, e=0x7fffd8bee230) at kernel/qapplication.cpp:3759
#21 0x00007f57cfed355b in KApplication::notify (this=0x7fffd8beffb0, receiver=0x10eb300, event=0x7fffd8bee230) at ../../kdeui/kernel/kapplication.cpp:307
#22 0x00007f57cf2d5e5c in QCoreApplication::notifyInternal (this=0x7fffd8beffb0, receiver=0x10eb300, event=0x7fffd8bee230) at kernel/qcoreapplication.cpp:610
#23 0x00007f57ce71b128 in QApplicationPrivate::sendMouseEvent (receiver=0x10eb300, event=0x7fffd8bee230, alienWidget=0x0, nativeWidget=0x10eb300, buttonDown=<value optimized out>, 
    lastMouseReceiver=@0x7f57cf17dc30) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#24 0x00007f57ce7851c4 in QETWidget::translateMouseEvent (this=0x10eb300, event=<value optimized out>) at kernel/qapplication_x11.cpp:4382
#25 0x00007f57ce783d4d in QApplication::x11ProcessEvent (this=0x7fffd8beffb0, event=0x7fffd8befc00) at kernel/qapplication_x11.cpp:3566
#26 0x00007f57ce7ac4d4 in x11EventSourceDispatch (s=0xe54e60, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#27 0x00007f57cad38f7a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#28 0x00007f57cad3c640 in ?? () from /usr/lib/libglib-2.0.so.0
#29 0x00007f57cad3c7dc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#30 0x00007f57cf2ff4cf in QEventDispatcherGlib::processEvents (this=0xe3d830, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:324
#31 0x00007f57ce7abc7f in QGuiEventDispatcherGlib::processEvents (this=0x2a, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#32 0x00007f57cf2d4702 in QEventLoop::processEvents (this=<value optimized out>, flags={i = -658571536}) at kernel/qeventloop.cpp:149
#33 0x00007f57cf2d4acd in QEventLoop::exec (this=0x7fffd8beff30, flags={i = -658571456}) at kernel/qeventloop.cpp:200
#34 0x00007f57cf2d6d94 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#35 0x0000000000407d24 in _start ()
Comment 1 Dario Andres 2009-04-28 00:18:55 UTC
What is your Qt version ? 
Thanks
Comment 2 Dario Andres 2009-04-28 00:19:23 UTC
BTW: Bug 190746 seems to be also related to this crash
Comment 3 Dario Andres 2009-04-28 00:23:15 UTC
*** Bug 190746 has been marked as a duplicate of this bug. ***
Comment 4 David Faure 2009-04-28 00:57:42 UTC
I suspect a border condition in the while loop at krecentdocument.cpp:128 - for instance due to maxEntries = 0.

What is the output of
grep -r MaxEntries `kde4-config --path config | sed -e 's/:/ /g'`

And what is the contents of the directory returned by
kde4-config --path data --locate RecentDocuments/
?
Comment 5 Dario Andres 2009-04-28 01:08:51 UTC
*** Bug 190744 has been marked as a duplicate of this bug. ***
Comment 6 Matthias Heinz 2009-04-28 18:48:35 UTC
Qt version: 5.1


grep -r MaxEntries `kde4-config --path config | sed -e 's/:/ /g'`
/home/xts/.kde/share/config/kickerrc:MaxEntries2=30
/home/xts/.kde/share/config/kdeglobals:MaxEntries=0

What does MaxEntries do/stand for?
Comment 7 Jonas Vejlin 2009-04-28 19:52:22 UTC
Is it all pdf files that happens with or just a spific? If it is a spific?  can you attach it?
Comment 8 Matthias Heinz 2009-04-28 20:15:17 UTC
It's not just pdfs, it happens with images, too.
Comment 9 Dario Andres 2009-04-28 20:19:59 UTC
I guess this crashes are caused by that MaxEntries config entry. Let's wait for David answer.
Comment 10 Matthias Heinz 2009-04-28 20:22:08 UTC
David: I think you're right. I just edited my kdeglobals config file and changed MaxEntries to 1. No more crashing.

Since I haven't edited my kdeglobals config file before this must have happend when my config files were created the first time kde4 ran.
Comment 11 Christoph Feck 2009-06-01 05:57:50 UTC
SVN commit 976157 by cfeck:

Do not access empty list (when maxEntries == 0)

BUG: 190844


 M  +1 -1      krecentdocument.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=976157
Comment 12 Christoph Feck 2009-06-01 06:00:25 UTC
SVN commit 976158 by cfeck:

Do not access empty list (when maxEntries == 0) (backport r976157)

CCBUG: 190844


 M  +1 -1      krecentdocument.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=976158