Bug 325010

Summary: Firefox hang and kded crash with auto-hiding top menu
Product: [Frameworks and Libraries] kded-appmenu Reporter: Matteo Italia <kde>
Component: top menubarAssignee: Cédric Bellegarde <web>
Status: RESOLVED UNMAINTAINED    
Severity: crash CC: kamikazow
Priority: NOR Keywords: drkonqi
Version First Reported In: 4.10.5   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Matteo Italia 2013-09-17 16:58:00 UTC
Application: kded4 (4.10.5)
KDE Platform Version: 4.10.5
Qt Version: 4.8.4
Operating System: Linux 3.8.0-30-generic x86_64
Distribution: Ubuntu 13.04

-- Information about the crash:
- What I was doing when the application crashed:
I was trying to open some Firefox menu after cleaning the Firefox cache & co.

- Unusual behavior I noticed:
The Firefox menu often takes some tries to open when using the "menus on top" feature of KDE; this particular time, even if before I managed to open the menu, after cleaning the cache and browsing history first Firefox hang, then kded crashed. I think that cleaning the browsing history *may* have something to do with this, since it changes the whole content of a menu (and I often noticed some hiccups with the interaction KDE-top-menu and Firefox history menu).

- Custom settings of the application:
Firefox is currently configured to use "classic" menus (no "big button on the top left"), and KDE is configured to show the menu of the current window on the top of the screen.

-- Backtrace:
Application: Demone KDE (kdeinit4), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f3a540b87c0 (LWP 1791))]

Thread 5 (Thread 0x7f3a3415b700 (LWP 1940)):
#0  __GI___pthread_mutex_unlock (mutex=0x7f3a2c000a60) at pthread_mutex_unlock.c:297
#1  0x00007f3a4eaba5f1 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3a4ea7b0f1 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3a4ea7b304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f3a52d65036 in QEventDispatcherGlib::processEvents (this=0x7f3a2c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f3a52d3538f in QEventLoop::processEvents (this=this@entry=0x7f3a3415ad90, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f3a52d35618 in QEventLoop::exec (this=this@entry=0x7f3a3415ad90, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f3a52c37410 in QThread::exec (this=this@entry=0x17baeb0) at thread/qthread.cpp:542
#8  0x00007f3a52d16edf in QInotifyFileSystemWatcherEngine::run (this=0x17baeb0) at io/qfilesystemwatcher_inotify.cpp:256
#9  0x00007f3a52c39bec in QThreadPrivate::start (arg=0x17baeb0) at thread/qthread_unix.cpp:338
#10 0x00007f3a4f14ff8e in start_thread (arg=0x7f3a3415b700) at pthread_create.c:311
#11 0x00007f3a5193fe1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7f3a1aa42700 (LWP 1959)):
#0  0x00007f3a519333cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f3a4ea7b1dc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3a4ea7b304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3a52d65036 in QEventDispatcherGlib::processEvents (this=0x7f3a100008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f3a52d3538f in QEventLoop::processEvents (this=this@entry=0x7f3a1aa41d80, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f3a52d35618 in QEventLoop::exec (this=this@entry=0x7f3a1aa41d80, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f3a52c37410 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#7  0x00007f3a365516e5 in KCupsConnection::run() () from /usr/lib/libkcupslib.so
#8  0x00007f3a52c39bec in QThreadPrivate::start (arg=0x17ab570) at thread/qthread_unix.cpp:338
#9  0x00007f3a4f14ff8e in start_thread (arg=0x7f3a1aa42700) at pthread_create.c:311
#10 0x00007f3a5193fe1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f3a1a241700 (LWP 1960)):
#0  0x00007f3a4ea7ac74 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f3a4ea7b175 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3a4ea7b304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3a52d65036 in QEventDispatcherGlib::processEvents (this=0x7f3a080008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f3a52d3538f in QEventLoop::processEvents (this=this@entry=0x7f3a1a240dc0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f3a52d35618 in QEventLoop::exec (this=this@entry=0x7f3a1a240dc0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f3a52c37410 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#7  0x00007f3a52c39bec in QThreadPrivate::start (arg=0x16dcca0) at thread/qthread_unix.cpp:338
#8  0x00007f3a4f14ff8e in start_thread (arg=0x7f3a1a241700) at pthread_create.c:311
#9  0x00007f3a5193fe1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f3a0cc24700 (LWP 2085)):
#0  0x00007f3a519333cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f3a4ea7b1dc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3a4ea7b304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3a52d65036 in QEventDispatcherGlib::processEvents (this=0x7f39fc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f3a52d3538f in QEventLoop::processEvents (this=this@entry=0x7f3a0cc23d90, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f3a52d35618 in QEventLoop::exec (this=this@entry=0x7f3a0cc23d90, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f3a52c37410 in QThread::exec (this=this@entry=0x1761f00) at thread/qthread.cpp:542
#7  0x00007f3a52d16edf in QInotifyFileSystemWatcherEngine::run (this=0x1761f00) at io/qfilesystemwatcher_inotify.cpp:256
#8  0x00007f3a52c39bec in QThreadPrivate::start (arg=0x1761f00) at thread/qthread_unix.cpp:338
#9  0x00007f3a4f14ff8e in start_thread (arg=0x7f3a0cc24700) at pthread_create.c:311
#10 0x00007f3a5193fe1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f3a540b87c0 (LWP 1791)):
[KCrash Handler]
#6  QGraphicsProxyWidget::widget (this=0x1e1c610) at graphicsview/qgraphicsproxywidget.cpp:738
#7  0x00007f3a48062695 in Plasma::ToolButton::nativeWidget (this=<optimized out>) at ../../plasma/widgets/toolbutton.cpp:303
#8  0x00007f3a480626c8 in Plasma::ToolButton::setDown (this=<optimized out>, down=<optimized out>) at ../../plasma/widgets/toolbutton.cpp:283
#9  0x00007f3a0d2d5084 in ?? () from /usr/lib/kde4/kded_appmenu.so
#10 0x00007f3a52d4b0ef in QMetaObject::activate (sender=sender@entry=0x1df9290, m=m@entry=0x7f3a52b8dc80 <QMenu::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#11 0x00007f3a52515683 in QMenu::aboutToHide (this=this@entry=0x1df9290) at .moc/release-shared/moc_qmenu.cpp:171
#12 0x00007f3a5251b212 in QMenu::hideEvent (this=0x1df9290) at widgets/qmenu.cpp:2195
#13 0x00007f3a52129c87 in QWidget::event (this=this@entry=0x1df9290, event=event@entry=0x7fffccc170e0) at kernel/qwidget.cpp:8597
#14 0x00007f3a5251c3db in QMenu::event (this=0x1df9290, e=0x7fffccc170e0) at widgets/qmenu.cpp:2481
#15 0x00007f3a520dc8ec in QApplicationPrivate::notify_helper (this=this@entry=0x1519120, receiver=receiver@entry=0x1df9290, e=e@entry=0x7fffccc170e0) at kernel/qapplication.cpp:4567
#16 0x00007f3a520df25b in QApplication::notify (this=this@entry=0x7fffccc17ec0, receiver=receiver@entry=0x1df9290, e=e@entry=0x7fffccc170e0) at kernel/qapplication.cpp:4428
#17 0x00007f3a53ab91a6 in KApplication::notify (this=0x7fffccc17ec0, receiver=0x1df9290, event=0x7fffccc170e0) at ../../kdeui/kernel/kapplication.cpp:311
#18 0x00007f3a52d3663e in QCoreApplication::notifyInternal (this=0x7fffccc17ec0, receiver=receiver@entry=0x1df9290, event=event@entry=0x7fffccc170e0) at kernel/qcoreapplication.cpp:946
#19 0x00007f3a5212acdb in sendEvent (event=0x7fffccc170e0, receiver=0x1df9290) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#20 QWidgetPrivate::hide_helper (this=this@entry=0x1e7cf10) at kernel/qwidget.cpp:7641
#21 0x00007f3a5212d488 in QWidget::setVisible (this=0x1df9290, visible=<optimized out>) at kernel/qwidget.cpp:7814
#22 0x00007f3a52128e7b in hide (this=0x1df9290) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:498
#23 QWidgetPrivate::close_helper (this=0x1e7cf10, mode=mode@entry=QWidgetPrivate::CloseWithEvent) at kernel/qwidget.cpp:7949
#24 0x00007f3a52128fde in QWidget::close (this=<optimized out>) at kernel/qwidget.cpp:8010
#25 0x00007f3a5212cf1f in QWidgetPrivate::show_helper (this=this@entry=0x1cdfbf0) at kernel/qwidget.cpp:7521
#26 0x00007f3a5212d2a2 in QWidget::setVisible (this=0x1cedd50, visible=<optimized out>) at kernel/qwidget.cpp:7777
#27 0x00007f3a526bd47c in show (this=0x1cedd50) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:494
#28 QGraphicsProxyWidgetPrivate::setWidget_helper (this=0x1bbbc90, newWidget=newWidget@entry=0x1cedd50, autoShow=autoShow@entry=true) at graphicsview/qgraphicsproxywidget.cpp:683
#29 0x00007f3a526bd7ce in QGraphicsProxyWidget::setWidget (this=this@entry=0x1d6b7e0, widget=widget@entry=0x1cedd50) at graphicsview/qgraphicsproxywidget.cpp:593
#30 0x00007f3a480623df in Plasma::ToolButton::ToolButton (this=0x1d6b7e0, parent=<optimized out>) at ../../plasma/widgets/toolbutton.cpp:169
#31 0x00007f3a0d2d4a3e in ?? () from /usr/lib/kde4/kded_appmenu.so
#32 0x00007f3a0d2d4fcc in ?? () from /usr/lib/kde4/kded_appmenu.so
#33 0x00007f3a0d2d5515 in ?? () from /usr/lib/kde4/kded_appmenu.so
#34 0x00007f3a0d2d571a in ?? () from /usr/lib/kde4/kded_appmenu.so
#35 0x00007f3a0d2cc66b in ?? () from /usr/lib/kde4/kded_appmenu.so
#36 0x00007f3a0d2ccd7c in ?? () from /usr/lib/kde4/kded_appmenu.so
#37 0x00007f3a52d4b0ef in QMetaObject::activate (sender=sender@entry=0x181c0e0, m=m@entry=0x7f3a53ec8220 <KWindowSystem::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7fffccc17740) at kernel/qobject.cpp:3539
#38 0x00007f3a53bdc112 in KWindowSystem::activeWindowChanged (this=this@entry=0x181c0e0, _t1=83886106) at ./kwindowsystem.moc:157
#39 0x00007f3a53bdef9a in KWindowSystemPrivate::x11Event (this=0x1960540, ev=0x7fffccc17870) at ../../kdeui/windowmanagement/kwindowsystem_x11.cpp:197
#40 0x00007f3a53ade02d in publicX11Event (e=0x7fffccc17870, this=<optimized out>) at ../../kdeui/kernel/ksystemeventfilter.cpp:43
#41 KSystemEventFilterPrivate::filterEvent (this=0x16f61b0, message=0x7fffccc17870) at ../../kdeui/kernel/ksystemeventfilter.cpp:102
#42 0x00007f3a52d2911e in QAbstractEventDispatcher::filterEvent (this=0x1e1c610, message=0x0, message@entry=0x7fffccc17870) at kernel/qabstracteventdispatcher.cpp:539
#43 0x00007f3a52182028 in x11EventSourceDispatch (s=0x151a730, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:143
#44 0x00007f3a4ea7af05 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007f3a4ea7b248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007f3a4ea7b304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007f3a52d65016 in QEventDispatcherGlib::processEvents (this=0x1478670, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#48 0x00007f3a521821ae in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#49 0x00007f3a52d3538f in QEventLoop::processEvents (this=this@entry=0x7fffccc17c40, flags=...) at kernel/qeventloop.cpp:149
#50 0x00007f3a52d35618 in QEventLoop::exec (this=this@entry=0x7fffccc17c40, flags=...) at kernel/qeventloop.cpp:204
#51 0x00007f3a52d3acf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#52 0x00007f3a520daffc in QApplication::exec () at kernel/qapplication.cpp:3828
#53 0x00007f3a3ea54050 in kdemain (argc=1, argv=0x14f69a0) at ../../kded/kded.cpp:925
#54 0x00000000004084ea in launch (argc=argc@entry=1, _name=_name@entry=0x40b167 "kded4", args=args@entry=0x0, cwd=cwd@entry=0x0, envc=envc@entry=0, envs=<optimized out>, envs@entry=0x0, reset_env=reset_env@entry=false, tty=tty@entry=0x0, avoid_loops=avoid_loops@entry=false, startup_id_str=startup_id_str@entry=0x40aff6 "0") at ../../kinit/kinit.cpp:738
#55 0x0000000000405b69 in main (argc=4, argv=<optimized out>, envp=0x7fffccc188c0) at ../../kinit/kinit.cpp:1853

Reported using DrKonqi
Comment 1 Matteo Italia 2013-09-17 17:15:29 UTC
Correction: after disabling the KDE top-screen menu, I noticed that Firefox is actually configured to use the "all-in-one Firefox menu button", although the KDE top-screen menus were like the "classic" Firefox menu.
Comment 2 markuss 2017-02-05 12:36:32 UTC
This is for the old Plasma 4 implementation. Plasma 5.9 has a new implementation of the menu bar.