Bug 171500 - Crash: Loading previous manually stored session crashes with SIGABRT
Summary: Crash: Loading previous manually stored session crashes with SIGABRT
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-09-23 11:58 UTC by gmud
Modified: 2009-06-20 20:09 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
incomplete session file results in crash with above bt (463 bytes, text/plain)
2008-09-23 12:33 UTC, gmud
Details

Note You need to log in before you can comment on or make changes to this bug.
Description gmud 2008-09-23 11:58:02 UTC
Version:           4.1.1 (KDE 4.1.1) (using 4.1.1 (KDE 4.1.1), Kubuntu packages)
Compiler:          gcc
OS:                Linux (i686) release 2.6.24-19-rt

Steps to reproduce:

1. Open some tabs in konqueror
2. Save the session
3. Close konqueror
4. Open konqueror
5. Load previous stored session (File->Sessions)

Konqueror crashes with following bt.

Bt:
Anwendung: Konqueror (konqueror), Signal SIGABRT
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb60f3940 (LWP 25265)]
[KCrash handler]
#6  0xb7fdf410 in __kernel_vsyscall ()
#7  0xb7dbb085 in raise () from /lib/tls/i686/cmov/libc.so.6
#8  0xb7dbca01 in abort () from /lib/tls/i686/cmov/libc.so.6
#9  0xb740b367 in qt_message_output (msgType=QtFatalMsg, 
    buf=0xbf804dfc "ASSERT: \"w\" in file /build/buildd/kdebase-kde4-4.1.1/apps/konqueror/src/konqviewmanager.cpp, line 1258") at global/qglobal.cpp:2061
#10 0xb740b458 in qFatal (msg=0xb7552498 "ASSERT: \"%s\" in file %s, line %d")
    at global/qglobal.cpp:2263
#11 0xb740b505 in qt_assert (assertion=0xb7fcc473 "w", 
    file=0xb7fc8cb4 "/build/buildd/kdebase-kde4-4.1.1/apps/konqueror/src/konqviewmanager.cpp", line=1258) at global/qglobal.cpp:1831
#12 0xb7f51c75 in KonqViewManager::loadItem ()
   from /usr/lib/kde4/lib/libkdeinit4_konqueror.so
#13 0xb7f52907 in KonqViewManager::loadRootItem ()
   from /usr/lib/kde4/lib/libkdeinit4_konqueror.so
#14 0xb7f54d7f in KonqViewManager::openSavedWindow ()
   from /usr/lib/kde4/lib/libkdeinit4_konqueror.so
#15 0xb7fb3393 in ?? () from /usr/lib/kde4/lib/libkdeinit4_konqueror.so
#16 0xb7fb34b3 in ?? () from /usr/lib/kde4/lib/libkdeinit4_konqueror.so
#17 0xb7f8a14a in KonqMainWindow::slotSessionActivated ()
   from /usr/lib/kde4/lib/libkdeinit4_konqueror.so
#18 0xb7f9acbd in KonqMainWindow::qt_metacall ()
   from /usr/lib/kde4/lib/libkdeinit4_konqueror.so
#19 0xb7513f79 in QMetaObject::activate (sender=0x842b1f8, 
    from_signal_index=4, to_signal_index=4, argv=0xbf80739c)
    at kernel/qobject.cpp:3016
#20 0xb7514642 in QMetaObject::activate (sender=0x842b1f8, m=0xb71bb5e4, 
    local_signal_index=0, argv=0xbf80739c) at kernel/qobject.cpp:3086
#21 0xb69dfec3 in QActionGroup::triggered (this=0x842b1f8, _t1=0x879ed78)
    at .moc/release-shared/moc_qactiongroup.cpp:138
#22 0xb69e0358 in QActionGroupPrivate::_q_actionTriggered (this=0x842b208)
    at kernel/qactiongroup.cpp:89
#23 0xb69e0910 in QActionGroup::qt_metacall (this=0x842b1f8, 
    _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbf8074dc)
    at .moc/release-shared/moc_qactiongroup.cpp:94
#24 0xb7513f79 in QMetaObject::activate (sender=0x879ed78, 
    from_signal_index=5, to_signal_index=6, argv=0xbf8074dc)
    at kernel/qobject.cpp:3016
#25 0xb75143b0 in QMetaObject::activate (sender=0x879ed78, m=0xb71bb558, 
    from_local_signal_index=1, to_local_signal_index=2, argv=0xbf8074dc)
    at kernel/qobject.cpp:3106
#26 0xb69db151 in QAction::triggered (this=0x879ed78, _t1=false)
    at .moc/release-shared/moc_qaction.cpp:216
#27 0xb69dbb2f in QAction::activate (this=0x879ed78, event=QAction::Trigger)
    at kernel/qaction.cpp:1119
#28 0xb6dbd4c1 in QMenuPrivate::activateAction (this=0x842ac50, 
    action=0x879ed78, action_e=QAction::Trigger, self=true)
    at widgets/qmenu.cpp:1005
#29 0xb6dbfd24 in QMenu::mouseReleaseEvent (this=0x842a8f8, e=0xbf807c2c)
    at widgets/qmenu.cpp:2169
#30 0xb7a38149 in KMenu::mouseReleaseEvent (this=0x842a8f8, e=0xbf807c2c)
    at /build/buildd/kde4libs-4.1.1+really4.1.1/kdeui/widgets/kmenu.cpp:452
#31 0xb6a39d44 in QWidget::event (this=0x842a8f8, event=0xbf807c2c)
    at kernel/qwidget.cpp:7021
#32 0xb6dbae45 in QMenu::event (this=0x842a8f8, e=0xbf807c2c)
    at widgets/qmenu.cpp:2265
#33 0xb69e1f9c in QApplicationPrivate::notify_helper (this=0x805ccd8, 
    receiver=0x842a8f8, e=0xbf807c2c) at kernel/qapplication.cpp:3800
#34 0xb69e7125 in QApplication::notify (this=0xbf8085cc, receiver=0x842a8f8, 
    e=0xbf807c2c) at kernel/qapplication.cpp:3527
#35 0xb797d1c3 in KApplication::notify (this=0xbf8085cc, receiver=0x842a8f8, 
    event=0xbf807c2c)
    at /build/buildd/kde4libs-4.1.1+really4.1.1/kdeui/kernel/kapplication.cpp:311
#36 0xb74ff0b9 in QCoreApplication::notifyInternal (this=0xbf8085cc, 
    receiver=0x842a8f8, event=0xbf807c2c) at kernel/qcoreapplication.cpp:591
#37 0xb69e4661 in QApplicationPrivate::sendMouseEvent (receiver=0x842a8f8, 
    event=0xbf807c2c, alienWidget=0x0, nativeWidget=0x842a8f8, 
    buttonDown=0xb71d7a10, lastMouseReceiver=@0xb71d7a14)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#38 0xb6a4e76c in QETWidget::translateMouseEvent (this=0x842a8f8, 
    event=0xbf808148) at kernel/qapplication_x11.cpp:3982
#39 0xb6a4cee1 in QApplication::x11ProcessEvent (this=0xbf8085cc, 
    event=0xbf808148) at kernel/qapplication_x11.cpp:3166
#40 0xb6a75c2a in x11EventSourceDispatch (s=0x8060040, callback=0, 
    user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#41 0xb6463dd6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#42 0xb6467193 in ?? () from /usr/lib/libglib-2.0.so.0
#43 0xb646774e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#44 0xb752a9f8 in QEventDispatcherGlib::processEvents (this=0x805cd90, 
    flags=@0xbf8082e8) at kernel/qeventdispatcher_glib.cpp:325
#45 0xb6a75a25 in QGuiEventDispatcherGlib::processEvents (this=0x805cd90, 
    flags=@0xbf808318) at kernel/qguieventdispatcher_glib.cpp:204
#46 0xb74fe33d in QEventLoop::processEvents (this=0xbf808390, 
    flags=@0xbf808354) at kernel/qeventloop.cpp:149
#47 0xb74fe4cd in QEventLoop::exec (this=0xbf808390, flags=@0xbf808398)
    at kernel/qeventloop.cpp:200
#48 0xb750074d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:849
#49 0xb69e1897 in QApplication::exec () at kernel/qapplication.cpp:3330
#50 0xb7fc582d in kdemain () from /usr/lib/kde4/lib/libkdeinit4_konqueror.so
#51 0x08048582 in _start ()
#0  0xb7fdf410 in __kernel_vsyscall ()
Comment 1 Eduardo Robles Elvira 2008-09-23 12:05:28 UTC
I use saved sessions all the time and they work for me, perhaps it's a special webpage or saved configuration that is failing to you? You could perhaps attach the session if you don't mind so that we can try to reproduce.

The session is a directory at $KDEHOME/share/apps/konqueror/sessions/<session name> (which is usually set to ~/.kde4).
Comment 2 gmud 2008-09-23 12:33:29 UTC
Created attachment 27526 [details]
incomplete session file results in crash with above bt

Ok, so I looked into this directory and there are two files. One has all the session information and one is somehow not complete. If I delete the incomplete one, session restore works perfectly. I'll attach the incomplete one. It has Tabs0_activeChildIndex=-1 set, maybe this is the problem?
Comment 3 Eduardo Robles Elvira 2008-09-23 14:24:07 UTC
Each file inside your session directory represents a different konqueror process. I wonder how a konqueror process ended up writting a config file like the one you attached uhm. Perhaps you know how to reproduce that? 
Comment 4 gmud 2008-09-23 14:29:02 UTC
I have crashes of konqueror a couple of times daily. Maybe I saved the session and then closed konqueror and it crashed? I can't remember... I will try to reproduce. However, konqueror should not crash when having to read an incomplete or broken session file.
Comment 5 Eduardo Robles Elvira 2009-06-20 20:09:05 UTC
SVN commit 984427 by edulix:

Don't crash if can't et current index, just give a warning instead
CCMAIL:faure@kde.org
BUG:171500



 M  +8 -4      konqviewmanager.cpp  


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