Re: weird segfaults and panel status




George <jirka@5z.com> writes:

> I'm getting way too many weird segfaults, which seem like memory problems
> to me ... (for example in gdb a function gets very weird arguments and
> segs, but when I go up the stack, the arguments passed had sane values, for
> me this problem occurs during calloc call ... g_malloc0 calls calloc with
> something like 608 or so ... and calloc thinks it was called with 4billion
> or so ...
> 
> another case was on entry to a function ...
> 
> can someone with something more then efence look for these problems?
> I know miguel got insure ... efence helped solve the more sane memory
> problems I've been having (really dumb ones) ... but the weirder ones
> it hasn't helped with ...

We (Quartic and myself) took a look into the problems some here, and I
think we have them pretty much tracked down.

The main corruption problem was a problem with list manipulation - the
modifications made to the list of applets in do_session_save() were
not getting passed back and stored in applets_to_sync. efence was
actually fairly helpful in looking at this after I hacked glib to put
each list node in a separate malloc()'d segment.

There are also a number of problems with refcounting. (this is why
applet removal was not working.) Mostly things getting double
unref'ed. I've pretty much got that fixed, but there are some residual
problems with menus, so I'm not quite ready to commit that yet.
I'll do so tomorrow morning.

Regards,
                                        Owen



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