[Evolution-hackers] evo / ORBit2 oddness ...



Hi Dan,

On Thu, 2003-10-02 at 19:00, Dan Winship wrote:
> OK, got a new one, CVS ORBit2 from yesterday or so. Looks like the stack
> may be a little trashed...

	Ok - so I'll look at this; but I'm still chasing two other bugs: the
strange listener problem that Ettore was having, and also your g_error
on exit bug.

	I added a regression test to libbonobo to try and repeat what I assumed
was a trivial bug; however - the servant finalize being run on a
non-destroyed object works perfectly well - since we hold GObject refs
on each facet of the aggregate until destroy time so your case can only
happen in two circumstances:

	a) someone calls 'exit' from a BonoboObject finalize override,
	   and the stock ORB g_atexit cleans the object - this seems
	   to be slightly unlikely.

	b) somewhere, someone is screwing up and doing a g_object_unref
	   on a BonoboObject.

	Situation b) _could_ possibly result in Ettore's problem, although
perhaps it's unlikely; I can only generate the warning:

Bonobo-ERROR **: g_object_unreffing a bonobo_object that still has 1
refs
aborting...
Trace/breakpoint trap (core dumped)

	by doing:

       /* Deliberately leak */
        object = g_object_new (bonobo_moniker_get_type(), NULL);
        g_object_unref (object);

        /* Deliberately don't do a debug shutdown - we leak */
        return 0;

	which is clearly broken.

	I grokked the source for potential problems here with no luck though;
any ideas ?

	Regards,

		Michael.

-- 
 michael ximian com  <><, Pseudo Engineer, itinerant idiot




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