GNOME Bugzilla – Bug 337597
Evolution/nautilus won't start
Last modified: 2006-08-12 14:21:34 UTC
Please describe the problem: Sometimes, evolution doesn't start, a dialog says: "Evolution can not start. Your system configuration does not match your Evolution configuration." Sometimes, when I choose a folder from the "Places" menu in panel, nautilus says: "Nautilus can't be used now, due to an unexpected error. Details: Nautilus can't be used now, due to an unexpected error from Bonobo when attempting to register the file manager view server." After this, nautilus still works when folders opened from another folders (but not from panel or by inserting a cd or usb device). Once any of these (evolution/nautilus) happens, it won't work until I log out and log back in. It happens both on my home and company computer; both used to be FC4 with nrpms-upgraded Gnome to 2.12 (the problem started on that setup), now both are cleanly installed FC5, some parts of user config dirs kept (e.g. evolution mail files, etc.), but not all of them. It doesn't happen to other FC5 people at work or another user of the same computer... It *seems* it's something with bonobo, so I've put this to bonobo (libbonobo-2.14.0-1, btw). Steps to reproduce: Don't know deterministic steps to reproduce this... Just some hints. It seems that when I close Evolution and launch it again, it works. But when I close it, leave my computer running and try to launch Evolution, I get the error dialog... Not sure if this happens always, but I might say at least "mostly". Actual results: Expected results: Does this happen every time? Other information: Yes. I've done a lot of searching, and I'm desperate about this.
Marek - this sounds really bad as you say. what does: linc-cleanup-sockets say the 1st time you run it ? does that help ? failing that - can you run 'bonobo-slay' from a console [ as yourself ], then login with a safe / terminal session, and do: strace -f -s 4096 -ttt -o /tmp/log gnome-session when it fails - we then need /tmp/log bzip2'd & attached. Thanks.
Hi, > what does: > linc-cleanup-sockets say the 1st time you run it ? does that help ? # linc-cleanup-sockets Cleaned 0 files 29 still live ... and Evolution won't start. I'm in the described condition right now, as I turned on the computer and logged in. I didn't try to launch Evolution or nautilus right after logging in, only about one hour later (this *might* make a difference, I'm not sure, though). > failing that - can you run 'bonobo-slay' from a console [ as yourself ], should I run this from the console when I'm NOT logged in to Gnome? > then login with a safe / terminal session, and do: you mean the failsafe option in gdm?
wrt. login - yes, use the terminal-only safe mode to login - so no b-a-s should be running by then.
Michael, I logged in, Evolution started without problem three times in a row. Then I set the screensaver to 1 minute, waited for it to start, then tried Evolution again, and I got the error (I had some suspicion that the screensaver would help to reproduce it). Now to your request. I logged out afterwards, listed processes, there was no leftover b-a-s this time (so I guess bonobo-slay would have no effect?). I logged in to the terminal then, and launched your strace command. It produced about 2G log file (unzipped), I'm not sure that's exactly what you need (and quite large to upload, too). What else can I do? Maybe we could meet on Jabber/ICQ/... someday to get you some output faster, if it's ok for you.
2Gb seems a bit big ;-) then again, it should compress nicely; use bzip2. Ultimately, yes - to dig out a single mis-interaction of b-a-s across the whole desktop is really extremely hard; of that log, only a couple of lines will perhaps be interesting / wrong - but you can't dig them out ;-) Perhaps if you use -ff, then send me at least the logs for the b-a-s and nautilus processes that might help.
Well yes, I'm sure I'd be lost in that log file. I tried to bzip it, but I interrupted it after a couple of minutes, when the zip had already about 20M and still wasn't finished... Do you still want it? Can it be actually attached here? Another thing. When I log out and back in again, Evolution WILL work (beside the fact that strace really loads the machine). Will the log help in that situation? Or should I try to recreate the problem using e.g. the screensaver, and use the log afterwards? This ain't easy, is it :-/
Well, you can at least be comforted in the fact that you're not alone; I have a machine with the same problem (similar history, too). For me, seems to occur either on first login after bootup, or following screen lock. I clicked 'Lock screen', then about a minute later tried to start evolution. Got this immediately afterwards (but don't find any leftover ORBit files on subsequent execute/cleanup attempts): $ linc-cleanup-sockets Cleaned 2 files 29 still live Then attempting to start from a terminal, I see messages like: ** (evolution-2.6:19624): WARNING **: Failed to send buffer or ** (nautilus:19745): WARNING **: Failed to send buffer Working on getting an strace ...
Created attachment 64495 [details] /tmp/orbit-dawinic files (less the sockets) prior to linc-clean-sockets Don't know if bonobo-activation-server-ior contents helps you any; tar didn't get the sockets.
Created attachment 65560 [details] gnome-session logs of related processes To replicate: 0) Had to disable Beagle; it was causing the trace to fault 1) Booted up, then ran bonobo-slay as dawinic on console. 2) Set session to terminal-only safe mode. 3) strace -f -s 4096 -ttt -ff gnome-session 4) Closed two notices about Power Manager. Waited about 1 minute for screensaver, but it never came (maybe I didn't wait long enough) Attempted to start Evolution from menu, and received the 'Evolution can not start.' notice. 5) Logout; Alt-ctrl-backspace to exit session. 6) grep -il 'power | b-a-s | evolution' log-* 7) Note: I removed some files w/ personal info (tomboy notes, personal contacts, filesys struct, ...) Hopefully this won't hinder the analysis. Process log 3469 is the only one with 'b-a-s' in it.
Created attachment 65561 [details] part 2 of 3.
Created attachment 65562 [details] part 3 of 3.
So - this *looks* like a duplicate of the b-a-s leak of file descriptors on failed activations. It *looks* like it's being -horribly- provoked by /usr/bin/mail-notification on your machine doing *terrible* things to b-a-s - it's trying to activate a new 'GNOME_MailNotification_Evolution_Glue' component several times per second - and I assume failing. I *imagine* that after a few hundred calls of this b-a-s gets very unhappy - due to the leak & runs out of file descriptors - not to mention getting hammered because it spawns a new thread to handle each of these calls [ in HEAD libbonobo at least ;-]. So: since the b-a-s leak is (now) getting fixed, we need to go bang on the people that did some stupid things in mail-notification - who owns that file ? who wrote that code ? what is going on ? ;-)
also, next time - can you omit the '-ff' on strace ? strace is notoriously buggy & this (it seems) encourages it to loose even more of the trace than it would normally ;-)
Well, I'm sorry I didn't provide my logs, been quite busy and stuff, but I can confirm I run mail-notification too...
Will try turning off mail-notification. And re:'-ff', sorry, but Gnome has gotten too bleepin' large to post it otherwise.
*** Bug 343656 has been marked as a duplicate of this bug. ***
This is caused by #315650 and can be closed.
I have not tried to patch, but I would defer to Lefort as the expert ;) my issue (from a user standpoint) disappeared after disabling mail-notification-2.0.
I have same problem and I'm also using mail-notification. Also, not sure if this is related, but mail-notification in FC5 was recently upgraded to version 3.0. Since than, whenever I start Evolution, b-a-s takes 100% of CPU, and Evolution does not start, until I kill it. Other thing I noticed: when I kill b-a-s, it releases about 50% of used swap space.
Has everyone tested the fix in the report above? Is the bug still alive?
I've got some sort of docbook issue preventing me from even compiling the package, at the moment: ... 67% symbol docs coverage (317 symbols documented, 41 symbols incomplete, 153 not documented) See libbonobo-undocumented.txt for a list of missing docs. The doc coverage percentage doesn't include intro sections. touch sgml-build.stamp gtk-doc: Building HTML rm -rf ./html mkdir ./html cd ./html && gtkdoc-mkhtml libbonobo ../libbonobo-docs.sgml I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl" compilation error: file /usr/share/gtk-doc/data/gtk-doc.xsl line 6 element import xsl:import : unable to load http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl make[4]: *** [html-build.stamp] Error 5 ...
[OK, after figuring out how to configure --disable-scrollkeeper, ...] I'm sorry to report that patching libbonobo-2.14.0-1.src.rpm with patch-bonobo-activation_bonobo-activation-fork-server.c was NOT sufficient. The problem returned after I started up mail-notification-3.0-2 again.
I have tried to rebuild mail-notification-3.0.tar.gz, with the new library, but it does not want to --enable-evolution in the configure. (running evolution-2.6.2).
dawinic - I suspect this is user-error. Are you certain you installed libbonobo to the right place ? ie. over the top of your existing bonobo ? was it being linked vs. the right libraries - did you re-start bonobo-activaiton-server. Ultimately - the mail notification thing is deadly broken doing so, so many back-to-back activations, that needs fixing too.
Bonobo was bugridden and couldn't take the requests so MN is broken? Hum.
Created attachment 69334 [details] 'evolution > evo.log 2>&1' output (with patched libbonobo) Michael: I would very much like to agree with you, on user-error; thought I restarted, but probably didn't. I just tried again, this morning, and haven't seen the "Evolution cannot start", yet, but when mail-notification is running, evo does have difficulty starting up all of its components (attached log of the 4th attempt). Then when I try 'mail-notification --display-properties', I receive: (mail-notification:24370): Bonobo-Activation-WARNING **: Strange exception (IDL:omg.org/CORBA/COMM_FAILURE:1.0) from active server registration and a fatal error alert box: Bonobo was unable to register the OAFIID:GNOME_MailNotification_Automation_Factory server. Please check your Mail Notification installation. In all, this morning, I have made 8 attempts to start evolution. The first 4 were made while mail-notification was running, and all of those resulted in various levels of incomplete module and data loading. (These also seemed to leave behind evolution-exchange-storage processes, after File->Quit in evolution.) I then killed mail-notification, and then the last 4 attempts had no problems loading completely. During all of the attempts, I had the Mail Notification plug-in disabled, and also beagled was running with '--backend -EvolutionDataServer' option.
> Bonobo was bugridden and couldn't take the requests so MN is broken? Hum. Jylefort: If you do thousands of asynchronous requests for the same (non-existant) component back-to-back you will cause grief for the user, even if we don't leak file descriptors - really.
dawininc: > I would very much like to agree with you, on user-error :-) what prefix did you configure libbonobo with ? what is your system prefix ? where is bonobo-activation-server normally installed ? what is the timestamp on it ? does it reflect what you thought ? what does ldd `which evolution` | grep activation say ? how about ls -l /that/path/to/... ? is that date what you expect ? Of course, perhaps all this is working, and it's another bug :-) but lets check these things first.
I built it from the FC5 src.rpm; just added in as Patch1 to the spec file. So prefix should be no different from original release. Verified patch went in, by examining ~dawinic/rpm/BUILD/libbonobo-2.14.0/bonobo-activation/bonobo-activation-fork-server.c [dawinic@dawinic Desktop]$ ldd `which evolution` | grep activation libbonobo-activation.so.4 => /usr/lib/libbonobo-activation.so.4 (0x03981000) [dawinic@dawinic Desktop]$ rpm -qif /usr/lib/libbonobo-activation.so.4 Name : libbonobo Relocations: (not relocatable) Version : 2.14.0 Vendor: (none) Release : 1 Build Date: Wed 19 Jul 2006 04:45:23 PM EDT Install Date: Wed 19 Jul 2006 04:50:39 PM EDT Build Host: localhost.localdomain Group : System Environment/Libraries Source RPM: libbonobo-2.14.0-1.src.rpm Size : 1693241 License: LGPL Signature : DSA/SHA1, Wed 19 Jul 2006 04:48:32 PM EDT, Key ID 9033d582bf5983fc Packager : David Winick <david.winick@att.net> URL : http://ftp.gnome.org Summary : Bonobo component system Description : Bonobo is a component system based on CORBA, used by the GNOME desktop. [dawinic@dawinic Desktop]$ rpm --verify --verbose libbonobo | grep libbonobo-activation ......... /usr/lib/libbonobo-activation.so.4 ......... /usr/lib/libbonobo-activation.so.4.0.0 [dawinic@dawinic Desktop]$ ls -l /usr/lib/libbonobo-activation.so.4* lrwxrwxrwx 1 root root 29 Jul 19 16:50 /usr/lib/libbonobo-activation.so.4 -> libbonobo-activation.so.4.0.0 -rwxr-xr-x 1 root root 88624 Jul 19 16:45 /usr/lib/libbonobo-activation.so.4.0.0 [root@dawinic ~]# locate --existing --basename libbonobo | grep so$ | grep -v /home /usr/lib/libbonobo-2.so /usr/lib/libbonobo-activation.so /usr/lib/libbonoboui-2.so /usr/lib/libglade/2.0/libbonobo.so Thanks for the clues; convinced yet?
ah ! hence the gtk-doc trouble :-) fair enough, I'm convinced now: I had assumed it was a self build from source. What patch did you use ? I couldn't get anything from those links. And/or can you not just use libbonobo HEAD instead ? - so we're sure it's fully up to date. If you've done all that and it persists - then we should get a new strace, it's prolly a different problem.
patch-bonobo-activation_bonobo-activation-fork-server.c from https://launchpad.net/distros/ubuntu/+source/libbonobo/+bug/39844 For me to build from HEAD would have to wait `til next week; busy now.
In reply to comment #27: I don't send "thousands of requests", I send exactly one activation request per second to check if Evolution is running. It is reasonable and should not cause grief.
(In reply to comment #26) > (mail-notification:24370): Bonobo-Activation-WARNING **: Strange exception > (IDL:omg.org/CORBA/COMM_FAILURE:1.0) from active server registration I've been having these problems intermittently for a long time (over a year); lately, after installing new fast CPU these problems became much more frequent. I finally found the bug and fixed it[1]; it was a problem with an exception propagating from bonobo_event_source_notify_listeners when it shouldn't (failing to notify listeners certainly should not cause our registration to fail!). I have built patched bonobo packages, if anyone wants to try: http://telecom.inescporto.pt/~gjc/bonobo/ Please reopen if it doesn't fix the problem. [1] http://cvs.gnome.org/viewcvs/libbonobo/activation-server/object-directory-corba.c?r1=1.85&r2=1.86