[Bug 163501] New: Crash with unreadable share/apps/kfileplaces/bookmarks.xml

Ivo Anjo knuckles at gmail.com
Sun Jun 8 02:33:35 CEST 2008


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=163501         
           Summary: Crash with unreadable
                    share/apps/kfileplaces/bookmarks.xml
           Product: kfile
           Version: unspecified
          Platform: Compiled Sources
        OS/Version: Linux
            Status: NEW
          Severity: crash
          Priority: NOR
         Component: kfileplacesview
        AssignedTo: kdelibs-bugs kde org
        ReportedBy: knuckles gmail com


Version:            (using Devel)
Installed from:    Compiled sources
OS:                Linux

Recently the open/save dialog on all kde apps started crashing on me, and dolphin too.

I was finally able to trace it back to having an unreadable  ~/.kde4/share/apps/kfileplaces/bookmarks.xml that somehow (probably when using sudo or something) got saved with some strange permissions:
$ ls -lah share/apps/kfileplaces/bookmarks.xml
-rw------- 1 root root 1.5K 2008-04-26 22:54 share/apps/kfileplaces/bookmarks.xml

The apps crash with something like this: (from dolphin)
Application: Dolphin (dolphin), signal SIGSEGV
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb5f09a80 (LWP 16900)]
[KCrash handler]
#6  0xb65fc355 in QDomNode::~QDomNode () from /usr/lib/libQtXml.so.4
#7  0xb65fc37d in QDomDocument::~QDomDocument () from /usr/lib/libQtXml.so.4
#8  0xb7da6234 in findMetadata (forOwner= 0xbfc73a14, parent= 0xbfc739c8, 
    create=true)
    at /build/buildd/kde4libs-4.0.80/kio/bookmarks/kbookmark.cc:85
#9  0xb7da6424 in KBookmark::metaData (this=0xbfc73b6c, owner= 0xbfc73a14, 
    create=true)
    at /build/buildd/kde4libs-4.0.80/kio/bookmarks/kbookmark.cc:554
#10 0xb7da6480 in KBookmark::setMetaDataItem (this=0xbfc73b6c, 
    key= 0xbfc73a50, value= 0xbfc73a54, mode=KBookmark::OverwriteMetaData)
    at /build/buildd/kde4libs-4.0.80/kio/bookmarks/kbookmark.cc:571
#11 0xb74e4b8d in KFilePlacesItem::createBookmark (manager=0x81d4940, 
    label= 0xbfc73b5c, url= 0xbfc73b20, iconName= 0xbfc73b68)
    at /build/buildd/kde4libs-4.0.80/kfile/kfileplacesitem.cpp:183
#12 0xb74e4c07 in KFilePlacesItem::createSystemBookmark (manager=0x81d4940, 
    label= 0xbfc73b5c, url= 0xbfc73b20, iconName= 0xbfc73b68)
    at /build/buildd/kde4libs-4.0.80/kfile/kfileplacesitem.cpp:193
#13 0xb74e9372 in KFilePlacesModel (this=0x81d4a68, parent=0x0)
    at /build/buildd/kde4libs-4.0.80/kfile/kfileplacesmodel.cpp:94
#14 0xb7ec696a in DolphinSettings::DolphinSettings ()
   from /usr/lib/kde4/lib/libdolphinprivate.so.4
#15 0xb7ec6cad in ?? () from /usr/lib/kde4/lib/libdolphinprivate.so.4
#16 0xb7ec6aa8 in ?? () from /usr/lib/kde4/lib/libdolphinprivate.so.4
#17 0xb7ec6b90 in DolphinSettings::instance ()
   from /usr/lib/kde4/lib/libdolphinprivate.so.4
#18 0x0806da4c in _start ()
#0  0xb7ef5410 in __kernel_vsyscall ()

or this: (from kate)
Application: Kate (kate), signal SIGSEGV
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb5e26720 (LWP 16665)]
[KCrash handler]
#6  0x00000049 in ?? ()
#7  0xb664537d in QDomDocument::~QDomDocument () from /usr/lib/libQtXml.so.4
#8  0xb6afb234 in findMetadata (forOwner= 0xbff2b5d4, parent= 0xbff2b588, 
    create=true)
    at /build/buildd/kde4libs-4.0.80/kio/bookmarks/kbookmark.cc:85
#9  0xb6afb424 in KBookmark::metaData (this=0xbff2b718, owner= 0xbff2b5d4, 
    create=true)
    at /build/buildd/kde4libs-4.0.80/kio/bookmarks/kbookmark.cc:554
#10 0xb6afb480 in KBookmark::setMetaDataItem (this=0xbff2b718, 
    key= 0xbff2b610, value= 0xbff2b614, mode=KBookmark::OverwriteMetaData)
    at /build/buildd/kde4libs-4.0.80/kio/bookmarks/kbookmark.cc:571
#11 0xb3e47b8d in KFilePlacesItem::createBookmark (manager=0x8092fa0, 
    label= 0xbff2b710, url= 0xbff2b6d8, iconName= 0xbff2b714)
    at /build/buildd/kde4libs-4.0.80/kfile/kfileplacesitem.cpp:183
#12 0xb3e47c07 in KFilePlacesItem::createSystemBookmark (manager=0x8092fa0, 
    label= 0xbff2b710, url= 0xbff2b6d8, iconName= 0xbff2b714)
    at /build/buildd/kde4libs-4.0.80/kfile/kfileplacesitem.cpp:193
#13 0xb3e4c43b in KFilePlacesModel (this=0x80881b8, parent=0x871cad0)
    at /build/buildd/kde4libs-4.0.80/kfile/kfileplacesmodel.cpp:96
#14 0xb3e42bc5 in KFileWidget (this=0x871cad0, startDir= 0xbff2bab0, 
    parent=0xbff2bb0c)
    at /build/buildd/kde4libs-4.0.80/kfile/kfilewidget.cpp:261
#15 0xb395849b in KFileModule::createFileWidget (this=0x87126b8, 
    startDir= 0xbff2bab0, parent=0xbff2bb0c)
    at /build/buildd/kde4libs-4.0.80/kfile/kfilemodule.cpp:36
#16 0xb6b22a60 in KFileDialog (this=0xbff2bb0c, startDir= 0xbff2bab0, 
    filter= 0xbff2bbb4, parent=0x8214c38, customWidget=0x0)
    at /build/buildd/kde4libs-4.0.80/kio/kfile/kfiledialog.cpp:95
#17 0xb6b1f53b in KEncodingFileDialog (this=0xbff2bb0c, startDir= 0xbff2bbb8, 
    encoding= 0x81a9128, filter= 0xbff2bbb4, caption= 0xbff2bb38, 
    type=KFileDialog::Opening, parent=0x8214c38)
    at /build/buildd/kde4libs-4.0.80/kio/kfile/kencodingfiledialog.cpp:42
#18 0xb6b1fdd2 in KEncodingFileDialog::getOpenUrlsAndEncoding (
    encoding= 0x81a9128, startDir= 0xbff2bbb8, filter= 0xbff2bbb4, 
    parent=0x8214c38, caption= 0xbff2bbb0)
    at /build/buildd/kde4libs-4.0.80/kio/kfile/kencodingfiledialog.cpp:159
#19 0xb7dd034d in ?? () from /usr/lib/kde4/lib/libkateinterfaces.so.4
#20 0xb7dd06d7 in ?? () from /usr/lib/kde4/lib/libkateinterfaces.so.4
#21 0xb7adb4f9 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#22 0xb7adb930 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#23 0xb711edd1 in QAction::triggered () from /usr/lib/libQtGui.so.4
#24 0xb711f79f in QAction::activate () from /usr/lib/libQtGui.so.4
#25 0xb753eae2 in QToolButton::nextCheckState () from /usr/lib/libQtGui.so.4
#26 0xb746579f in ?? () from /usr/lib/libQtGui.so.4
#27 0xb7465a3b in QAbstractButton::mouseReleaseEvent ()
   from /usr/lib/libQtGui.so.4
#28 0xb753ebdc in QToolButton::mouseReleaseEvent ()
   from /usr/lib/libQtGui.so.4
#29 0xb717d4a4 in QWidget::event () from /usr/lib/libQtGui.so.4
#30 0xb7464aff in QAbstractButton::event () from /usr/lib/libQtGui.so.4
#31 0xb753e4b4 in QToolButton::event () from /usr/lib/libQtGui.so.4
#32 0xb7125c0c in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#33 0xb712acd5 in QApplication::notify () from /usr/lib/libQtGui.so.4
#34 0xb6836603 in KApplication::notify (this=0xbff2ccb4, receiver=0x83a4f88, 
    event=0xbff2c2dc)
    at /build/buildd/kde4libs-4.0.80/kdeui/kernel/kapplication.cpp:311
#35 0xb7ac66a9 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#36 0xb7127e21 in QApplicationPrivate::sendMouseEvent ()
   from /usr/lib/libQtGui.so.4
#37 0xb7191ccd in ?? () from /usr/lib/libQtGui.so.4
#38 0xb71906b1 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#39 0xb71b93ba in ?? () from /usr/lib/libQtGui.so.4
#40 0xb644bbf8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#41 0xb644ee5e in ?? () from /usr/lib/libglib-2.0.so.0
#42 0xb644f3ac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#43 0xb7af1f98 in QEventDispatcherGlib::processEvents ()
   from /usr/lib/libQtCore.so.4
#44 0xb71b91b5 in ?? () from /usr/lib/libQtGui.so.4
#45 0xb7ac592d in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#46 0xb7ac5abd in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#47 0xb7ac7d3d in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#48 0xb7125567 in QApplication::exec () from /usr/lib/libQtGui.so.4
#49 0xb7f6518b in kdemain () from /usr/lib/kde4/lib/libkdeinit4_kate.so
#50 0x08048582 in _start ()
#0  0xb7f6b410 in __kernel_vsyscall ()

I've deleted the file now and everything is back to normal, but the apps shouldn't crash on a unreadable file, and maybe a check if the file is being created with the right permissions too would help.


More information about the Kdelibs-bugs mailing list