Bug 213008

Summary: KFileAudioPreview causes crashes on exit (media preview enabled on some file dialog) [QAbstractButton::isChecked, ~KFileAudioPreview, deletion... ]
Product: [Unmaintained] kfile Reporter: PC LX <kde>
Component: generalAssignee: kdelibs bugs <kdelibs-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: andresbajotierra, cfeck, contact, dominik, fernasensio, fizista, greg.martyn, jamundso, JohnMS, kde-bugs, lowen, molizane, mpyne, oleg.atamanenko+kde, saveurlinux, sebastian, twist23
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description PC LX 2009-11-04 02:47:41 UTC
Application that crashed: okular
Version of the application: 0.9.2
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.3
Operating System: Linux 2.6.31.5-desktop-1mnb x86_64
Distribution: "Mandriva Linux 2010.0"

What I was doing when the application crashed:
This crash always happens if I do the following:
1 - Try to load a particular zip file but apparently nothing happens. The GUI remains unchanged and no images are shown as normally would happen.
2 - Try to load the same zip file a second time a message saying that "Não foi possível abrir o file:///tmp/file.zip" (in English "It was not possible to open the file:///tmp/file.zip").
3 - Try to exit Okular but it immediately crashes.

I frequently use Okular to view images inside zip files and the only unusual thing I notice in this particular zip file is that the directory inside has a strange name (probably Japanese). If I rename the directory inside the zip file (and everithing else remains unchanged), Okular shows the images without any problems and there is no crash.


 -- Backtrace:
Application: Okular (okular), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fdd76c48710 (LWP 18740))]

Thread 2 (Thread 0x7fdd506a5910 (LWP 18979)):
#0  0x00007fdd73bc6e59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fdd75280dab in QWaitCondition::wait (this=<value optimized out>, mutex=0x1228f48, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  0x00007fdd62ed33d9 in Soprano::Util::AsyncQuery::Private::run (this=0x1228f10) at /usr/src/debug/nepomuk-scribo-0.6.0/nepomukshell/asyncquery.cpp:110
#3  0x00007fdd7527fcf5 in QThreadPrivate::start (arg=0x1228f10) at thread/qthread_unix.cpp:188
#4  0x00007fdd73bc27cd in start_thread () from /lib64/libpthread.so.0
#5  0x00007fdd740f337d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fdd76c48710 (LWP 18740)):
[KCrash Handler]
#5  QAbstractButton::isChecked (this=0x69007600000077) at widgets/qabstractbutton.cpp:767
#6  0x00007fdd610ad013 in ~KFileAudioPreview (this=0x16cce30) at /usr/src/debug/kdelibs-4.3.2/interfaces/kmediaplayer/kfileaudiopreview/kfileaudiopreview.cpp:105
#7  0x00007fdd7537395c in QObjectPrivate::deleteChildren (this=0x16e16e0) at kernel/qobject.cpp:1846
#8  0x00007fdd7485eb43 in ~QWidget (this=0x1579ac0) at kernel/qwidget.cpp:1367
#9  0x00007fdd74c20d31 in ~QStackedWidget (this=0x69007600000077) at widgets/qstackedwidget.cpp:152
#10 0x00007fdd7537395c in QObjectPrivate::deleteChildren (this=0x16ea7c0) at kernel/qobject.cpp:1846
#11 0x00007fdd7485eb43 in ~QWidget (this=0x15bee80) at kernel/qwidget.cpp:1367
#12 0x00007fdd765530d0 in ~KFileMetaPreview (this=0x15bee80) at /usr/src/debug/kdelibs-4.3.2/kio/kfile/kfilemetapreview.cpp:36
#13 0x00007fdd61ee6b12 in ~Private (this=0x15bdcf0) at /usr/src/debug/kdelibs-4.3.2/kfile/kdiroperator.cpp:345
#14 0x00007fdd61ee6cdf in ~KDirOperator (this=0x158c120) at /usr/src/debug/kdelibs-4.3.2/kfile/kdiroperator.cpp:422
#15 0x00007fdd61f00caf in ~KFileWidget (this=0x158c050) at /usr/src/debug/kdelibs-4.3.2/kfile/kfilewidget.cpp:107
#16 0x00007fdd7537395c in QObjectPrivate::deleteChildren (this=0x14e94a0) at kernel/qobject.cpp:1846
#17 0x00007fdd7485eb43 in ~QWidget (this=0x14e9460) at kernel/qwidget.cpp:1367
#18 0x00007fdd74c20d31 in ~QStackedWidget (this=0x69007600000077) at widgets/qstackedwidget.cpp:152
#19 0x00007fdd7537395c in QObjectPrivate::deleteChildren (this=0x14e8bd0) at kernel/qobject.cpp:1846
#20 0x00007fdd7485eb43 in ~QWidget (this=0x1479d60) at kernel/qwidget.cpp:1367
#21 0x00007fdd62ec7fcd in ~SmartFileWidget (this=0x1479d60) at /usr/src/debug/nepomuk-scribo-0.6.0/smartsave/gui/smartfilewidget.cpp:135
#22 0x00007fdd7537395c in QObjectPrivate::deleteChildren (this=0x146d3f0) at kernel/qobject.cpp:1846
#23 0x00007fdd7485eb43 in ~QWidget (this=0x7fffc37b5ec0) at kernel/qwidget.cpp:1367
#24 0x00007fdd7654a7e4 in ~KFileDialog (this=0x7fffc37b5ec0) at /usr/src/debug/kdelibs-4.3.2/kio/kfile/kfiledialog.cpp:297
#25 0x00007fdd7537395c in QObjectPrivate::deleteChildren (this=0xf6c240) at kernel/qobject.cpp:1846
#26 0x00007fdd7485eb43 in ~QWidget (this=0xf6c0c0) at kernel/qwidget.cpp:1367
#27 0x00007fdd7602e1a5 in ~KMainWindow (this=0xf6c0c0) at /usr/src/debug/kdelibs-4.3.2/kdeui/widgets/kmainwindow.cpp:467
#28 0x0000000000408bb3 in _start ()

Reported using DrKonqi
Comment 1 Dario Andres 2009-11-04 03:01:35 UTC
It seems to be a KFile issue (may be related to the Nepomuk file widget)..
Comment 2 Dario Andres 2009-12-07 00:30:33 UTC
Old title: Okular crashed when exiting and after trying to load a zip file with images inside a directory with a strange name (japanese probably)
Comment 3 Dario Andres 2009-12-07 00:31:16 UTC
*** Bug 216851 has been marked as a duplicate of this bug. ***
Comment 4 Dario Andres 2009-12-07 00:31:18 UTC
*** Bug 215369 has been marked as a duplicate of this bug. ***
Comment 5 Dario Andres 2009-12-07 00:31:47 UTC
*** Bug 215911 has been marked as a duplicate of this bug. ***
Comment 6 Dario Andres 2010-01-09 02:32:05 UTC
Another complete and updated backtrace from bug 221851:
---
[KCrash Handler]
#5  QAbstractButton::isChecked (this=0x69007600650072) at
widgets/qabstractbutton.cpp:767
#6  0x00007fa214a2d093 in KFileAudioPreview::~KFileAudioPreview (this=0xe1d9a0,
__in_chrg=<value optimized out>)
    at
/usr/src/debug/kdelibs-4.3.4/interfaces/kmediaplayer/kfileaudiopreview/kfileaudiopreview.cpp:105
#7  0x0000003a6574d16c in QObjectPrivate::deleteChildren (this=0x8c3570) at
kernel/qobject.cpp:1846
#8  0x0000003a66fd9d13 in QWidget::~QWidget (this=0x89b750, __in_chrg=<value
optimized out>) at kernel/qwidget.cpp:1367
#9  0x0000003a67399341 in QStackedWidget::~QStackedWidget (this=0x89b750,
__in_chrg=<value optimized out>) at widgets/qstackedwidget.cpp:152
#10 0x0000003a6574d16c in QObjectPrivate::deleteChildren (this=0x894db0) at
kernel/qobject.cpp:1846
#11 0x0000003a66fd9d13 in QWidget::~QWidget (this=0x8b9550, __in_chrg=<value
optimized out>) at kernel/qwidget.cpp:1367
#12 0x000000360a9f9b20 in KFileMetaPreview::~KFileMetaPreview (this=0x8b9550,
__in_chrg=<value optimized out>) at
/usr/src/debug/kdelibs-4.3.4/kio/kfile/kfilemetapreview.cpp:36
#13 0x000000360ba3af22 in KDirOperator::Private::~Private (this=0xce9180,
__in_chrg=<value optimized out>) at
/usr/src/debug/kdelibs-4.3.4/kfile/kdiroperator.cpp:346
#14 0x000000360ba3b0ef in KDirOperator::~KDirOperator (this=0xce9aa0,
__in_chrg=<value optimized out>) at
/usr/src/debug/kdelibs-4.3.4/kfile/kdiroperator.cpp:423
#15 0x000000360ba54d4f in ~KFileWidgetPrivate (this=<value optimized out>,
__in_chrg=<value optimized out>) at
/usr/src/debug/kdelibs-4.3.4/kfile/kfilewidget.cpp:107
#16 KFileWidget::~KFileWidget (this=<value optimized out>, __in_chrg=<value
optimized out>) at /usr/src/debug/kdelibs-4.3.4/kfile/kfilewidget.cpp:624
...
Comment 7 Dario Andres 2010-01-09 02:32:11 UTC
*** Bug 221851 has been marked as a duplicate of this bug. ***
Comment 8 Michael Pyne 2010-01-10 00:06:32 UTC
The crash seems to be memory corruption (at least for the second backtrace). The this pointer for the KFileAudioPreview is corrupted, and instead looks like a QString.

Converting to ASCII shows these four bytes: "HALE". Not sure what that means though but there's something screwy going on corrupting memory. Perhaps running under valgrind can help diagnose what?
Comment 9 Michael Pyne 2010-01-10 00:08:37 UTC
Not sure what the conversion would be for the first error'ed this pointer but it looks like ASCII with nulls as well. Also I got the order wrong on the second backtrace, should be ELAH.
Comment 10 Dario Andres 2010-01-20 01:15:20 UTC
*** Bug 223498 has been marked as a duplicate of this bug. ***
Comment 11 Dario Andres 2010-01-28 22:39:32 UTC
*** Bug 224617 has been marked as a duplicate of this bug. ***
Comment 12 Dario Andres 2010-01-30 23:31:10 UTC
*** Bug 224679 has been marked as a duplicate of this bug. ***
Comment 13 jamundso 2010-03-23 15:11:28 UTC
Created attachment 42202 [details]
New crash information added by DrKonqi

From within konqueror, I was attaching a file to the message I was composing at gmail.com.
Comment 14 Dario Andres 2010-03-24 13:12:43 UTC
*** Bug 231968 has been marked as a duplicate of this bug. ***
Comment 15 Christophe Marin 2010-03-26 23:41:21 UTC
*** Bug 229238 has been marked as a duplicate of this bug. ***
Comment 16 Christophe Marin 2010-03-27 09:41:51 UTC
*** Bug 228607 has been marked as a duplicate of this bug. ***
Comment 17 Dario Andres 2010-03-29 00:22:03 UTC
From bug 230147:
-- Information about the crash:
I was editing a file over fish://. Kwrite crashed when I closed kwrite.

From bug 232502:
-- Information about the crash:
1) Open KWrite (first window)
2) Copy and paste any text into kwrite
3) Click on the 'open'
4) Select any text file, and click OK (second window kwrite)
5) Try colose first window, do not save!
6) Crash
Comment 18 Dario Andres 2010-03-29 00:22:06 UTC
*** Bug 230147 has been marked as a duplicate of this bug. ***
Comment 19 Dario Andres 2010-03-29 00:22:10 UTC
*** Bug 232502 has been marked as a duplicate of this bug. ***
Comment 20 Dario Andres 2010-03-29 00:24:20 UTC
Another interesting backtrace bit from bug 230147:

#5  QAbstractButton::isChecked (this=0x69007600650072) at
widgets/qabstractbutton.cpp:770
#6  0x00007fd2950e1fb3 in KFileAudioPreview::~KFileAudioPreview
(this=0x17fc300, __in_chrg=<value optimized out>)
    at
/usr/src/debug/kdelibs-4.4.0/interfaces/kmediaplayer/kfileaudiopreview/kfileaudiopreview.cpp:105
#7  0x00007fd2950e2069 in KFileAudioPreview::~KFileAudioPreview
(this=0x17fc300, __in_chrg=<value optimized out>)
    at
/usr/src/debug/kdelibs-4.4.0/interfaces/kmediaplayer/kfileaudiopreview/kfileaudiopreview.cpp:108
#8  0x00000038bab656fc in QObjectPrivate::deleteChildren (this=0x15c7b90) at
kernel/qobject.cpp:1986
#9  0x00000038bcffba64 in QWidget::~QWidget (this=0x15c9390, __in_chrg=<value
optimized out>) at kernel/qwidget.cpp:1469
#10 0x00000038bd3c9749 in QStackedWidget::~QStackedWidget (this=0x15c9390,
__in_chrg=<value optimized out>) at widgets/qstackedwidget.cpp:151
#11 0x00000038bab656fc in QObjectPrivate::deleteChildren (this=0x15cb7e0) at
kernel/qobject.cpp:1986
#12 0x00000038bcffba64 in QWidget::~QWidget (this=0x15c9120, __in_chrg=<value
optimized out>) at kernel/qwidget.cpp:1469
#13 0x00000038bede3119 in KFileMetaPreview::~KFileMetaPreview (this=0x15c9120,
__in_chrg=<value optimized out>) at
/usr/src/debug/kdelibs-4.4.0/kio/kfile/kfilemetapreview.cpp:36
#14 0x00000038c0a3b482 in KDirOperator::Private::~Private (this=0xf3b1d0,
__in_chrg=<value optimized out>) at
/usr/src/debug/kdelibs-4.4.0/kfile/kdiroperator.cpp:346
#15 0x00000038c0a3b65f in KDirOperator::~KDirOperator (this=0xf3a420,
__in_chrg=<value optimized out>) at
/usr/src/debug/kdelibs-4.4.0/kfile/kdiroperator.cpp:423
#16 0x00000038c0a3b6a9 in KDirOperator::~KDirOperator (this=0xf3a420,
__in_chrg=<value optimized out>) at
/usr/src/debug/kdelibs-4.4.0/kfile/kdiroperator.cpp:424
#17 0x00000038c0a50c2f in ~KFileWidgetPrivate (this=0x1432d80, __in_chrg=<value
optimized out>) at /usr/src/debug/kdelibs-4.4.0/kfile/kfilewidget.cpp:107
#18 KFileWidget::~KFileWidget (this=0x1432d80, __in_chrg=<value optimized out>)
at /usr/src/debug/kdelibs-4.4.0/kfile/kfilewidget.cpp:642
#19 0x00000038c0a50d99 in KFileWidget::~KFileWidget (this=0x1432d80,
__in_chrg=<value optimized out>) at
/usr/src/debug/kdelibs-4.4.0/kfile/kfilewidget.cpp:643
#20 0x00000038bab656fc in QObjectPrivate::deleteChildren (this=0x13b7d60) at
kernel/qobject.cpp:1986
#21 0x00000038bcffba64 in QWidget::~QWidget (this=0x7fff53dc3690,
__in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#22 0x00000038bedd8839 in KEncodingFileDialog::~KEncodingFileDialog
(this=0x7fff53dc3690, __in_chrg=<value optimized out>) at
/usr/src/debug/kdelibs-4.4.0/kio/kfile/kencodingfiledialog.cpp:89
Comment 21 Nicolas L. 2010-04-02 12:09:33 UTC
*** Bug 230051 has been marked as a duplicate of this bug. ***
Comment 22 Christophe Marin 2010-04-08 08:49:31 UTC
*** Bug 233647 has been marked as a duplicate of this bug. ***
Comment 23 Nicolas L. 2010-05-03 17:59:55 UTC
*** Bug 236087 has been marked as a duplicate of this bug. ***
Comment 24 Pino Toscano 2010-05-22 22:23:29 UTC
*** Bug 233659 has been marked as a duplicate of this bug. ***
Comment 25 Dominik Haumann 2010-05-23 00:09:59 UTC
*** Bug 237908 has been marked as a duplicate of this bug. ***
Comment 26 Dominik Haumann 2010-05-23 00:11:05 UTC
*** Bug 236118 has been marked as a duplicate of this bug. ***
Comment 27 Christoph Feck 2010-08-07 23:35:05 UTC
This bug is believed to be caused by Phonon::PulseSupport starting an local event loop. This has been fixed in Phonon version 4.4.1. For a detailed discussion, see bug 228324.

If you can still reproduce the bug with Phonon version 4.4.1, or on older Phonon version that is not compiled with PulseAudio support, please reopen the bug.

(Interestingly, the initial backtrace in comment #0 and one of the duplicates do NOT have the Phonon::PulseSupport stack entry, but seeing that all other duplicates have it, I doubt these are two separate issues.)

*** This bug has been marked as a duplicate of bug 228324 ***