Bug 125924 - kbuildsycoca crashes during system restart and yum install
Summary: kbuildsycoca crashes during system restart and yum install
Status: RESOLVED FIXED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: ksycoca (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
: 127916 142798 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-04-20 01:02 UTC by Paul Lemmons
Modified: 2011-04-25 20:20 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Lemmons 2006-04-20 01:02:58 UTC
Version:           3.5.2 (using KDE KDE 3.5.2)
Installed from:    Fedora RPMs
OS:                Linux

Fedora Core 4. Started during the yum update to 3.5.2 and persists after a reboot. When trying to run from command line I get:

# kbuildsycoca
Warning: kbuildsycoca is unable to register with DCOP.
kbuildsycoca running...
Link points to "/tmp/ksocket-root"
Link points to "/tmp/kde-root"
kbuildsycoca running...
KCrash: Application 'kbuildsycoca' crashing...

$ uname -r
2.6.16-1.2069_FC4smp

Crash Report:

(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".
(no debugging symbols found)
`shared object read from target memory' has disappeared; keeping its symbols.
(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 -1208207696 (LWP 4951)]
(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  0x0647c1b1 in QGDictIterator::toFirst ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#7  0x0647e4fc in QGDictIterator::QGDictIterator$base ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#8  0x0439823e in VFolderMenu::excludeItems ()
   from /usr/lib/libkdeinit_kbuildsycoca.so
#9  0x0439bdb4 in VFolderMenu::mergeMenu ()
   from /usr/lib/libkdeinit_kbuildsycoca.so
#10 0x0439f425 in VFolderMenu::processMenu ()
   from /usr/lib/libkdeinit_kbuildsycoca.so
#11 0x043a3492 in VFolderMenu::parseMenu ()
   from /usr/lib/libkdeinit_kbuildsycoca.so
#12 0x0438c98e in KBuildSycoca::build ()
   from /usr/lib/libkdeinit_kbuildsycoca.so
#13 0x0438d1c0 in KBuildSycoca::recreate ()
   from /usr/lib/libkdeinit_kbuildsycoca.so
#14 0x0438da36 in kdemain () from /usr/lib/libkdeinit_kbuildsycoca.so
#15 0x007bc544 in kdeinitmain () from /usr/lib/kde3/kbuildsycoca.so
#16 0x0804dee3 in ?? ()
#17 0x0804e585 in ?? ()
#18 0x0804eb0c in ?? ()
#19 0x0804fd77 in ?? ()
#20 0x0090b4ff in __libc_start_main () from /lib/libc.so.6
#21 0x0804b881 in ?? ()
Comment 1 Paul Lemmons 2006-04-20 01:05:57 UTC
After I closed the creash window it had more to say and then crashed again. Here is the complete text of what running the command from the command line gives:

# kbuildsycoca
Warning: kbuildsycoca is unable to register with DCOP.
kbuildsycoca running...
Link points to "/tmp/ksocket-root"
Link points to "/tmp/kde-root"
kbuildsycoca running...
KCrash: Application 'kbuildsycoca' crashing...
kdeinit: Shutting down running client.
---------------------------------
It looks like dcopserver is already running. If you are sure
that it is not already running, remove /root/.DCOPserver_lemix.tmcaz.com__0
and start dcopserver again.
---------------------------------

KCrash: Application 'kbuildsycoca' crashing...
kdeinit: Communication error with launcher. Exiting!
DCOP aborting (delayed) call from 'kded' to 'klauncher'
---------------------------------
It looks like dcopserver is already running. If you are sure
that it is not already running, remove /root/.DCOPserver_lemix.tmcaz.com__0
and start dcopserver again.
---------------------------------

KDE Daemon (kded) already running.
Comment 2 Stephan Kulow 2006-04-20 13:38:26 UTC
can you please compile from source or get fedora debuginfo packages?
Comment 3 Rex Dieter 2006-04-20 17:01:40 UTC
Paul, this one is likely distro-specific, so it would be a good idea to report this to bugzilla.redhat.com too (and mention *this* bug)
Comment 4 Paul Lemmons 2006-04-21 18:09:48 UTC
I installed the debuginfo packages for kde:
# kbuildsycoca
Warning: kbuildsycoca is unable to register with DCOP.
kbuildsycoca running...
Link points to "/tmp/ksocket-root"
Link points to "/tmp/kde-root"
kbuildsycoca running...
KCrash: Application 'kbuildsycoca' crashing...
kdeinit: Shutting down running client.
---------------------------------
It looks like dcopserver is already running. If you are sure
that it is not already running, remove /root/.DCOPserver_lemix.tmcaz.com__0
and start dcopserver again.
---------------------------------

KCrash: Application 'kbuildsycoca' crashing...
kdeinit: Communication error with launcher. Exiting!
DCOP aborting (delayed) call from 'kded' to 'klauncher'
---------------------------------
It looks like dcopserver is already running. If you are sure
that it is not already running, remove /root/.DCOPserver_lemix.tmcaz.com__0
and start dcopserver again.
---------------------------------

KDE Daemon (kded) already running.
#

PRODUCES:


Using host libthread_db library "/lib/libthread_db.so.1".
`shared object read from target memory' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1208583376 (LWP 24984)]
[KCrash handler]
#6  0x068bf075 in ?? ()
#7  0x00f87433 in QGDictIterator::toFirst ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#8  0x00f8975c in QGDictIterator::QGDictIterator$base ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#9  0x0011e93e in VFolderMenu::excludeItems (this=0x88130c0, 
    items1=0x88128f0, items2=0x8a31144) at /usr/lib/qt-3.3/include/qdict.h:104
#10 0x001224b4 in VFolderMenu::mergeMenu (this=0x88130c0, menu1=0x88128c8, 
    menu2=0x8a31100, reversePriority=false) at vfolder_menu.cpp:190
#11 0x00125b25 in VFolderMenu::processMenu (this=0x88130c0, 
    docElem=@0xbfe870b0, pass=0) at vfolder_menu.cpp:1401
#12 0x00129b92 in VFolderMenu::parseMenu (this=0x88130c0, file=@0xbfe871a8, 
    forceLegacyLoad=true) at vfolder_menu.cpp:1611
#13 0x0011308e in KBuildSycoca::build (this=0x81e8888) at kbuildsycoca.cpp:384
#14 0x001138c0 in KBuildSycoca::recreate (this=0x81e8888)
    at kbuildsycoca.cpp:519
#15 0x00114136 in kdemain (argc=1, argv=0xbfe87664) at kbuildsycoca.cpp:924
#16 0x0090b4ff in __libc_start_main () from /lib/libc.so.6
#17 0x080483e9 in _start ()
Comment 5 Peter Astrand 2006-05-04 16:10:03 UTC
After upgrading to kdelibs-3.5.2-0.1.fc5, this is no longer a problem for me. 
Comment 6 Paul Lemmons 2006-05-05 23:02:27 UTC
Ok. I upgraded to FC5 in hopes that this would solve this problem. Actually I was planning on upgrading anyway but that is besides the point. Much to my disapointment the error persists:

# uname -a
Linux lemix.tmcaz.com 2.6.16-1.2096_FC5smp #1 SMP Wed Apr 19 05:31:55 EDT 2006 i686 i686 i386 GNU/Linux


Using host libthread_db library "/lib/libthread_db.so.1".
`shared object read from target memory' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1208505488 (LWP 5714)]
[KCrash handler]
#6  0x04c547d1 in QGDictIterator::toFirst ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#7  0x04c5485a in QGDictIterator::QGDictIterator$base ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#8  0x00164ff6 in VFolderMenu::excludeItems (this=0x9348f98, 
    items1=0x9349e10, items2=0x96d609c) at /usr/lib/qt-3.3/include/qdict.h:104
#9  0x0016ad1f in VFolderMenu::mergeMenu (this=0x9348f98, menu1=0x9349de8, 
    menu2=0x96d6058, reversePriority=false) at vfolder_menu.cpp:190
#10 0x0016c9fe in VFolderMenu::processMenu (this=0x9348f98, 
    docElem=@0xbfd9a0c0, pass=0) at vfolder_menu.cpp:1401
#11 0x001730d5 in VFolderMenu::parseMenu (this=0x9348f98, file=@0xbfd9a1a8, 
    forceLegacyLoad=true) at vfolder_menu.cpp:1611
#12 0x00176299 in KBuildSycoca::build (this=0x8b7f570) at kbuildsycoca.cpp:384
#13 0x00176802 in KBuildSycoca::recreate (this=0x8b7f570)
    at kbuildsycoca.cpp:519
#14 0x00177194 in kdemain (argc=2, argv=0x8b5b320) at kbuildsycoca.cpp:924
#15 0x0014f544 in kdeinitmain (argc=2, argv=0x8b5b320)
    at kbuildsycoca_dummy.cpp:3
#16 0x0804e3ff in launch (argc=2, _name=0x8b5b5a4 "kbuildsycoca", 
    args=0x8b5b5be "", cwd=0x0, envc=0, envs=0x8b5b5c3 "", reset_env=false, 
    tty=0x0, avoid_loops=false, startup_id_str=0x8b5b5c7 "") at kinit.cpp:639
#17 0x0804eb49 in handle_launcher_request (sock=8) at kinit.cpp:1205
#18 0x0804f048 in handle_requests (waitForPid=0) at kinit.cpp:1406
#19 0x0804f8ec in main (argc=2, argv=0xbfd9adb4, envp=0xbfd9adc0)
    at kinit.cpp:1850
#20 0x00a2d7e4 in __libc_start_main () from /lib/libc.so.6
#21 0x0804b7e1 in _start ()
Comment 7 Rex Dieter 2006-05-05 23:04:03 UTC
Does this occur for all users, or just one in particular?
Comment 8 Paul Lemmons 2006-05-05 23:46:06 UTC
I am the only user of the box but I don't think that is what you are asking. I always login as a non-privilaged user. It always crashes when I boot and KDE starts my desktop. It will also occasionally crash during a "yum" update when I am su'ed to root.

Does this answer your question??
Comment 9 Rex Dieter 2006-05-06 12:45:29 UTC
No.  For example, does it occur if you login as root too? 
Comment 10 Paul Lemmons 2006-05-08 23:02:23 UTC
I had to have a stern conversation with KDE but finally convinced it to allow me to login as root. When I did, it came up without error. When I logged out and logged in as myself I get the error.
Comment 11 Paul Lemmons 2006-05-30 22:03:35 UTC
After a suggestion was made on the Fedora list, I tried copying /etc/xdg/menu from a clean install of FC5 in place of what was there and the problem was recitifed. 

This is clearly a bypass to the problem and not a real solution. 
Comment 12 Paul Lemmons 2006-05-30 23:01:52 UTC
Though the poll is small in number, this may be a problem connected with an installation of crossover office.

$ diff -r  working_menus not_working_menus/
Only in not_working_menus/applications-merged: cxlegacy.menu
Only in working_menus: gnome-screensavers.menu
Only in not_working_menus/kde-applications-merged: cxlegacy.menu
Only in working_menus/preferences-post-merged: gnome-screensaver-hide-xscreensaver.menu

$ cat cxlegacy.menu
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<!-- File Created by CrossOver Office cxmenu -->
<Menu>
  <Name>Applications</Name>
<LegacyDir>/opt/cxoffice/support/xdg-legacy-menus</LegacyDir></Menu>
Comment 13 Paul Lemmons 2006-05-31 00:23:51 UTC
It has been confirmed:

/etc/xdg/menus/applications-merged/cxlegacy.menu
is the one causing the problem. It is missing a <Menu> node wrapped around 
the <LegacyDir> tags

I am fine with this being the resolution but I am not the developer. Were I the developer, I think I would want my code to do something more responsible than crashing without any footprint as to why I crashed. Armed with the cause of the failure I would know where to look and could probably fix it so that it did not crash pretty easily. ;-)
Comment 14 Andreas Kling 2006-07-31 17:56:14 UTC
*** Bug 127916 has been marked as a duplicate of this bug. ***
Comment 15 Orion Poplawski 2006-11-07 17:31:17 UTC
Maybe here (line 190):

#3  0x00cdee1f in VFolderMenu::mergeMenu (this=0x9ce2ed8, menu1=0x9ce3fb8,
    menu2=0x9ec4210, reversePriority=false) at vfolder_menu.cpp:190
190           excludeItems(&(menu1->items), &(menu2->excludeItems));
(gdb) list
185           includeItems(&(menu1->excludeItems), &(menu2->excludeItems));
186        }
187        else
188        {
189           // Merge menu1 with menu2, menu2 takes precedent
190           excludeItems(&(menu1->items), &(menu2->excludeItems));
191           includeItems(&(menu1->items), &(menu2->items));
192           includeItems(&(menu1->excludeItems), &(menu2->excludeItems));
193           menu1->isDeleted = menu2->isDeleted;
194        }

We need a check that menu2->excludeItems is not empty?  Maybe earlier in processMenu?

In my case it's a non-existent directory:

.config/menus/applications-merged/cxlegacy.menu:
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<!-- File Created by CrossOver Office cxmenu -->
<Menu>
  <Name>Applications</Name>
<LegacyDir>/export/home/orion/cxoffice/support/xdg-legacy-menus</LegacyDir></Menu>

/export/home/orion/cxoffice/ no longer exists.
Comment 16 Rex Dieter 2007-01-18 14:37:31 UTC
Clearly, a check for referenced, but non-existent menu (legacy)dirs is warranted, Confirming.
Comment 17 Dario Andres 2009-05-15 03:47:19 UTC
*** Bug 142798 has been marked as a duplicate of this bug. ***
Comment 18 Dario Andres 2009-05-15 03:49:19 UTC
Any news about this bug being on KDE4 too ? Thanks
Comment 19 Rex Dieter 2011-04-25 20:20:33 UTC
Fairly certain latest kde4 has this squashed.