[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#745124: konqueror: Race condition in keyboard navigation while loading next page



Package: konqueror
Version: 4:4.11.5-2
Severity: normal
Forwarded: https://bugs.kde.org/show_bug.cgi?id=333432

Application: konqueror (4.11.5)
KDE Platform Version: 4.11.5
Qt Version: 4.8.6
Operating System: Linux 3.13-1-amd64 x86_64
Distribution: Debian GNU/Linux unstable (sid)

-- Information about the crash:
- What I was doing when the application crashed:

Pressing the Ctrl key shows keyboard shortcuts for all links on the page. In a dynamic menu, hovering over the top level menu items reveals a submenu with more links (e.g. https://www.teckids.org), and clicking the link leads to a submenu page. Now doing the following leads to a situation where invalid links are referenced:

1. Press Ctrl to activate keyboard navigation
2. Press the key for a toplevel menu item that has a submenu
3. After the submenu opens and before the next page loads, press Ctrl again
4. Wait for the next page to load

The keyboard shortcuts for the submenu items will remain active, pressing one of the keys denoted by them will reference an invisible link (the submenu is not active on the newly loaded page) and crash Konqueror.

-- Backtrace:
Application: Konqueror (konqueror), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fd593145780 (LWP 3430))]

Thread 3 (Thread 0x7fd57711f700 (LWP 3899)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fd56f5cb7d2 in WTF::TCMalloc_PageHeap::scavengerThread (this=<optimized out>) at wtf/FastMalloc.cpp:2499
#2  0x00007fd56f5cb809 in WTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at wtf/FastMalloc.cpp:1622
#3  0x00007fd58bd5e062 in start_thread (arg=0x7fd57711f700) at pthread_create.c:312
#4  0x00007fd5929a5a3d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7fd56df58700 (LWP 3900)):
#0  0x00007fd592998f3d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fd58b8bec20 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd58b87db14 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd58b87df7b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fd58b87e0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fd58f5b4746 in QEventDispatcherGlib::processEvents (this=0x7fd5700031e0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#6  0x00007fd58f5860bf in QEventLoop::processEvents (this=this@entry=0x7fd56df57e60, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fd58f5863b5 in QEventLoop::exec (this=this@entry=0x7fd56df57e60, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fd58f482c5f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:537
#9  0x00007fd58f48532f in QThreadPrivate::start (arg=0x4313a50) at thread/qthread_unix.cpp:349
#10 0x00007fd58bd5e062 in start_thread (arg=0x7fd56df58700) at pthread_create.c:312
#11 0x00007fd5929a5a3d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7fd593145780 (LWP 3430)):
[KCrash Handler]
#6  QWebFrame::scrollPosition (this=this@entry=0x0) at Api/qwebframe.cpp:1179
#7  0x00007fd576301af8 in WebView::checkForAccessKey (this=this@entry=0x272b040, event=event@entry=0x7fff182a3cf0) at ../../src/webview.cpp:849
#8  0x00007fd576301e2b in WebView::keyPressEvent (this=0x272b040, e=0x7fff182a3cf0) at ../../src/webview.cpp:266
#9  0x00007fd58ffdcb64 in QWidget::event (this=this@entry=0x272b040, event=event@entry=0x7fff182a3cf0) at kernel/qwidget.cpp:8422
#10 0x00007fd56ed6b358 in QWebView::event (this=0x272b040, e=0x7fff182a3cf0) at Api/qwebview.cpp:865
#11 0x00007fd58ff8d6cc in QApplicationPrivate::notify_helper (this=this@entry=0x21e49a0, receiver=receiver@entry=0x272b040, e=e@entry=0x7fff182a3cf0) at kernel/qapplication.cpp:4567
#12 0x00007fd58ff94f91 in QApplication::notify (this=this@entry=0x7fff182a4820, receiver=receiver@entry=0x272b040, e=e@entry=0x7fff182a3cf0) at kernel/qapplication.cpp:4008
#13 0x00007fd590caf48a in KApplication::notify (this=0x7fff182a4820, receiver=0x272b040, event=0x7fff182a3cf0) at ../../kdeui/kernel/kapplication.cpp:311
#14 0x00007fd58f5874ed in QCoreApplication::notifyInternal (this=0x7fff182a4820, receiver=receiver@entry=0x272b040, event=event@entry=0x7fff182a3cf0) at kernel/qcoreapplication.cpp:953
#15 0x00007fd58ff8c066 in sendSpontaneousEvent (event=event@entry=0x7fff182a3cf0, receiver=receiver@entry=0x272b040) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#16 qt_sendSpontaneousEvent (receiver=receiver@entry=0x272b040, event=event@entry=0x7fff182a3cf0) at kernel/qapplication.cpp:5565
#17 0x00007fd590028bb7 in QKeyMapper::sendKeyEvent (keyWidget=keyWidget@entry=0x272b040, grab=grab@entry=false, type=QEvent::KeyPress, code=70, modifiers=..., text=..., autorepeat=autorepeat@entry=false, count=1, nativeScanCode=41, nativeVirtualKey=102, nativeModifiers=0) at kernel/qkeymapper_x11.cpp:1866
#18 0x00007fd590028f59 in QKeyMapperPrivate::translateKeyEvent (this=0x22311e0, keyWidget=keyWidget@entry=0x272b040, event=event@entry=0x7fff182a4270, grab=grab@entry=false) at kernel/qkeymapper_x11.cpp:1836
#19 0x00007fd5900040bf in QApplication::x11ProcessEvent (this=0x7fff182a4820, event=event@entry=0x7fff182a4270) at kernel/qapplication_x11.cpp:3556
#20 0x00007fd59002b6c2 in x11EventSourceDispatch (s=0x21de890, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#21 0x00007fd58b87de04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007fd58b87e048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007fd58b87e0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007fd58f5b4725 in QEventDispatcherGlib::processEvents (this=0x21a3af0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#25 0x00007fd59002b776 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#26 0x00007fd58f5860bf in QEventLoop::processEvents (this=this@entry=0x7fff182a4640, flags=...) at kernel/qeventloop.cpp:149
#27 0x00007fd58f5863b5 in QEventLoop::exec (this=this@entry=0x7fff182a4640, flags=...) at kernel/qeventloop.cpp:204
#28 0x00007fd58f58bb89 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#29 0x00007fd58ff8be8c in QApplication::exec () at kernel/qapplication.cpp:3828
#30 0x00007fd592d2d4ae in kdemain (argc=<optimized out>, argv=<optimized out>) at ../../../konqueror/src/konqmain.cpp:227
#31 0x00007fd5928e1b45 in __libc_start_main (main=0x4006d0 <main(int, char**)>, argc=2, argv=0x7fff182a49c8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff182a49b8) at libc-start.c:287
#32 0x00000000004006fe in _start ()


-- System Information:
Debian Release: jessie/sid
  APT prefers oldstable
  APT policy: (500, 'oldstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.13-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages konqueror depends on:
ii  install-info            5.2.0.dfsg.1-2
ii  kde-baseapps-bin        4:4.11.5-2
ii  kde-baseapps-data       4:4.11.5-2
ii  kde-runtime             4:4.11.5-1
ii  libc6                   2.18-4
ii  libkactivities6         4:4.11.5-1
ii  libkcmutils4            4:4.11.5-3
ii  libkde3support4         4:4.11.5-3
ii  libkdecore5             4:4.11.5-3
ii  libkdesu5               4:4.11.5-3
ii  libkdeui5               4:4.11.5-3
ii  libkfile4               4:4.11.5-3
ii  libkhtml5               4:4.11.5-3
ii  libkio5                 4:4.11.5-3
ii  libkonq5abi1            4:4.11.5-2
ii  libkonqsidebarplugin4a  4:4.11.5-2
ii  libkparts4              4:4.11.5-3
ii  libqt4-dbus             4:4.8.5+git242-g0315971+dfsg-2
ii  libqt4-qt3support       4:4.8.5+git242-g0315971+dfsg-2
ii  libqt4-xml              4:4.8.5+git242-g0315971+dfsg-2
ii  libqtcore4              4:4.8.5+git242-g0315971+dfsg-2
ii  libqtgui4               4:4.8.5+git242-g0315971+dfsg-2
ii  libstdc++6              4.9-20140411-2
ii  libx11-6                2:1.6.2-1

Versions of packages konqueror recommends:
ii  dolphin              4:4.11.5-2
ii  kfind                4:4.11.5-2
ii  konqueror-nsplugins  4:4.11.5-2
ii  kpart-webkit         1.3.2-2

Versions of packages konqueror suggests:
ii  konq-plugins  4:4.11.5-2

-- no debconf information


Reply to: