Nautilus 2nd time start.



Hi Frank,

On Sun, 2001-12-30 at 20:43, Frank Worsley wrote:
> RUNNING NAUTILUS A SECOND TIME
> ------------------------------
> 
> Right now, whenever I run nautilus once and quit it, it wont work a
> second time. I can get it to start a second time if I run 'bonobo-slay'
> after quitting it.

	This is a real Gnome 2.0 show stopper; I've spent many hours on it
trying to work out what is going on.

	Here is more background on how to repeat what goes wrong.

		* bonobo-slay
		* run nautilus up to where it activates itself
		* kill / exit nautilus
		* run nautilus again.

	Nautilus hangs where it tries to do a bonobo-activation of its own
shell [ which it has just registered ].

	When you connect to bonobo-activation-server, you see that the server
is listening for a reply to 'createObject' ( the correct method ) on a
connection, on the old object. This connection appears to still be valid
and 'connected' - hence (somehow) we didn't recieve a sighup on this
connection when the old nautilus died. 

	Turning debug on:

	* ORBit2/src/orb/orb-core/orbit-debug.h: enable trace debug,
	  make inst-lib in ORBit2/src/orb

	* linc/src/linc-debug.h: enable connection debug, and make
	  install-libLTLIBRARIES in linc/src

	All of this shows suprisingly little - but that we write successfully
to this file descriptor, still attached to the (unattached) Unix dommain
socket - and the data vanishes to the backside of beyond.

	Here are some of the issues I have with debugging it:

	* If you start bonobo-activation-server on another console eg.
	  in the debugger; nautilus runs just fine the 2nd, 3rd etc.
	  time. [ it can be started on another console by running
	  bonobo-activation-test eg. ]

	* if you strace bonobo-activation-server it work (IIRC) though
	  this may be the same effect.

	* AFAIR - inserting a simple bonobo_activation_query in nautilus
	  at some early stage before it attempted to activate itself 
	  resulted in correct operation - but havn't tried this
	  recently.

	So ...

	A possible lead I've just thought of[1]  is that there is perhaps some
difference between how the connection is initiated, in the working /
non-working cases and this causes the difference.

	This is really painful; and I'm not getting anywhere with it - I hope
it's some really stupid bug that I'm not seeing; but it badly needs to
be found. Any thought / input would be much appreciated, from anyone.

	Thanks in advance for any help,

		Michael.

[1] - some confuse speaking with thinking / I merely type in a confused
way.

-- 
 mmeeks@gnu.org  <><, Pseudo Engineer, itinerant idiot




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]