Bug 411596 - Dolphin crashes when tries to play a video preview after I select a folder
Summary: Dolphin crashes when tries to play a video preview after I select a folder
Status: RESOLVED UPSTREAM
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords: drkonqi, wayland
: 411835 412355 415780 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-09-04 18:09 UTC by Patrick Silva
Modified: 2020-01-02 12:46 UTC (History)
4 users (show)

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


Attachments
New crash information added by DrKonqi (10.43 KB, text/plain)
2019-10-28 10:36 UTC, Méven Car
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2019-09-04 18:09:33 UTC
Application: dolphin (19.11.70)

Qt Version: 5.12.3
Frameworks Version: 5.62.0
Operating System: Linux 5.2.5-050205-generic x86_64
Distribution: KDE neon Unstable Edition

-- Information about the crash:
- What I was doing when the application crashed:
open Dolphin
enable info panel by pressing F11
right click on the info panel,  check "Auto-play media files"
open a folder containing a folder and a video file
hover over the video file (info panel plays the video)
while info panel plays the video, select the folder
hover over the video file... Dolphin crashes

The crash does not seem to be reproducible.

-- Backtrace:
Application: Dolphin (dolphin), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7ff9e3d54800 (LWP 7577))]

Thread 7 (Thread 0x7ff96ffff700 (LWP 9456)):
#0  0x00007ff9d77d99f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7ff974123588) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x7ff974123538, cond=0x7ff974123560) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x7ff974123560, mutex=0x7ff974123538) at pthread_cond_wait.c:655
#3  0x00007ff9c851e0aa in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007ff9c851ddd7 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007ff9d77d36db in start_thread (arg=0x7ff96ffff700) at pthread_create.c:463
#6  0x00007ff9e35cf88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7ff97ceb1700 (LWP 9455)):
#0  0x00007ff9e35c2bf9 in __GI___poll (fds=0x7ff9680013e0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ff9d53ea5c9 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7ff9680013e0, timeout=<optimized out>, context=0x7ff968000b20) at ../../../../glib/gmain.c:4203
#2  g_main_context_iterate (context=0x7ff968000b20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3897
#3  0x00007ff9d53ea962 in g_main_loop_run (loop=0x7ff9680024c0) at ../../../../glib/gmain.c:4098
#4  0x00007ff97ea977f7 in ?? () from /usr/lib/x86_64-linux-gnu/libgstgl-1.0.so.0
#5  0x00007ff9d5412195 in g_thread_proxy (data=0x7ff9801d1e80) at ../../../../glib/gthread.c:784
#6  0x00007ff9d77d36db in start_thread (arg=0x7ff97ceb1700) at pthread_create.c:463
#7  0x00007ff9e35cf88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7ff97deb3700 (LWP 9453)):
#0  0x00007ff9e35c2bf9 in __GI___poll (fds=0x7ff9700013e0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ff9d53ea5c9 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7ff9700013e0, timeout=<optimized out>, context=0x7ff970000b20) at ../../../../glib/gmain.c:4203
#2  g_main_context_iterate (context=0x7ff970000b20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3897
#3  0x00007ff9d53ea962 in g_main_loop_run (loop=0x7ff970001c90) at ../../../../glib/gmain.c:4098
#4  0x00007ff97ea977f7 in ?? () from /usr/lib/x86_64-linux-gnu/libgstgl-1.0.so.0
#5  0x00007ff9d5412195 in g_thread_proxy (data=0x7ff9801d1d40) at ../../../../glib/gthread.c:784
#6  0x00007ff9d77d36db in start_thread (arg=0x7ff97deb3700) at pthread_create.c:463
#7  0x00007ff9e35cf88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7ff9ba266700 (LWP 7580)):
#0  0x00007ff9e35be0b4 in __GI___libc_read (fd=14, buf=buf@entry=0x7ff9ba265b90, nbytes=nbytes@entry=16) at ../sysdeps/unix/sysv/linux/read.c:27
#1  0x00007ff9d542f2d0 in read (__nbytes=16, __buf=0x7ff9ba265b90, __fd=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/unistd.h:44
#2  g_wakeup_acknowledge (wakeup=0x7ff9c4003db0) at ../../../../glib/gwakeup.c:210
#3  0x00007ff9d53ea0b7 in g_main_context_check (context=context@entry=0x7ff9b4000bf0, max_priority=2147483647, fds=fds@entry=0x7ff9b4004db0, n_fds=n_fds@entry=1) at ../../../../glib/gmain.c:3680
#4  0x00007ff9d53ea570 in g_main_context_iterate (context=context@entry=0x7ff9b4000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3899
#5  0x00007ff9d53ea6dc in g_main_context_iteration (context=0x7ff9b4000bf0, may_block=may_block@entry=1) at ../../../../glib/gmain.c:3963
#6  0x00007ff9dd275dcb in QEventDispatcherGlib::processEvents (this=0x7ff9b4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#7  0x00007ff9dd21703a in QEventLoop::exec (this=this@entry=0x7ff9ba265da0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#8  0x00007ff9dd03e4ca in QThread::exec (this=<optimized out>) at thread/qthread.cpp:531
#9  0x00007ff9dd03fc72 in QThreadPrivate::start (arg=0x55da795ed990) at thread/qthread_unix.cpp:361
#10 0x00007ff9d77d36db in start_thread (arg=0x7ff9ba266700) at pthread_create.c:463
#11 0x00007ff9e35cf88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7ff9c3279700 (LWP 7579)):
#0  0x00007ff9d77d99f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55da792d5ed8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55da792d5e88, cond=0x55da792d5eb0) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x55da792d5eb0, mutex=0x55da792d5e88) at pthread_cond_wait.c:655
#3  0x00007ff9c851e0aa in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007ff9c851ddd7 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007ff9d77d36db in start_thread (arg=0x7ff9c3279700) at pthread_create.c:463
#6  0x00007ff9e35cf88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7ff9cc149700 (LWP 7578)):
#0  0x00007ff9e35c2bf9 in __GI___poll (fds=0x7ff9c4003ce0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ff9d53ea5c9 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7ff9c4003ce0, timeout=<optimized out>, context=0x7ff9c4000bf0) at ../../../../glib/gmain.c:4203
#2  g_main_context_iterate (context=context@entry=0x7ff9c4000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3897
#3  0x00007ff9d53ea6dc in g_main_context_iteration (context=0x7ff9c4000bf0, may_block=may_block@entry=1) at ../../../../glib/gmain.c:3963
#4  0x00007ff9dd275dcb in QEventDispatcherGlib::processEvents (this=0x7ff9c4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007ff9dd21703a in QEventLoop::exec (this=this@entry=0x7ff9cc148d70, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#6  0x00007ff9dd03e4ca in QThread::exec (this=this@entry=0x7ff9dd95bd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:531
#7  0x00007ff9dd6e4015 in QDBusConnectionManager::run (this=0x7ff9dd95bd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#8  0x00007ff9dd03fc72 in QThreadPrivate::start (arg=0x7ff9dd95bd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361
#9  0x00007ff9d77d36db in start_thread (arg=0x7ff9cc149700) at pthread_create.c:463
#10 0x00007ff9e35cf88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7ff9e3d54800 (LWP 7577)):
[KCrash Handler]
#7  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#8  0x00007ff9e34ee801 in __GI_abort () at abort.c:79
#9  0x00007ff9ce196def in wl_abort (fmt=<optimized out>) at ../src/wayland-util.c:417
#10 0x00007ff9ce192c3d in wl_proxy_marshal_array_constructor_versioned (proxy=proxy@entry=0x55da790bdbf0, opcode=opcode@entry=1, args=args@entry=0x7ffd7a8ab730, interface=interface@entry=0x7ff9ce399b00 <wl_subsurface_interface>, version=1) at ../src/wayland-client.c:741
#11 0x00007ff9ce192c59 in wl_proxy_marshal_array_constructor (proxy=proxy@entry=0x55da790bdbf0, opcode=opcode@entry=1, args=args@entry=0x7ffd7a8ab730, interface=interface@entry=0x7ff9ce399b00 <wl_subsurface_interface>) at ../src/wayland-client.c:687
#12 0x00007ff9ce192e5a in wl_proxy_marshal_constructor (proxy=0x55da790bdbf0, opcode=opcode@entry=1, interface=0x7ff9ce399b00 <wl_subsurface_interface>) at ../src/wayland-client.c:821
#13 0x00007ff9ce618baf in wl_subcompositor_get_subsurface (parent=<optimized out>, surface=<optimized out>, wl_subcompositor=<optimized out>) at ../../include/QtWaylandClient/5.12.3/QtWaylandClient/private/../../../../../src/client/wayland-wayland-client-protocol.h:4144
#14 QtWayland::wl_subcompositor::get_subsurface (this=<optimized out>, surface=<optimized out>, parent=<optimized out>) at qwayland-wayland.cpp:2038
#15 0x00007ff9ce5f7176 in QtWaylandClient::QWaylandDisplay::createSubSurface (this=<optimized out>, window=window@entry=0x55da7a4882b0, parent=parent@entry=0x55da7a4df880) at qwaylanddisplay.cpp:114
#16 0x00007ff9ce5fe7fe in QtWaylandClient::QWaylandWindow::initWindow (this=this@entry=0x55da7a4882b0) at qwaylandwindow.cpp:136
#17 0x00007ff9ce5feff4 in QtWaylandClient::QWaylandWindow::setVisible (this=this@entry=0x55da7a4882b0, visible=<optimized out>) at qwaylandwindow.cpp:389
#18 0x00007ff9cad329b4 in QtWaylandClient::QWaylandEglWindow::setVisible (this=0x55da7a4882b0, visible=<optimized out>) at ../../../../hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp:168
#19 0x00007ff9ddcb9234 in QWindowPrivate::setVisible (this=0x55da7a10fa60, visible=visible@entry=true) at kernel/qwindow.cpp:402
#20 0x00007ff9de539dbd in QWidgetWindow::setNativeWindowVisibility (this=this@entry=0x55da7a4d6980, visible=visible@entry=true) at kernel/qwidgetwindow.cpp:205
#21 0x00007ff9de514366 in QWidgetPrivate::show_sys (this=this@entry=0x55da79cbe020) at kernel/qwidget.cpp:8156
#22 0x00007ff9de51d3cb in QWidgetPrivate::show_helper (this=0x55da79cbe020) at kernel/qwidget.cpp:8079
#23 0x00007ff9de51d1f1 in QWidgetPrivate::show_recursive (this=<optimized out>) at kernel/qwidget.cpp:7948
#24 0x00007ff9de51d29e in QWidgetPrivate::showChildren (this=this@entry=0x55da796818a0, spontaneous=spontaneous@entry=false) at kernel/qwidget.cpp:8457
#25 0x00007ff9de51d39f in QWidgetPrivate::show_helper (this=this@entry=0x55da796818a0) at kernel/qwidget.cpp:8024
#26 0x00007ff9de520523 in QWidgetPrivate::setVisible (this=0x55da796818a0, visible=<optimized out>) at kernel/qwidget.cpp:8381
#27 0x00007ff9e392cbbe in ?? () from /usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so
#28 0x00007ff9e392a351 in ?? () from /usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so
#29 0x00007ff9dd24898f in QtPrivate::QSlotObjectBase::call (a=0x7ffd7a8abe50, r=0x55da79269040, this=0x55da7967f280) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#30 QMetaObject::activate (sender=sender@entry=0x55da7967f100, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd7a8abe50) at kernel/qobject.cpp:3776
#31 0x00007ff9dd248f47 in QMetaObject::activate (sender=sender@entry=0x55da7967f100, m=m@entry=0x7ff9dd6c5da0 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd7a8abe50) at kernel/qobject.cpp:3648
#32 0x00007ff9dd255757 in QTimer::timeout (this=this@entry=0x55da7967f100, _t1=...) at .moc/moc_qtimer.cpp:204
#33 0x00007ff9dd255ab8 in QTimer::timerEvent (this=0x55da7967f100, e=<optimized out>) at kernel/qtimer.cpp:255
#34 0x00007ff9dd24939b in QObject::event (this=0x55da7967f100, e=<optimized out>) at kernel/qobject.cpp:1282
#35 0x00007ff9de4e065c in QApplicationPrivate::notify_helper (this=this@entry=0x55da790abe20, receiver=receiver@entry=0x55da7967f100, e=e@entry=0x7ffd7a8ac1c0) at kernel/qapplication.cpp:3736
#36 0x00007ff9de4e7b90 in QApplication::notify (this=0x7ffd7a8ac510, receiver=0x55da7967f100, e=0x7ffd7a8ac1c0) at kernel/qapplication.cpp:3483
#37 0x00007ff9dd218d18 in QCoreApplication::notifyInternal2 (receiver=0x55da7967f100, event=0x7ffd7a8ac1c0) at kernel/qcoreapplication.cpp:1060
#38 0x00007ff9dd275219 in QTimerInfoList::activateTimers (this=0x55da7910ff10) at kernel/qtimerinfo_unix.cpp:643
#39 0x00007ff9dd275a19 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182
#40 idleTimerSourceDispatch (source=source@entry=0x55da7912b840) at kernel/qeventdispatcher_glib.cpp:229
#41 0x00007ff9d53ea417 in g_main_dispatch (context=0x55da790ddb70) at ../../../../glib/gmain.c:3176
#42 g_main_context_dispatch (context=context@entry=0x55da790ddb70) at ../../../../glib/gmain.c:3829
#43 0x00007ff9d53ea650 in g_main_context_iterate (context=context@entry=0x55da790ddb70, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3902
#44 0x00007ff9d53ea6dc in g_main_context_iteration (context=0x55da790ddb70, may_block=may_block@entry=1) at ../../../../glib/gmain.c:3963
#45 0x00007ff9dd275daf in QEventDispatcherGlib::processEvents (this=0x55da790db4a0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#46 0x00007ff9dd21703a in QEventLoop::exec (this=this@entry=0x7ffd7a8ac410, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#47 0x00007ff9dd220170 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1363
#48 0x00007ff9e38e466c in kdemain () from /usr/lib/x86_64-linux-gnu/libkdeinit5_dolphin.so
#49 0x00007ff9e34cfb97 in __libc_start_main (main=0x55da77b8a720, argc=2, argv=0x7ffd7a8ac678, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd7a8ac668) at ../csu/libc-start.c:310
#50 0x000055da77b8a75a in _start ()

Possible duplicates by query: bug 411017, bug 410616, bug 409604, bug 407928, bug 407017.

Reported using DrKonqi
Comment 1 Patrick Silva 2019-09-06 21:03:35 UTC
This crash only occurs on Wayland session.
Comment 2 Méven Car 2019-09-11 22:23:26 UTC
*** Bug 411835 has been marked as a duplicate of this bug. ***
Comment 3 Elvis Angelaccio 2019-09-14 11:15:45 UTC
I can reproduce it, it crashes when switching from any non-video preview to a video preview in the information panel.
Comment 4 Elvis Angelaccio 2019-09-14 11:21:33 UTC
And it only crashes when the autoplay feature is enabled.
Comment 5 Méven Car 2019-09-14 17:30:18 UTC
(In reply to Elvis Angelaccio from comment #4)
> And it only crashes when the autoplay feature is enabled.

No, you just need to launch a video playback (without autoplay) and while it is playing, hover over a non-video file and then hover back on the video file.

I believe it should be easy to reproduce in demonstration code.
It is mostly due to the video player widget being display, hidden and shown again.

IMO it is a QtWayland bug.
Comment 6 Elvis Angelaccio 2019-09-29 10:48:46 UTC
*** Bug 412355 has been marked as a duplicate of this bug. ***
Comment 7 Méven Car 2019-10-04 11:23:11 UTC
This looks like a QtWayland bug seeing the trace.
Comment 8 Méven Car 2019-10-28 10:36:32 UTC
Created attachment 123536 [details]
New crash information added by DrKonqi

dolphin (19.11.70) using Qt 5.12.4

- What I was doing when the application crashed:

Hover over a video file and previewing it in the information panel.
Hovering over a non-video file.
Hovering on a video file.
Crash occurs.

-- Backtrace (Reduced):
#7  0x00007fa85f9023eb in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#8  0x00007fa85f8e1899 in __GI_abort () at abort.c:79
#9  0x00007fa85fac92c5 in wl_abort (fmt=fmt@entry=0x7fa85faca0d8 "Error marshalling request: %s\n") at ../src/wayland-util.c:417
#10 0x00007fa85fac526d in wl_proxy_marshal_array_constructor_versioned (proxy=proxy@entry=0x55b3a8c2f030, opcode=opcode@entry=1, args=args@entry=0x7fff033aad90, interface=interface@entry=0x7fa85facdb00 <wl_subsurface_interface>, version=1) at ../src/wayland-client.c:744
#11 0x00007fa85fac529d in wl_proxy_marshal_array_constructor (proxy=proxy@entry=0x55b3a8c2f030, opcode=opcode@entry=1, args=args@entry=0x7fff033aad90, interface=interface@entry=0x7fa85facdb00 <wl_subsurface_interface>) at ../src/wayland-client.c:690
Comment 9 Méven Car 2019-10-28 10:46:09 UTC
Apparently there is an error in wl_proxy->display caught at https://gitlab.freedesktop.org/wayland/wayland/blob/master/src/wayland-client.c#L743
Comment 10 Méven Car 2019-10-31 17:03:06 UTC
https://bugs.kde.org/show_bug.cgi?id=412809 might be caused by the same code.
The backtraces end the same way with Qt 5.12.3 and Qt 5.13.1
Comment 11 Méven Car 2019-10-31 18:14:18 UTC
I have opened qt bug about this bug https://bugreports.qt.io/browse/QTBUG-79674
Comment 12 Méven Car 2019-11-14 13:15:26 UTC
https://bugreports.qt.io/browse/QTBUG-79674 was merged and probably will fix this.
It will be part of Qt 5.12.6, 5.13.3, 5.14RC1

Please confirm it if you can test with those versions
Comment 13 Elvis Angelaccio 2020-01-02 12:45:20 UTC
Can't reproduce anymore with Qt 5.14
Comment 14 Elvis Angelaccio 2020-01-02 12:46:34 UTC
*** Bug 415780 has been marked as a duplicate of this bug. ***