Re: orbit 1/2 interoperation - hmm



Hi Maciej,

On Wed, 26 Sep 2001, Maciej Stachowiak wrote:
> I have been seeing a lot of problems with ORBit2. It seems very flaky.
> It needs some serious testing and debugging, IMO. But I am not the
> expert here.

        I suspect you are not seeing ORBit2 problems; I imagine you
have some build problem or system issue. But please run the extensive
ORBit2 regression tests in ORBit2/tests: make check, I'd be interested
if any fail, or if you had suggestions for tests that are missing.

        ORBit2 is a far higher quality ORB than ORBit stable, both
structuraly, in design terms, in code clarity and better still we can
prove its robustness with extensive regression tests :-)

> > Also: to get gconf1/gconf2 to coexist, I had to strip
> > bonobo-activation out of the loop. This means my own equivalent of
> > bonobo_activation_orb_get() and oaf_orb_get(). What happens if the
> > code in oaf_orb_get() is executed twice? Can two code segments
> > both do this?

	The code in oaf_orb_get just returns a global variable, so
that's just fine - do it lots :-) what might hurt more is calling
oaf_orb_init twice which does a oaf_orb = CORBA_ORB_init (...);

	In fact in ORBit-stable this does:

	static CORBA_ORB orb=NULL;
	...
	if (orb)
		return orb;
	orb = ...;

	And in ORBit2 it does:

	static CORBA_ORB retval = NULL;
	...
	if (retval)
		return (CORBA_ORB) CORBA_Object_duplicate (
			(CORBA_Object) retval, ev);
	retval = ...;

	So - perhaps there is a ref counting bug on the ORB in ORBit
HEAD - either way that ref is not important.

> You will get two different ORBs.

	In short - in the same process, you get the same orb.

	Oh, and in other news - I'm fixing the locking in liboaf which
provides interesting syslog dumps like:

Sep 28 01:32:03 localhost lt-oaf-run-query: 27404: open lock '/tmp/orbit-michael/oaf-register.lock': 4
Sep 28 01:32:03 localhost lt-oaf-run-query: 27404: wait on lock
Sep 28 01:32:03 localhost lt-oaf-run-query: 27404: registration check 0x804deb0 non existant 0
Sep 28 01:32:03 localhost lt-oaf-run-query: 27404: start using activators
Sep 28 01:32:03 localhost lt-oaf-run-query: 27420: open lock '/tmp/orbit-michael/oaf-register.lock': 4
Sep 28 01:32:03 localhost lt-oaf-run-query: 27420: wait on lock
Sep 28 01:32:03 localhost lt-oaf-run-query: 27420: registration check 0x804deb0 non existant 0
Sep 28 01:32:03 localhost lt-oaf-run-query: 27420: start using activators

	ie. no locking :-)

	Anyhow, so go ahead - should work fine, init the ORB as much
as you like :-)

	Regards,

		Michael.

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





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