Bug 300832 - KDE Help Center crashes when opening "Forward" button's menu
Summary: KDE Help Center crashes when opening "Forward" button's menu
Status: RESOLVED FIXED
Alias: None
Product: khelpcenter
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Documentation Editorial Team
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-29 21:26 UTC by euphonisten
Modified: 2012-08-05 20:25 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 4.9.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description euphonisten 2012-05-29 21:26:09 UTC
Application: khelpcenter (4.8.2 (4.8.2))
KDE Platform Version: 4.8.2 (4.8.2)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-24-generic i686
Distribution: Ubuntu 12.04 LTS

-- Information about the crash:
How to repeat:
1. Open the "Klipper Handbook" (from the Klipper menu)
2. Click any link in the document
3. Click "Back"
4. Try to open the "Forward" button's menu (press the arrow on the button)
5. Crash!

The crash can be reproduced every time.

-- Backtrace:
Application: KDE Help Center (khelpcenter), signal: Segmentation fault
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[KCrash Handler]
#7  0x001d8d31 in QString (other=..., this=0xbfb747e0) at /usr/include/qt4/QtCore/qstring.h:725
#8  KHC::History::fillHistoryPopup (this=0x8febe18, popup=0x8fed360, onlyBack=false, onlyForward=true, checkCurrentItem=false, startPos=0) at ../../khelpcenter/history.cpp:343
#9  0x001d8eff in KHC::History::fillForwardMenu (this=0x8febe18) at ../../khelpcenter/history.cpp:272
#10 0x0148e6b1 in QMetaObject::activate (sender=0x8fed360, m=0x3e6fb74, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3547
#11 0x039ab0f5 in QMenu::aboutToShow (this=0x8fed360) at .moc/release-shared/moc_qmenu.cpp:165
#12 0x039aede0 in QMenu::popup (this=0x8fed360, p=..., atAction=0x0) at widgets/qmenu.cpp:1832
#13 0x039afb4f in QMenu::exec (this=0x8fed360, p=..., action=0x0) at widgets/qmenu.cpp:2110
#14 0x039f8a01 in QToolButtonPrivate::popupTimerDone (this=0x9018a20) at widgets/qtoolbutton.cpp:952
#15 0x039f95bb in QToolButton::mousePressEvent (this=0x900dd50, e=0xbfb75204) at widgets/qtoolbutton.cpp:703
#16 0x0354b638 in QWidget::event (this=0x900dd50, event=0xbfb75204) at kernel/qwidget.cpp:8358
#17 0x0391d1e9 in QAbstractButton::event (this=0x900dd50, e=0xbfb75204) at widgets/qabstractbutton.cpp:1082
#18 0x039f7bcc in QToolButton::event (this=0x900dd50, event=0xbfb75204) at widgets/qtoolbutton.cpp:1160
#19 0x034f0ed4 in notify_helper (e=0xbfb75204, receiver=0x900dd50, this=0x8c92938) at kernel/qapplication.cpp:4559
#20 QApplicationPrivate::notify_helper (this=0x8c92938, receiver=0x900dd50, e=0xbfb75204) at kernel/qapplication.cpp:4531
#21 0x034f7024 in QApplication::notify (this=0x8c92938, receiver=0x900dd50, e=0xbfb75204) at kernel/qapplication.cpp:4102
#22 0x086e5b21 in KApplication::notify (this=0xbfb75a4c, receiver=0x900dd50, event=0xbfb75204) at ../../kdeui/kernel/kapplication.cpp:311
#23 0x0147797e in QCoreApplication::notifyInternal (this=0xbfb75a4c, receiver=0x900dd50, event=0xbfb75204) at kernel/qcoreapplication.cpp:876
#24 0x034f1e95 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#25 QApplicationPrivate::sendMouseEvent (receiver=0x900dd50, event=0xbfb75204, alienWidget=0x900dd50, nativeWidget=0x8d017e8, buttonDown=0x3e85cf4, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3170
#26 0x0357e074 in QETWidget::translateMouseEvent (this=0x8d017e8, event=0xbfb756bc) at kernel/qapplication_x11.cpp:4617
#27 0x0357cc0d in QApplication::x11ProcessEvent (this=0xbfb75a4c, event=0xbfb756bc) at kernel/qapplication_x11.cpp:3732
#28 0x035a9eac in x11EventSourceDispatch (s=0x8c9cdc0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#29 0x044f2cda in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#30 0x044f30e5 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#31 0x044f31c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#32 0x014aa887 in QEventDispatcherGlib::processEvents (this=0x8c65ef0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#33 0x035a9aaa in QGuiEventDispatcherGlib::processEvents (this=0x8c65ef0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#34 0x0147650d in QEventLoop::processEvents (this=0xbfb759b4, flags=...) at kernel/qeventloop.cpp:149
#35 0x014767a9 in QEventLoop::exec (this=0xbfb759b4, flags=...) at kernel/qeventloop.cpp:204
#36 0x0147beba in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#37 0x034eea74 in QApplication::exec () at kernel/qapplication.cpp:3820
#38 0x001da024 in kdemain (argc=2, argv=0xbfb75bc4) at ../../khelpcenter/application.cpp:87
#39 0x0804850b in main (argc=2, argv=0xbfb75bc4) at khelpcenter_dummy.cpp:3

Reported using DrKonqi
Comment 1 Christoph Feck 2012-05-30 00:40:12 UTC
Git commit 3392a2be8ebad4d0dec61246418264d8b989fbe6 by Christoph Feck.
Committed on 30/05/2012 at 02:37.
Pushed by cfeck into branch 'master'.

Do not iterate across list boundaries
FIXED-IN: 4.9.0

M  +15   -2    khelpcenter/history.cpp

http://commits.kde.org/kde-runtime/3392a2be8ebad4d0dec61246418264d8b989fbe6
Comment 2 euphonisten 2012-08-05 20:07:44 UTC
Fix verified in KDE 4.9.00 (on Kubuntu 12.10). Thank you!