Bug 265188 - Kontact crashes when pressing 'Print' button
Summary: Kontact crashes when pressing 'Print' button
Status: RESOLVED FIXED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
: 252279 341680 346091 348406 350099 366214 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-02-02 14:19 UTC by Alvin
Modified: 2017-01-17 16:23 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.6.1


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alvin 2011-02-02 14:19:49 UTC
Application: kontact (4.4.9)
KDE Platform Version: 4.6.00 (4.6.0)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-25-generic x86_64
Distribution: Ubuntu 10.10

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

1. Start Kontact
2. Select a mail in Kmail
3. Press print
4. *CRASH*

The crash can be reproduced every time.

-- Backtrace:
Application: Kontact (kontact), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f5c95fca780 (LWP 25058))]

Thread 4 (Thread 0x7f5c6842b700 (LWP 25118)):
#0  0x00007f5c92f34203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f5c8c5b4009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f5c8c5b445c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f5c936781e6 in QEventDispatcherGlib::processEvents (this=0x23c7420, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f5c9364aa02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f5c9364adec in QEventLoop::exec (this=0x7f5c6842ad90, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f5c935552fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f5c9362a5f8 in QInotifyFileSystemWatcherEngine::run (this=0x22eb190) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f5c9355827e in QThreadPrivate::start (arg=0x22eb190) at thread/qthread_unix.cpp:266
#9  0x00007f5c8ca72971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007f5c92f4092d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f5c6b7fe700 (LWP 25132)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f5c93558e3b in wait (this=<value optimized out>, mutex=0x29f21a8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x29f21a8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f5c9456110e in QFileInfoGatherer::run (this=<value optimized out>) at dialogs/qfileinfogatherer.cpp:214
#4  0x00007f5c9355827e in QThreadPrivate::start (arg=0x29f2198) at thread/qthread_unix.cpp:266
#5  0x00007f5c8ca72971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#6  0x00007f5c92f4092d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f5c70e21700 (LWP 25133)):
#0  0x00007f5c92f34203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f5c8c5b4009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f5c8c5b445c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f5c936781e6 in QEventDispatcherGlib::processEvents (this=0x2cc3fa0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f5c9364aa02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f5c9364adec in QEventLoop::exec (this=0x7f5c70e20d90, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f5c935552fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f5c9362a5f8 in QInotifyFileSystemWatcherEngine::run (this=0x2a591c0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f5c9355827e in QThreadPrivate::start (arg=0x2a591c0) at thread/qthread_unix.cpp:266
#9  0x00007f5c8ca72971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007f5c92f4092d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f5c95fca780 (LWP 25058)):
[KCrash Handler]
#6  d_func (this=0x0, url=...) at ../../kdecore/services/kmimetype.h:48
#7  KMimeType::iconName (this=0x0, url=...) at ../../kdecore/services/kmimetype.cpp:565
#8  0x00007f5c818ce807 in KQGuiPlatformPlugin::fileSystemIcon (this=<value optimized out>, file=...) at ../../qguiplatformplugin_kde/qguiplatformplugin_kde.cpp:179
#9  0x00007f5c94629968 in QFileIconProvider::icon (this=<value optimized out>, info=...) at itemviews/qfileiconprovider.cpp:392
#10 0x00007f5c9455f841 in QFileInfoGatherer::getInfo (this=0x29f2198, fileInfo=...) at dialogs/qfileinfogatherer.cpp:233
#11 0x00007f5c94557eda in QFileSystemModelPrivate::_q_fileSystemChanged (this=0x29f20d0, path=<value optimized out>, updates=<value optimized out>) at dialogs/qfilesystemmodel.cpp:1795
#12 0x00007f5c94558f83 in QFileSystemModel::qt_metacall (this=0x27ec3a0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7f5c6001f5e0) at .moc/release-shared/moc_qfilesystemmodel.cpp:99
#13 0x00007f5c9365dbde in QObject::event (this=0x27ec3a0, e=0x7ffff109a660) at kernel/qobject.cpp:1219
#14 0x00007f5c9455229e in QFileSystemModel::event (this=0x7ffff109a660, event=0x0) at dialogs/qfilesystemmodel.cpp:1608
#15 0x00007f5c9402dfdc in QApplicationPrivate::notify_helper (this=0x11f8af0, receiver=0x27ec3a0, e=0x7f5c6001e430) at kernel/qapplication.cpp:4396
#16 0x00007f5c94033aed in QApplication::notify (this=0x7ffff109c750, receiver=0x27ec3a0, e=0x7f5c6001e430) at kernel/qapplication.cpp:4277
#17 0x00007f5c94dbda36 in KApplication::notify (this=0x7ffff109c750, receiver=0x27ec3a0, event=0x7f5c6001e430) at ../../kdeui/kernel/kapplication.cpp:311
#18 0x00007f5c9364bcdc in QCoreApplication::notifyInternal (this=0x7ffff109c750, receiver=0x27ec3a0, event=0x7f5c6001e430) at kernel/qcoreapplication.cpp:732
#19 0x00007f5c9364ec22 in sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x11d13b0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#20 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x11d13b0) at kernel/qcoreapplication.cpp:1373
#21 0x00007f5c93678653 in sendPostedEvents (s=0x120b120) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#22 postEventSourceDispatch (s=0x120b120) at kernel/qeventdispatcher_glib.cpp:277
#23 0x00007f5c8c5b0342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#24 0x00007f5c8c5b42a8 in ?? () from /lib/libglib-2.0.so.0
#25 0x00007f5c8c5b445c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#26 0x00007f5c93678193 in QEventDispatcherGlib::processEvents (this=0x11f44a0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#27 0x00007f5c940e0a4e in QGuiEventDispatcherGlib::processEvents (this=0x7ffff109a660, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#28 0x00007f5c9364aa02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#29 0x00007f5c9364adec in QEventLoop::exec (this=0x7ffff109b450, flags=) at kernel/qeventloop.cpp:201
#30 0x00007f5c945227de in QDialog::exec (this=0x2a95c80) at dialogs/qdialog.cpp:552
#31 0x00007f5c9244bd99 in KHTMLView::print (this=<value optimized out>, quick=false) at ../../khtml/khtmlview.cpp:3048
#32 0x00007f5c76dd35c1 in KMReaderWin::slotPrintMsg (this=0x22e0dc0) at ../../kmail/kmreaderwin.cpp:1819
#33 0x00007f5c76dead21 in KMReaderWin::qt_metacall (this=0x22e0dc0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffff109bb30) at ./kmreaderwin.moc:230
#34 0x00007f5c93663b27 in QMetaObject::activate (sender=0x31861a0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xbf9e0) at kernel/qobject.cpp:3280
#35 0x00007f5c76f540e7 in KMail::KHtmlPartHtmlWriter::end (this=0x31861a0) at ../../kmail/khtmlparthtmlwriter.cpp:95
#36 0x00007f5c76f53371 in KMail::KHtmlPartHtmlWriter::qt_metacall (this=0x31861a0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=<value optimized out>) at ./khtmlparthtmlwriter.moc:79
#37 0x00007f5c93663b27 in QMetaObject::activate (sender=0x31861c8, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xbf9e0) at kernel/qobject.cpp:3280
#38 0x00007f5c9365d8f9 in QObject::event (this=0x31861c8, e=0x0) at kernel/qobject.cpp:1183
#39 0x00007f5c9402dfdc in QApplicationPrivate::notify_helper (this=0x11f8af0, receiver=0x31861c8, e=0x7ffff109c3f0) at kernel/qapplication.cpp:4396
#40 0x00007f5c94033aed in QApplication::notify (this=0x7ffff109c750, receiver=0x31861c8, e=0x7ffff109c3f0) at kernel/qapplication.cpp:4277
#41 0x00007f5c94dbda36 in KApplication::notify (this=0x7ffff109c750, receiver=0x31861c8, event=0x7ffff109c3f0) at ../../kdeui/kernel/kapplication.cpp:311
#42 0x00007f5c9364bcdc in QCoreApplication::notifyInternal (this=0x7ffff109c750, receiver=0x31861c8, event=0x7ffff109c3f0) at kernel/qcoreapplication.cpp:732
#43 0x00007f5c9367b6f2 in sendEvent (this=0x120bf60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#44 QTimerInfoList::activateTimers (this=0x120bf60) at kernel/qeventdispatcher_unix.cpp:602
#45 0x00007f5c936784a4 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#46 0x00007f5c8c5b0342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#47 0x00007f5c8c5b42a8 in ?? () from /lib/libglib-2.0.so.0
#48 0x00007f5c8c5b445c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#49 0x00007f5c93678193 in QEventDispatcherGlib::processEvents (this=0x11f44a0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#50 0x00007f5c940e0a4e in QGuiEventDispatcherGlib::processEvents (this=0x7ffff109a660, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#51 0x00007f5c9364aa02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#52 0x00007f5c9364adec in QEventLoop::exec (this=0x7ffff109c690, flags=) at kernel/qeventloop.cpp:201
#53 0x00007f5c9364eebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#54 0x0000000000403b4e in main (argc=<value optimized out>, argv=<value optimized out>) at ../../../kontact/src/main.cpp:224

Reported using DrKonqi
Comment 1 David Faure 2011-02-02 15:16:36 UTC
Can you paste me the last lines of output from kmail before it crashes?
Either start it on the command line, or look into ~/.xsession-errors.

KMimeType::findByPath isn't supposed to ever return 0; did you get error dialogs about missing mimetypes maybe?

Since you can reproduce this reliably, we could also meet on IRC (irc.kde.org, channel #kde-devel, nick dfaure) and debug this live (I need to see the value of a string in gdb...)
Comment 2 David Faure 2011-02-02 16:37:28 UTC
Bug investigated:
 ~/.local/share/mime/globs still had
 application/x-wine-extension-ini:*.ini
even though this mimetype isn't defined anymore (the file under packages/ was removed, but update-mime-database wasn't re-run afterwards).
This made KMimeType::findByUrl return mimeType(inexistent), i.e. null, which is never supposed to happen. Fix coming up.
Comment 3 David Faure 2011-02-02 16:43:55 UTC
Git commit 242512b0421207bb42284daaaf9ba4ad6ecb1d1d by David Faure.
Committed on 02/02/11 at 16:31.
Pushed by dfaure into branch 'master'.

Fix crash when a glob file refers to a mimetype that doesn't exist anymore.

This made KMimeType::findByUrl return NULL, which is never supposed to happen.
FIXED-IN: 4.6.1
BUG: 265188

M  +18   -3    kdecore/services/kmimetype.cpp     

http://commits.kde.org/kdelibs/242512b0421207bb42284daaaf9ba4ad6ecb1d1d
Comment 4 David Faure 2011-02-02 16:50:33 UTC
Git commit a92a7410c1faf5e6ea7fc764f9feb990800f4d63 by David Faure.
Committed on 02/02/11 at 16:31.
Pushed by dfaure into branch 'KDE/4.6'.

Fix crash when a glob file refers to a mimetype that doesn't exist anymore.

This made KMimeType::findByUrl return NULL, which is never supposed to happen.
FIXED-IN: 4.6.1
BUG: 265188

M  +18   -3    kdecore/services/kmimetype.cpp     

http://commits.kde.org/kdelibs/a92a7410c1faf5e6ea7fc764f9feb990800f4d63
Comment 5 David Faure 2011-02-14 11:38:13 UTC
*** Bug 252279 has been marked as a duplicate of this bug. ***
Comment 6 Christoph Cullmann 2015-07-24 16:22:33 UTC
*** Bug 341680 has been marked as a duplicate of this bug. ***
Comment 7 Christoph Cullmann 2015-07-24 16:24:07 UTC
*** Bug 350099 has been marked as a duplicate of this bug. ***
Comment 8 Christoph Cullmann 2015-10-11 06:35:03 UTC
*** Bug 348406 has been marked as a duplicate of this bug. ***
Comment 9 Christoph Cullmann 2016-09-05 11:45:33 UTC
*** Bug 366214 has been marked as a duplicate of this bug. ***
Comment 10 Alex Bikadorov 2017-01-17 16:23:18 UTC
*** Bug 346091 has been marked as a duplicate of this bug. ***