2.0.2 and GConf
Mark Johnson
mrj001 at shaw.ca
Mon Dec 4 14:59:44 EST 2006
Derek Atkins wrote:
>Mark Johnson <mrj001 at shaw.ca> writes:
>
>
>
>>Mark Johnson wrote:
>>
>>
>>
>>>This does not look like the sort of thing that occurs when debugging
>>>optimized code, but I am going to try a build without optimization
>>>anyway.
>>>
>>>
>>>
>>>
>>>
>>Obviously, the optimization was interfering with debugging. Here is the
>>gnucash terminal output:
>>mj at ds9:~$ gnucash --g-fatal-warnings
>>
>>GConf-CRITICAL **: file gconf-listeners.c: line 444 (ltable_remove):
>>assertion `node != NULL' failed
>>aborting...
>>
>>
>
>This would seem to imply that we're trying to remove a listener
>a second time, when the listener has already been removed. At
>least that's my reading of the message.
>
>
I've been working on this in my spare time. (You'd think I'd have more
of that since I'm on leave from work, but....)
Setting a breakpoint at gnc-gconf-utils.c:867 indicates that this is not
being called twice. I also set a breakpoint at gnc-main-window.c:2692
where the notification is added. I noted the id that was stored in the
GObject under notify_tag (in gnc_gconf_add_notification). When gnucash
tried to release this listener (in gnc_gconf_remove_notification), the
id value had changed (I confirmed that the object pointer was the same
as before).
This raises two possibilities:
1. Gnucash is changing it. (I expect this would be a bug.)
2. "Something else" is trashing it. (Someone else's bug)
As no one else seems to be having this problem (or at least no one else
has said "me too"), my favoured theory is #2. I've compiled a version of
glib with debugging information intact (and no optimization :-). Soon,
I'll install it, and set a watch to find out exactly what is changing
this memory.
Also as a consequence of no one else reporting this, I suspect I would
be the best person to chase this down. Let me know if anything above
indicates I am lost...
>-derek
>
>
>
Mark
More information about the gnucash-devel
mailing list