David Hampton <[EMAIL PROTECTED]> writes:

> On Tue, 2004-01-06 at 20:55, Derek Atkins wrote:
>> David,
>> 
>> I found a memory corruption problem in the g2 branch that manifests
>> itself as a crash in malloc().  The way to reproduce:
>
> That would probably be a double-free somewhere earlier in the code. 
> Most weird memory crashes I've seen have ultimately related back to that
> cause.

That was my guess, too.

>> gnucash --nofile
>> Business -> Customers -> Find Invoice
>> New Invoice
>> Cancel
>
> I get a hang, not a crash.

I've actually had both, but the hang is in malloc() trying to bring up
the segv handler from, guess what -- malloc() ;)

If you're already running in gdb it will give you a SEGV.

>> This seems to be completely reproducible with the current CVS.
>> Any insights?
>
> Most likely an artifact of migrating one of the widgets used by the
> invoice dialog from a GTK Object based widget to a GObject based
> widget.  The big gotcha with this transition is that while the former's
> destruction callback is only executed once, the latter's destruction
> callback may be called multiple times.  I discovered this the hard way a
> couple of months after combing the code for GtkObject derivatives.
>
> I'll investigate some more tonight.

Thanks.  Would appreciate it.  I hadn't noticed it in any other
business dialog.  OTOH I hadn't tried all of the others, yet.

> David

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       [EMAIL PROTECTED]                        PGP key available
_______________________________________________
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnucash.org/cgi-bin/mailman/listinfo/gnucash-devel

Reply via email to