Bug 163688 - KeditFile crashes when you modify a mimetype icon
Summary: KeditFile crashes when you modify a mimetype icon
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: David Faure
URL:
Keywords:
: 164944 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-06-10 10:04 UTC by Mathieu Tournier
Modified: 2008-07-01 23:27 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
how this bug happens (221.69 KB, image/jpeg)
2008-07-01 16:47 UTC, Mathieu Tournier
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mathieu Tournier 2008-06-10 10:04:13 UTC
Version:            (using Devel)
Installed from:    Compiled sources
OS:                Linux

Open systemsettings, advanced, files association, type blend in the search field, dubble clik on .blend default application and try to change the icon
Comment 1 Christophe Marin 2008-06-10 10:26:27 UTC
Please provide a backtrace. You will find informations on this page : http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports
Comment 2 Mathieu Tournier 2008-06-10 12:54:20 UTC
Backtrace of the crash:

Application: Configuration du système (systemsettings), signal SIGSEGV
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb621a720 (LWP 6559)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[KCrash handler]
#6  0xb78f0949 in ?? () from /usr/lib/kde4/lib/libkdecore.so.5
#7  0xb79f571a in KSycocaDict::Private::offsetForKey ()
   from /usr/lib/kde4/lib/libkdecore.so.5
#8  0xb79f6158 in KSycocaDict::find_string ()
   from /usr/lib/kde4/lib/libkdecore.so.5
#9  0xb797b80f in KServiceFactory::serviceFromPath ()
   from /usr/lib/kde4/lib/libkdecore.so.5
#10 0xb797b934 in KServiceFactory::findServiceByDesktopPath ()
   from /usr/lib/kde4/lib/libkdecore.so.5
#11 0xb7974672 in KService::serviceByDesktopPath ()
   from /usr/lib/kde4/lib/libkdecore.so.5
#12 0xb49da649 in ?? () from /usr/lib/kde4/lib/kde4/kcm_filetypes.so
#13 0xb49dac24 in ?? () from /usr/lib/kde4/lib/kde4/kcm_filetypes.so
#14 0xb77764f9 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#15 0xb7776bc2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#16 0xb7351e83 in QListWidget::itemDoubleClicked ()
   from /usr/lib/libQtGui.so.4
#17 0xb7355b77 in ?? () from /usr/lib/libQtGui.so.4
#18 0xb7356d1f in QListWidget::qt_metacall () from /usr/lib/libQtGui.so.4
#19 0xb77764f9 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#20 0xb7776bc2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#21 0xb72eaeb3 in QAbstractItemView::doubleClicked ()
   from /usr/lib/libQtGui.so.4
#22 0xb72eced9 in QAbstractItemView::mouseDoubleClickEvent ()
   from /usr/lib/libQtGui.so.4
#23 0xb6e897ef in QWidget::event () from /usr/lib/libQtGui.so.4
#24 0xb71be023 in QFrame::event () from /usr/lib/libQtGui.so.4
#25 0xb7251bcf in QAbstractScrollArea::viewportEvent ()
   from /usr/lib/libQtGui.so.4
#26 0xb72fad08 in QAbstractItemView::viewportEvent ()
   from /usr/lib/libQtGui.so.4
#27 0xb7252f55 in ?? () from /usr/lib/libQtGui.so.4
#28 0xb7761a21 in QCoreApplicationPrivate::sendThroughObjectEventFilters ()
   from /usr/lib/libQtCore.so.4
#29 0xb6e31be3 in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#30 0xb6e36cc5 in QApplication::notify () from /usr/lib/libQtGui.so.4
#31 0xb7bf8603 in KApplication::notify () from /usr/lib/kde4/lib/libkdeui.so.5
#32 0xb77616a9 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#33 0xb6e33e11 in QApplicationPrivate::sendMouseEvent ()
   from /usr/lib/libQtGui.so.4
#34 0xb6e9dcbd in ?? () from /usr/lib/libQtGui.so.4
#35 0xb6e9c6a1 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#36 0xb6ec539a in ?? () from /usr/lib/libQtGui.so.4
#37 0xb658abf8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#38 0xb658de5e in ?? () from /usr/lib/libglib-2.0.so.0
#39 0xb658e3ac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#40 0xb778cf98 in QEventDispatcherGlib::processEvents ()
   from /usr/lib/libQtCore.so.4
#41 0xb6ec5195 in ?? () from /usr/lib/libQtGui.so.4
#42 0xb776092d in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#43 0xb7760abd in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#44 0xb7762d3d in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#45 0xb6e31567 in QApplication::exec () from /usr/lib/libQtGui.so.4
#46 0x08057421 in ?? ()
#47 0xb6acc450 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#48 0x080522e1 in _start ()
#0  0xb7fc1410 in __kernel_vsyscall ()
Comment 3 FiNeX 2008-06-11 10:27:30 UTC
As you should have read on the page pointed out bu Christophe, this type of backtrace is not very useful. You should use package with the debug symbols.
Comment 4 Mathieu Tournier 2008-06-11 13:01:22 UTC
Sorry, i haven't read all the page
Here, the backtrace (useful this time :-))

Application: System Settings (systemsettings), signal SIGSEGV
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb61f1720 (LWP 7165)]
[KCrash handler]
#6  0xb78c6949 in QString::length (this=0x810d088)
    at /usr/include/qt4/QtCore/qstring.h:647
#7  0xb79cb71a in KSycocaDict::Private::offsetForKey (this=0x0, 
    key=@0x84d888c)
    at /build/buildd/kde4libs-4.0.80/kdecore/sycoca/ksycocadict.cpp:513
#8  0xb79cc158 in KSycocaDict::find_string (this=0x84beb38, key=@0x84d888c)
    at /build/buildd/kde4libs-4.0.80/kdecore/sycoca/ksycocadict.cpp:142
#9  0xb795180f in KServiceFactory::serviceFromPath (this=0x8590780, 
    _name=@0x84d888c)
    at /build/buildd/kde4libs-4.0.80/kdecore/services/kservicefactory.cpp:130
#10 0xb7951934 in KServiceFactory::findServiceByDesktopPath (this=0x8590780, 
    _name=@0x84d888c)
    at /build/buildd/kde4libs-4.0.80/kdecore/services/kservicefactory.cpp:155
#11 0xb794a672 in KService::serviceByDesktopPath (_name=@0x84d888c)
    at /build/buildd/kde4libs-4.0.80/kdecore/services/kservice.cpp:598
#12 0xb4a16649 in ?? () from /usr/lib/kde4/lib/kde4/kcm_filetypes.so
#13 0xb4a16c24 in ?? () from /usr/lib/kde4/lib/kde4/kcm_filetypes.so
#14 0xb774d4f9 in QMetaObject::activate (sender=0x83eff50, 
    from_signal_index=71, to_signal_index=71, argv=0xbf81c68c)
    at kernel/qobject.cpp:3010
#15 0xb774dbc2 in QMetaObject::activate (sender=0x83eff50, m=0xb75e53c8, 
    local_signal_index=2, argv=0xbf81c68c) at kernel/qobject.cpp:3080
#16 0xb7328e83 in QListWidget::itemDoubleClicked (this=0x83eff50, 
    _t1=0x84d8870) at .moc/release-shared/moc_qlistwidget.cpp:192
#17 0xb732cb77 in QListWidgetPrivate::_q_emitItemDoubleClicked (
    this=0x841f360, index=@0x853d250) at itemviews/qlistwidget.cpp:1045
#18 0xb732dd1f in QListWidget::qt_metacall (this=0x83eff50, 
    _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0xbf81c7ac)
    at .moc/release-shared/moc_qlistwidget.cpp:131
#19 0xb774d4f9 in QMetaObject::activate (sender=0x83eff50, 
    from_signal_index=33, to_signal_index=33, argv=0xbf81c7ac)
    at kernel/qobject.cpp:3010
#20 0xb774dbc2 in QMetaObject::activate (sender=0x83eff50, m=0xb75e4824, 
    local_signal_index=2, argv=0xbf81c7ac) at kernel/qobject.cpp:3080
#21 0xb72c1eb3 in QAbstractItemView::doubleClicked (this=0x83eff50, 
    _t1=@0x853d250) at .moc/release-shared/moc_qabstractitemview.cpp:323
#22 0xb72c3ed9 in QAbstractItemView::mouseDoubleClickEvent (this=0x83eff50, 
    event=0xbf81d01c) at itemviews/qabstractitemview.cpp:1636
#23 0xb6e607ef in QWidget::event (this=0x83eff50, event=0xbf81d01c)
    at kernel/qwidget.cpp:6931
#24 0xb7195023 in QFrame::event (this=0x83eff50, e=0xbf81d01c)
    at widgets/qframe.cpp:657
#25 0xb7228bcf in QAbstractScrollArea::viewportEvent (this=0x83eff50, 
    e=0x84beb38) at widgets/qabstractscrollarea.cpp:941
#26 0xb72d1d08 in QAbstractItemView::viewportEvent (this=0x83eff50, 
    event=0xbf81d01c) at itemviews/qabstractitemview.cpp:1426
#27 0xb7229f55 in QAbstractScrollAreaFilter::eventFilter (this=0x8420698, 
    o=0x841fdf8, e=0xbf81d01c) at widgets/qabstractscrollarea_p.h:102
#28 0xb7738a21 in QCoreApplicationPrivate::sendThroughObjectEventFilters (
    this=0x8075b28, receiver=0x841fdf8, event=0xbf81d01c)
    at kernel/qcoreapplication.cpp:694
#29 0xb6e08be3 in QApplicationPrivate::notify_helper (this=0x8075b28, 
    receiver=0x841fdf8, e=0xbf81d01c) at kernel/qapplication.cpp:3768
#30 0xb6e0dcc5 in QApplication::notify (this=0xbf81d7f4, receiver=0x841fdf8, 
    e=0xbf81d01c) at kernel/qapplication.cpp:3501
#31 0xb7bce603 in KApplication::notify (this=0xbf81d7f4, receiver=0x841fdf8, 
    event=0xbf81d01c)
    at /build/buildd/kde4libs-4.0.80/kdeui/kernel/kapplication.cpp:311
#32 0xb77386a9 in QCoreApplication::notifyInternal (this=0xbf81d7f4, 
    receiver=0x841fdf8, event=0xbf81d01c) at kernel/qcoreapplication.cpp:587
#33 0xb6e0ae11 in QApplicationPrivate::sendMouseEvent (receiver=0x841fdf8, 
    event=0xbf81d01c, alienWidget=0x0, nativeWidget=0x841fdf8, 
    buttonDown=0xb75f5850, lastMouseReceiver=@0xb75f5854)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#34 0xb6e74cbd in QETWidget::translateMouseEvent (this=0x841fdf8, 
    event=0xbf81d538) at kernel/qapplication_x11.cpp:4133
#35 0xb6e736a1 in QApplication::x11ProcessEvent (this=0xbf81d7f4, 
    event=0xbf81d538) at kernel/qapplication_x11.cpp:3255
#36 0xb6e9c39a in x11EventSourceDispatch (s=0x80788c0, callback=0, 
    user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#37 0xb6561bf8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#38 0xb6564e5e in ?? () from /usr/lib/libglib-2.0.so.0
#39 0xb65653ac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#40 0xb7763f98 in QEventDispatcherGlib::processEvents (this=0x8075040, 
    flags=@0xbf81d6d8) at kernel/qeventdispatcher_glib.cpp:325
#41 0xb6e9c195 in QGuiEventDispatcherGlib::processEvents (this=0x8075040, 
    flags=@0xbf81d708) at kernel/qguieventdispatcher_glib.cpp:204
#42 0xb773792d in QEventLoop::processEvents (this=0xbf81d780, 
    flags=@0xbf81d744) at kernel/qeventloop.cpp:149
#43 0xb7737abd in QEventLoop::exec (this=0xbf81d780, flags=@0xbf81d788)
    at kernel/qeventloop.cpp:200
#44 0xb7739d3d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#45 0xb6e08567 in QApplication::exec () at kernel/qapplication.cpp:3304
#46 0x08057421 in ?? ()
#47 0xb6aa3450 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#48 0x080522e1 in _start ()
#0  0xb7f97410 in __kernel_vsyscall ()
Comment 5 Mathieu Tournier 2008-06-11 13:15:56 UTC
I note this crash happens when you try to change the icon of the default application (whatever the extension of the file)
Comment 6 Will Stephenson 2008-06-26 10:56:08 UTC
*** Bug 164944 has been marked as a duplicate of this bug. ***
Comment 7 David Faure 2008-07-01 14:11:12 UTC
Did you cancel the progress dialog about "updating system database"? If so, then this crash has been fixed by Will recently.

For KDE-4.1 I disabled changing mimetype icons anyway, since it needs icon support from shared-mime-database, which was only added very recently (shared-mime-info 0.40, 2008-06-11), so the kde code isn't yet ready for it (I made some progress with that code today though, but it will be for KDE-4.2).
Comment 8 David Faure 2008-07-01 14:13:35 UTC
Note that "the icon of the default application" is a misconception. You're not changing application icons at all, you're changing the icon of the type of file.
This icon can be completely unrelated to the application(s) associated with the type of file. (I think this misconception comes from Windows, where the icon for a file is the icon of the associated application).
Comment 9 Mathieu Tournier 2008-07-01 16:47:42 UTC
Created attachment 25774 [details]
how this bug happens
Comment 10 David Faure 2008-07-01 22:42:17 UTC
Excellent description of the bug, thanks a lot!
I misinterpreted it indeed, it is about changing an application's icon, from the filetypes editor. I'll have to try that.
Comment 11 David Faure 2008-07-01 23:27:45 UTC
SVN commit 826961 by dfaure:

Fix crash due to use of deleted service after modifying it - ksycoca signal recreates list of items, so we better not keep a pointer to an item in that method.
With kudos to Mathieu Tournier for the best bug report description ever (completely graphical, see http://bugs.kde.org/attachment.cgi?id=25774&action=view )
BUG: 163688


 M  +44 -41    kservicelistwidget.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=826961