Bug 392425 - Konsole crash while scrolling inside man page.
Summary: Konsole crash while scrolling inside man page.
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Mariusz Glebocki
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2018-03-27 19:46 UTC by Tony
Modified: 2018-03-28 03:01 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Scroll Down on the window to trigger. (262.97 KB, video/mp4)
2018-03-27 19:54 UTC, Tony
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tony 2018-03-27 19:46:41 UTC
Application: konsole (18.07.70)

Qt Version: 5.10.1
Frameworks Version: 5.45.0
Operating System: Linux 4.15.11-1-default x86_64
Distribution: "openSUSE Tumbleweed"

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

I had 1 konsole window,  single tap with tc-fq man page open. The crash happen as soon as i scroll down my mouse wheel while having it over the konsole window.

The crash can be reproduced every time.

-- Backtrace:
Application: Konsole (konsole), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f3042641800 (LWP 17573))]

Thread 3 (Thread 0x7f3025d7f700 (LWP 17575)):
#0  0x00007f3041f4abf4 in __GI___libc_read (fd=7, buf=buf@entry=0x7f3025d7eb90, nbytes=nbytes@entry=16) at ../sysdeps/unix/sysv/linux/read.c:27
#1  0x00007f3037723ab0 in read (__nbytes=16, __buf=0x7f3025d7eb90, __fd=<optimized out>) at /usr/include/bits/unistd.h:44
#2  g_wakeup_acknowledge (wakeup=0x55657a01f2b0) at gwakeup.c:210
#3  0x00007f30376def17 in g_main_context_check (context=context@entry=0x7f3020000bf0, max_priority=2147483647, fds=fds@entry=0x7f3020004db0, n_fds=n_fds@entry=1) at gmain.c:3681
#4  0x00007f30376df3d0 in g_main_context_iterate (context=context@entry=0x7f3020000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3900
#5  0x00007f30376df53c in g_main_context_iteration (context=0x7f3020000bf0, may_block=1) at gmain.c:3964
#6  0x00007f303e26afdb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#7  0x00007f303e211e4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#8  0x00007f303e038b5a in QThread::exec() () from /usr/lib64/libQt5Core.so.5
#9  0x00007f303c10fbd5 in QDBusConnectionManager::run() () from /usr/lib64/libQt5DBus.so.5
#10 0x00007f303e03db50 in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5
#11 0x00007f303971f59b in start_thread (arg=0x7f3025d7f700) at pthread_create.c:463
#12 0x00007f3041f59a1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f302d857700 (LWP 17574)):
#0  0x00007f3041f4f179 in __GI___poll (fds=fds@entry=0x7f302d856cb8, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f3039b4d387 in poll (__timeout=-1, __nfds=1, __fds=0x7f302d856cb8) at /usr/include/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0x556579fd6de0, cond=cond@entry=0x556579fd6e20, vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:479
#3  0x00007f3039b4efaa in xcb_wait_for_event (c=0x556579fd6de0) at xcb_in.c:697
#4  0x00007f303086d959 in QXcbEventReader::run() () from /usr/lib64/libQt5XcbQpa.so.5
#5  0x00007f303e03db50 in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5
#6  0x00007f303971f59b in start_thread (arg=0x7f302d857700) at pthread_create.c:463
#7  0x00007f3041f59a1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f3042641800 (LWP 17573)):
[KCrash Handler]
#6  Konsole::TerminalDisplay::sessionController (this=this@entry=0x0) at /usr/src/debug/konsole-18.07.70git.20180327T103634~df68818e-98.1.x86_64/src/TerminalDisplay.cpp:3772
#7  0x00007f3041bfd9f0 in Konsole::Vt102Emulation::sendKeyEvent (this=0x55657a129040, event=0x7ffe86cc9910) at /usr/src/debug/konsole-18.07.70git.20180327T103634~df68818e-98.1.x86_64/src/Vt102Emulation.cpp:1048
#8  0x00007f303e24196c in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#9  0x00007f3041c0857f in Konsole::TerminalDisplay::keyPressedSignal (this=this@entry=0x55657a12b360, _t1=<optimized out>, _t1@entry=0x7ffe86cc9910) at /usr/src/debug/konsole-18.07.70git.20180327T103634~df68818e-98.1.x86_64/build/src/konsoleprivate_autogen/EWIEGA46WW/moc_TerminalDisplay.cpp:396
#10 0x00007f3041be7b3e in Konsole::TerminalDisplay::wheelEvent (this=0x55657a12b360, ev=<optimized out>) at /usr/src/debug/konsole-18.07.70git.20180327T103634~df68818e-98.1.x86_64/src/TerminalDisplay.cpp:2776
#11 0x00007f303f26c378 in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#12 0x00007f3041be918a in Konsole::TerminalDisplay::event (this=0x55657a12b360, event=0x7ffe86cc9b30) at /usr/src/debug/konsole-18.07.70git.20180327T103634~df68818e-98.1.x86_64/src/TerminalDisplay.cpp:3545
#13 0x00007f303f23000c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#14 0x00007f303f238d27 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#15 0x00007f303e213648 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#16 0x00007f303f287b0c in QWidgetWindow::handleWheelEvent(QWheelEvent*) () from /usr/lib64/libQt5Widgets.so.5
#17 0x00007f303f288fad in QWidgetWindow::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#18 0x00007f303f23000c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#19 0x00007f303f237304 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#20 0x00007f303e213648 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#21 0x00007f303ea2a818 in QGuiApplicationPrivate::processWheelEvent(QWindowSystemInterfacePrivate::WheelEvent*) () from /usr/lib64/libQt5Gui.so.5
#22 0x00007f303ea2f745 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib64/libQt5Gui.so.5
#23 0x00007f303ea084fb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5
#24 0x00007f30308ef15b in QPAEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5XcbQpa.so.5
#25 0x00007f303e211e4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#26 0x00007f303e21aa94 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#27 0x00007f3042249b27 in kdemain (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/konsole-18.07.70git.20180327T103634~df68818e-98.1.x86_64/src/main.cpp:190
#28 0x00007f3041e81a87 in __libc_start_main (main=0x556578b5d7e0 <main>, argc=1, argv=0x7ffe86cca438, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe86cca428) at ../csu/libc-start.c:308
#29 0x0000556578b5d81a in _start () at ../sysdeps/x86_64/start.S:120

Reported using DrKonqi
Comment 1 Tony 2018-03-27 19:54:05 UTC
Created attachment 111687 [details]
Scroll Down on the window to trigger.

I must add in case it has something to do with this, scrolling up or down on the desktop is the shortcut set to change "Desktops".
Comment 2 Mariusz Glebocki 2018-03-27 22:36:01 UTC
Confirmed on master (df68818e).

Looks like my recent patch break more things than I thought. I'll send a fix for review soon.

Thanks for report!
Comment 3 Kurt Hindenburg 2018-03-28 00:34:46 UTC
I can't reproduce here on master
Comment 4 Mariusz Glebocki 2018-03-28 01:39:20 UTC
Your patch fixed it. wheelEvent, when sending up/down key event, do not sets currentTerminalDisplay like keyPressEvent do. man runs on second screen, and until any key is pressed there, currentTerminalDisplay is null.