On Fri, 2005-01-21 at 21:09 -0600, Matthew Vanecek wrote: > On Fri, 2005-01-21 at 11:37 -0800, Thomas Bushnell BSG wrote: > > Derek Atkins <[EMAIL PROTECTED]> writes:
[snip] > It's faulting on my P3 nowadays for some reason. I wasn't sure if it > was a glibc thing or what. Quite annoying. I was wondering if someone > could reproduce this on his/her machine, to see if it's my machine/setup > or something else. > > I'm kinda skeptical about using the contents of a freed Split to see if > the Split has been freed, though. What if something else has > overwritten the freed memory? Why is that particular pointer guaranteed > to still be == (char *)1 if the split is run through the function again? Hmm, it was my debugging attempt causing the problem--can't *printf("% s") on a char* field that's been set to (char *)1. So, while accessing the potentially freed memory is dubious, the SEGV actually happens a few lines down, and a file or two over, in the qof_entity_release() function. My Bad(tm). For some reason, split->entity.e_type is NULL by this point, and I don't think the CACHE_REMOVE(str) macro appreciates that. This crash is happening on exit, when you would expect the memory to be freed. PINFO("Fixing to release split entity for type: %s", split->entity.e_type); qof_entity_release (&split->entity); causes this result: Info: xaccFreeSplit(): Fixing to release split entity for type: (null) CRASH!!!!!! (because qof_entity_release doesn't have an logging statements...). and the gdb bt revealed that some g_hash_something function burped on the NULL value. Don't have time right now to recreate the bt (bedtime) but I could probably get to it again on Sunday. Is it permissible for split->entity.e_type to be NULL at this point in the game (exiting, etc.)? It's probably something I've written causing this, but when I save the Split, it's e_type is "Split", and then when I exit, the e_type is NULL... Thanks, -- Matthew Vanecek perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);' ******************************************************************************** For 93 million miles, there is nothing between the sun and my shadow except me. I'm always getting in the way of something...
signature.asc
Description: This is a digitally signed message part
_______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel