Bug 205069

Summary: DragonPlayer crashes after trying to open a file (fileModule() returs 0, libkfilemodule vs kfilemodule)
Product: [Unmaintained] kdelibs Reporter: Javier <javi.azuaga>
Component: generalAssignee: kdelibs bugs <kdelibs-bugs>
Status: RESOLVED FIXED    
Severity: major CC: andresbajotierra, cfeck, Ch.Ehrlicher, finex, friesoft, kde-windows, martin.sandsmark, neundorf
Priority: HI    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Javier 2009-08-25 13:32:48 UTC
Application: dragon (2.0)
KDE Version: 4.3.65 (KDE 4.3.65 (KDE 4.4 >= 20090820)) (Compiled from sources)
Qt Version: 4.5.2
Operating System: Linux 2.6.28-15-generic x86_64
Distribution: Ubuntu 9.04

What I was doing when the application crashed:
Revision 1015366 of kdelibs, kdepimlibs & kdebase.
Revision 1015147 of kdemultimedia.

As bug 204874 says, there is a problem when trying to open a file/folder. It's marked as resolved but with todays snapshots it still happends everytime you try it.

The same goes for today's amarok snapshot, it crashes after trying to open a file/folder. If it's usefull I can report that crash too.

 -- Backtrace:
Application: Dragon Player (dragon), signal: Segmentation fault
[Current thread is 0 (LWP 4225)]

Thread 6 (Thread 0x7fb20bd5e950 (LWP 4226)):
#0  0x00007fb21a02f56d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fb21b549061 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fb21a02b3ba in start_thread () from /lib/libpthread.so.0
#3  0x00007fb218a12fcd in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fb20a922950 (LWP 4227)):
#0  0x00007fb218a0b742 in select () from /lib/libc.so.6
#1  0x00007fb21b572034 in xine_usec_sleep () from /usr/lib/libxine.so.1
#2  0x00007fb21b556f59 in ?? () from /usr/lib/libxine.so.1
#3  0x00007fb21a02b3ba in start_thread () from /lib/libpthread.so.0
#4  0x00007fb218a12fcd in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fb2096ad950 (LWP 4228)):
#0  0x00007fb2153311d8 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#1  0x00007fb2153315ff in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007fb215331a7c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007fb21a3b1aae in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#4  0x00007fb21a386f42 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#5  0x00007fb21a387314 in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#6  0x00007fb21a29bdc8 in QThread::exec () from /usr/lib/libQtCore.so.4
#7  0x00007fb2112e68f0 in Phonon::Xine::XineThread::run () from /home/javi/kde/lib/kde4/plugins/phonon_backend/phonon_xine.so
#8  0x00007fb21a29ed35 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007fb21a02b3ba in start_thread () from /lib/libpthread.so.0
#10 0x00007fb218a12fcd in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fb208ca2950 (LWP 4235)):
#0  0x00007fb218a09496 in poll () from /lib/libc.so.6
#1  0x00007fb208ca7969 in ?? () from /usr/lib/xine/plugins/1.25/xineplug_ao_out_alsa.so
#2  0x00007fb21a02b3ba in start_thread () from /lib/libpthread.so.0
#3  0x00007fb218a12fcd in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fb203fff950 (LWP 4236)):
#0  0x00007fb21a02f2e9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fb21b55a423 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fb21a02b3ba in start_thread () from /lib/libpthread.so.0
#3  0x00007fb218a12fcd in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fb21cba2750 (LWP 4225)):
[KCrash Handler]
#5  0x00007fb21c4981b4 in KFileDialog (this=0x7fff24bdcf20, startDir=@0x7fff24bdd000, filter=@0x7fff24bdd050, parent=<value optimized out>, customWidget=0x0)
    at /home/javi/kde/src/KDE/kdelibs/kio/kfile/kfiledialog.cpp:241
#6  0x00007fb21c498f8c in KFileDialog::getOpenUrl (startDir=@0x7fff24bdd000, filter=@0x7fff24bdd050, parent=0x14d1b30, caption=@0x7fff24bdd040)
    at /home/javi/kde/src/KDE/kdelibs/kio/kfile/kfiledialog.cpp:505
#7  0x0000000000428482 in Dragon::MainWindow::openFileDialog (this=0x14d1b30) at /home/javi/kde/src/KDE/kdemultimedia/dragonplayer/src/app/mainWindow.cpp:617
#8  0x0000000000428f65 in Dragon::MainWindow::qt_metacall (this=0x14d1b30, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff24bdd1b0)
    at /home/javi/kde/build/KDE/kdemultimedia/dragonplayer/src/app/mainWindow.moc:111
#9  0x00007fb21a39dea2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#10 0x00000000004152b8 in Dragon::LoadView::qt_metacall (this=0x14e33c0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff24bdd2c0)
    at /home/javi/kde/build/KDE/kdemultimedia/dragonplayer/src/app/moc_loadView.cpp:70
#11 0x00007fb21a39dea2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#12 0x00007fb21996578e in ?? () from /usr/lib/libQtGui.so.4
#13 0x00007fb2199678ac in ?? () from /usr/lib/libQtGui.so.4
#14 0x00007fb219967b15 in QAbstractButton::mouseReleaseEvent () from /usr/lib/libQtGui.so.4
#15 0x00007fb21963b0bf in QWidget::event () from /usr/lib/libQtGui.so.4
#16 0x00007fb2195e9f4d in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#17 0x00007fb2195f28ea in QApplication::notify () from /usr/lib/libQtGui.so.4
#18 0x00007fb21beb403b in KApplication::notify (this=0x7fff24bdf9c0, receiver=0x14e3ce0, event=0x7fff24bddac0) at /home/javi/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302
#19 0x00007fb21a3886ac in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#20 0x00007fb2195f1b38 in QApplicationPrivate::sendMouseEvent () from /usr/lib/libQtGui.so.4
#21 0x00007fb21965bb19 in ?? () from /usr/lib/libQtGui.so.4
#22 0x00007fb21965ab53 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#23 0x00007fb219683454 in ?? () from /usr/lib/libQtGui.so.4
#24 0x00007fb21532e20a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#25 0x00007fb2153318e0 in ?? () from /usr/lib/libglib-2.0.so.0
#26 0x00007fb215331a7c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#27 0x00007fb21a3b1a8f in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#28 0x00007fb219682bdf in ?? () from /usr/lib/libQtGui.so.4
#29 0x00007fb21a386f42 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#30 0x00007fb21a387314 in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#31 0x00007fb21a3895e4 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#32 0x0000000000423f46 in main (argc=1, argv=<value optimized out>) at /home/javi/kde/src/KDE/kdemultimedia/dragonplayer/src/app/main.cpp:57

This bug may be a duplicate of or related to bug 204874.

Reported using DrKonqi
Comment 1 Martin Sandsmark 2009-08-25 17:52:07 UTC
It seems like our usage of kfiledialog is correct, so I'm re-assigning to kdelibs.
(We're calling it like so:
        const KUrl url = KFileDialog::getOpenUrl( KUrl("kfiledialog:///dragonplayer"),mimeFilter.join(" "), this, i18n("Select File to Play") ); 
)
Comment 2 Christoph Feck 2009-08-25 23:02:46 UTC
The crash is probably caused by fileModule() returning 0. This should not happen with a standard KDE installation.

Javier, can you please check if you can reproduce this when you run from Konsole? There should be a warning about "libkfilemodule".
Comment 3 Christoph Feck 2009-08-25 23:26:22 UTC
Actually the fix for bug 204874 (on Windows) causes this bug (on Linux).

The problem is the naming "libkfilemodule" vs. "kfilemodule". I don't get the crash, because I have installed both (from an older compile):

> 280676 25. Aug 18:50 /local/kde4/lib/kde4/kfilemodule.so
> 276056 22. Aug 13:21 /local/kde4/lib/kde4/libkfilemodule.so

Commit r1014877 changed this to fix Windows, but the crash is now on Linux.

Raising severity and priority, adding some CC to clarify.
kde-buildsystem does not have a Bugzilla account, so adding Alexander directly. If anyone knows an address (he is on vacation), please add to CC.
Comment 4 Dario Andres 2009-08-25 23:53:21 UTC
*** Bug 205026 has been marked as a duplicate of this bug. ***
Comment 5 Christoph Feck 2009-08-26 00:29:58 UTC
SVN commit 1015602 by cfeck:

Use WITH_PREFIX for "kfilemodule" conditionally on WIN32

Temporary? I have no idea for a better fix...

If this is the right way to solve this, please close.

CCBUG: 205069


 M  +7 -1      CMakeLists.txt  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1015602
Comment 6 FiNeX 2009-08-26 01:29:53 UTC
The patch works for me.
Comment 7 Christian Ehrlicher 2009-08-26 06:33:42 UTC
I think it's ok although it breaks BC on windows but this shouldn't matter. It's better than adding a hack in KPluginLoader.
Comment 8 Christoph Feck 2009-10-05 17:10:25 UTC
There has been no proposal for a different way to solve this issue (see comment #5), so I am closing this bug.