Bug 355718 - Segfaut when hovering over ogv file in file open dialog with preview enabled
Summary: Segfaut when hovering over ogv file in file open dialog with preview enabled
Status: RESOLVED WORKSFORME
Alias: None
Product: phonon-backend-gstreamer
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 4.8.2
Platform: Debian unstable Linux
: NOR crash
Target Milestone: 4.8
Assignee: Daniel Vrátil
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-22 07:41 UTC by jm.ouwerkerk
Modified: 2018-12-01 03:50 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jm.ouwerkerk 2015-11-22 07:41:20 UTC
package version from apt-cache policy:

phonon4qt5-backend-gstreamer:
  Installed: 4:4.8.2-2
  Candidate: 4:4.8.2-2
  Version table:
 *** 4:4.8.2-2 0
        500 http://ftp.nl.debian.org/debian/ sid/main amd64 Packages
        500 http://ftp.nl.debian.org/debian/ testing/main amd64 Packages
        100 /var/lib/dpkg/status

Reproducible: Always

Steps to Reproduce:
1. Record ogv screencasts using recordmydesktop. (Likely any ogv will do, just don't have any others for comparison.)
2. Make sure phonon4qt5-backend-gstreamer is installed.
3. Open a open file dialog in a KF5 application, say, Kate (best to do so in gdb).
4. Navigate to the directory with ogv files.
5. Mouse over them fairly quickly. Repeat this, if necessary...
6. Boom!

Actual Results:  
An unholy number of threads are spawned. A segfault is triggered.

Expected Results:  
I'd expect the library to create only a few threads at the most, not ... hundreds and also I'd expect it to reuse already created threads. This is probably covered by the "mouse over rapidly" part (i.e. for each clip to preview a new thread is created, instead of a single worker thread that is reused and given a grace period/timeout before being killed).

Also, obviously: no segfaults!

Output from a gdb session capturing the problem:

gdb kate 
GNU gdb (Debian 7.10-1) 7.10
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from kate...(no debugging symbols found)...done.
(gdb) start
Temporary breakpoint 1 at 0x400720
Starting program: /usr/bin/kate 
co[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
nt
Temporary breakpoint 1, 0x0000000000400720 in main ()
(gdb) continue
Continuing.
[New Thread 0x7fffe3de5700 (LWP 2867)]
kate: Last session is: "sd-ui-kit"
[New Thread 0x7fffd63d0700 (LWP 2868)]
[New Thread 0x7fffd5bcf700 (LWP 2869)]
[New Thread 0x7fffd53ce700 (LWP 2870)]
[New Thread 0x7fffd4bcd700 (LWP 2871)]
[New Thread 0x7fffc7fff700 (LWP 2872)]
[New Thread 0x7fffc77fe700 (LWP 2873)]
[New Thread 0x7fffc6ffd700 (LWP 2874)]
[New Thread 0x7fffc67fc700 (LWP 2875)]
KSambaShare: Could not find smb.conf!
[New Thread 0x7fffb2bb0700 (LWP 2886)]
[Thread 0x7fffb2bb0700 (LWP 2886) exited]
[New Thread 0x7fffb2bb0700 (LWP 2887)]
[Thread 0x7fffb2bb0700 (LWP 2887) exited]
[New Thread 0x7fffb2bb0700 (LWP 2888)]
[New Thread 0x7fffb12b8700 (LWP 2889)]
[New Thread 0x7fffa7ffe700 (LWP 2890)]
[New Thread 0x7fffa77fd700 (LWP 2891)]
[New Thread 0x7fffa5eb1700 (LWP 2892)]
[New Thread 0x7fffa56b0700 (LWP 2893)]
[New Thread 0x7fffa4eaf700 (LWP 2894)]
[Thread 0x7fffb2bb0700 (LWP 2888) exited]
[New Thread 0x7fffb2bb0700 (LWP 2895)]
[Thread 0x7fffb2bb0700 (LWP 2895) exited]
[New Thread 0x7fffb2bb0700 (LWP 2896)]
[Thread 0x7fffb2bb0700 (LWP 2896) exited]
[New Thread 0x7fffb2bb0700 (LWP 2897)]
[Thread 0x7fffb2bb0700 (LWP 2897) exited]
[New Thread 0x7fffb2bb0700 (LWP 2898)]
[New Thread 0x7fffa6de1700 (LWP 2899)]
[Thread 0x7fffa6de1700 (LWP 2899) exited]
QTimeLine::start: already running
QTimeLine::start: already running
QTimeLine::start: already running
QTimeLine::start: already running
[Thread 0x7fffb12b8700 (LWP 2889) exited]
[Thread 0x7fffa7ffe700 (LWP 2890) exited]
[New Thread 0x7fffa7ffe700 (LWP 2900)]
[Thread 0x7fffa4eaf700 (LWP 2894) exited]
[Thread 0x7fffa5eb1700 (LWP 2892) exited]
[New Thread 0x7fffa5eb1700 (LWP 2901)]
[New Thread 0x7fffa4eaf700 (LWP 2902)]
[New Thread 0x7fffb12b8700 (LWP 2903)]
[Thread 0x7fffa7ffe700 (LWP 2900) exited]
[New Thread 0x7fffa7ffe700 (LWP 2904)]
[Thread 0x7fffa7ffe700 (LWP 2904) exited]
[New Thread 0x7fffa7ffe700 (LWP 2905)]
[Thread 0x7fffa7ffe700 (LWP 2905) exited]
[New Thread 0x7fffa7ffe700 (LWP 2906)]
[New Thread 0x7fffa6de1700 (LWP 2907)]
[Thread 0x7fffa6de1700 (LWP 2907) exited]
[Thread 0x7fffa4eaf700 (LWP 2902) exited]
[Thread 0x7fffa5eb1700 (LWP 2901) exited]
[Thread 0x7fffa77fd700 (LWP 2891) exited]
[Thread 0x7fffb2bb0700 (LWP 2898) exited]
[Thread 0x7fffa56b0700 (LWP 2893) exited]
[Thread 0x7fffb12b8700 (LWP 2903) exited]
[New Thread 0x7fffb12b8700 (LWP 2908)]
[New Thread 0x7fffa56b0700 (LWP 2909)]
[New Thread 0x7fffb2bb0700 (LWP 2910)]
[New Thread 0x7fffa77fd700 (LWP 2911)]
[New Thread 0x7fffa6de1700 (LWP 2912)]
[New Thread 0x7fffa65e0700 (LWP 2913)]
[Thread 0x7fffb12b8700 (LWP 2908) exited]
[New Thread 0x7fffb12b8700 (LWP 2914)]
QTimeLine::start: already running
QTimeLine::start: already running
[Thread 0x7fffa77fd700 (LWP 2911) exited]
[Thread 0x7fffa6de1700 (LWP 2912) exited]
[Thread 0x7fffa65e0700 (LWP 2913) exited]
[Thread 0x7fffb2bb0700 (LWP 2910) exited]
[Thread 0x7fffa56b0700 (LWP 2909) exited]
[Thread 0x7fffa7ffe700 (LWP 2906) exited]
[New Thread 0x7fffa56b0700 (LWP 2915)]
[New Thread 0x7fffa7ffe700 (LWP 2916)]
[New Thread 0x7fffb2bb0700 (LWP 2917)]
[New Thread 0x7fffa65e0700 (LWP 2918)]
[New Thread 0x7fffa77fd700 (LWP 2919)]
[New Thread 0x7fffa6de1700 (LWP 2920)]
[Thread 0x7fffa56b0700 (LWP 2915) exited]
[New Thread 0x7fffa56b0700 (LWP 2921)]
[New Thread 0x7fffa4eaf700 (LWP 2922)]
[Thread 0x7fffa4eaf700 (LWP 2922) exited]
[Thread 0x7fffa77fd700 (LWP 2919) exited]
[Thread 0x7fffa6de1700 (LWP 2920) exited]
[Thread 0x7fffb2bb0700 (LWP 2917) exited]
[Thread 0x7fffa7ffe700 (LWP 2916) exited]
[Thread 0x7fffb12b8700 (LWP 2914) exited]
[Thread 0x7fffa65e0700 (LWP 2918) exited]
[New Thread 0x7fffa65e0700 (LWP 2925)]
[New Thread 0x7fffb12b8700 (LWP 2926)]
[New Thread 0x7fffa7ffe700 (LWP 2927)]
[Thread 0x7fffa65e0700 (LWP 2925) exited]
[New Thread 0x7fffa65e0700 (LWP 2928)]
[New Thread 0x7fffb2bb0700 (LWP 2929)]
[New Thread 0x7fffa77fd700 (LWP 2930)]
[New Thread 0x7fffa6de1700 (LWP 2931)]
[Thread 0x7fffa65e0700 (LWP 2928) exited]
[New Thread 0x7fffa65e0700 (LWP 2932)]
[New Thread 0x7fffa4eaf700 (LWP 2933)]
[Thread 0x7fffa4eaf700 (LWP 2933) exited]
[Thread 0x7fffb12b8700 (LWP 2926) exited]
[Thread 0x7fffa7ffe700 (LWP 2927) exited]
[Thread 0x7fffa56b0700 (LWP 2921) exited]
[Thread 0x7fffb2bb0700 (LWP 2929) exited]
[Thread 0x7fffa77fd700 (LWP 2930) exited]
[Thread 0x7fffa6de1700 (LWP 2931) exited]
[New Thread 0x7fffa6de1700 (LWP 2942)]
[New Thread 0x7fffa77fd700 (LWP 2943)]
[New Thread 0x7fffb2bb0700 (LWP 2944)]
[Thread 0x7fffa6de1700 (LWP 2942) exited]
[New Thread 0x7fffa6de1700 (LWP 2945)]
[New Thread 0x7fffa56b0700 (LWP 2946)]
[New Thread 0x7fffb12b8700 (LWP 2947)]
[New Thread 0x7fffa7ffe700 (LWP 2948)]
[Thread 0x7fffa6de1700 (LWP 2945) exited]
[Thread 0x7fffb12b8700 (LWP 2947) exited]
[Thread 0x7fffa7ffe700 (LWP 2948) exited]
[Thread 0x7fffa77fd700 (LWP 2943) exited]
[Thread 0x7fffb2bb0700 (LWP 2944) exited]
[Thread 0x7fffa65e0700 (LWP 2932) exited]
[New Thread 0x7fffa65e0700 (LWP 2951)]
[New Thread 0x7fffb2bb0700 (LWP 2952)]
[New Thread 0x7fffa77fd700 (LWP 2953)]
[New Thread 0x7fffa7ffe700 (LWP 2954)]
[New Thread 0x7fffb12b8700 (LWP 2955)]
[New Thread 0x7fffa6de1700 (LWP 2956)]
[Thread 0x7fffa65e0700 (LWP 2951) exited]
[New Thread 0x7fffa65e0700 (LWP 2957)]
[New Thread 0x7fffa4eaf700 (LWP 2958)]
[Thread 0x7fffa4eaf700 (LWP 2958) exited]
[Thread 0x7fffb12b8700 (LWP 2955) exited]
[Thread 0x7fffa6de1700 (LWP 2956) exited]
[Thread 0x7fffa77fd700 (LWP 2953) exited]
[Thread 0x7fffa56b0700 (LWP 2946) exited]
[Thread 0x7fffb2bb0700 (LWP 2952) exited]
[Thread 0x7fffa7ffe700 (LWP 2954) exited]
QTimeLine::start: already running
[New Thread 0x7fffa7ffe700 (LWP 2959)]
[New Thread 0x7fffb2bb0700 (LWP 2960)]
[New Thread 0x7fffa56b0700 (LWP 2961)]
[New Thread 0x7fffa77fd700 (LWP 2962)]
[New Thread 0x7fffb12b8700 (LWP 2963)]
[New Thread 0x7fffa6de1700 (LWP 2964)]
[Thread 0x7fffa7ffe700 (LWP 2959) exited]
[New Thread 0x7fffa7ffe700 (LWP 2965)]
[Thread 0x7fffa7ffe700 (LWP 2965) exited]
[New Thread 0x7fffa7ffe700 (LWP 2966)]
[New Thread 0x7fffa4eaf700 (LWP 2967)]
[Thread 0x7fffa4eaf700 (LWP 2967) exited]
[New Thread 0x7fffa4eaf700 (LWP 2968)]
[Thread 0x7fffa4eaf700 (LWP 2968) exited]

Program received signal SIGSEGV, Segmentation fault.
0x00007fffc44e27a0 in Phonon::Gstreamer::WidgetRenderer::setNextFrame (this=0x14bcd20, array=..., w=1920, h=1072) at ../../gstreamer/widgetrenderer.cpp:97
97      ../../gstreamer/widgetrenderer.cpp: No such file or directory.
(gdb) bt
#0  0x00007fffc44e27a0 in Phonon::Gstreamer::WidgetRenderer::setNextFrame (this=0x14bcd20, array=..., w=1920, h=1072) at ../../gstreamer/widgetrenderer.cpp:97
#1  0x00007fffc44e2863 in Phonon::Gstreamer::WidgetRenderer::eventFilter (this=<optimized out>, event=<optimized out>) at ../../gstreamer/widgetrenderer.cpp:134
#2  0x00007fffc44e0c4e in Phonon::Gstreamer::VideoWidget::event (this=0x14bdc90, event=0x7fff90026440) at ../../gstreamer/videowidget.cpp:216
#3  0x00007ffff4763ffc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#4  0x00007ffff47694c6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5  0x00007ffff39d9bcb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007ffff39dbfc6 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007ffff3a2ff73 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fffeff41fe7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007fffeff42240 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007fffeff422ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff3a3037f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff39d735a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007ffff495f0dd in QDialog::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007ffff495ef9a in QDialog::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007ffff49720c8 in QFileDialog::getOpenFileUrls(QWidget*, QString const&, QUrl const&, QString const&, QString*, QFlags<QFileDialog::Option>, QStringList const&) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff7b7fd22 in ?? () from /usr/lib/x86_64-linux-gnu/libkdeinit5_kate.so
#17 0x00007ffff7baf525 in ?? () from /usr/lib/x86_64-linux-gnu/libkdeinit5_kate.so
#18 0x00007ffff3a0873a in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007ffff475a3b2 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007ffff475c838 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff4862760 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007ffff4862894 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007ffff492761a in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007ffff47a7008 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007ffff49276f9 in QToolButton::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007ffff4763ffc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007ffff4769bc9 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007ffff39d9bcb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007ffff4768ad2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007ffff47c157b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007ffff47c3b3b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007ffff4763ffc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007ffff47694c6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007ffff39d9bcb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007ffff41b2231 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#36 0x00007ffff41b3ef5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#37 0x00007ffff4197e38 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#38 0x00007fffe510ce30 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#39 0x00007fffeff41fe7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#40 0x00007fffeff42240 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#41 0x00007fffeff422ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007ffff3a3037f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#43 0x00007ffff39d735a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#44 0x00007ffff39df43c in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#45 0x00007ffff7baa1d6 in kdemain () from /usr/lib/x86_64-linux-gnu/libkdeinit5_kate.so
#46 0x00007ffff77abb45 in __libc_start_main (main=0x400720 <main>, argc=1, argv=0x7fffffffe148, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe138) at libc-start.c:287
#47 0x000000000040074e in _start ()
Comment 1 Andrew Crouthamel 2018-11-01 13:52:07 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 2 Bug Janitor Service 2018-11-16 11:36:20 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Bug Janitor Service 2018-12-01 03:50:26 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!