From: P.G. R. <p.g...@ph...> - 2006-05-29 21:59:09
|
Ah update to last... Turns out it seems I was mistaken on the exact point of the crash. Rather t= han=20 being the g_free(podpath) in itdb_create_directories, it is in fact the=20 freeing of the itdb database after the writes in itdb_init_ipod: <snip> writeok =3D itdb_shuffle_write(itdb, error); if(! writeok) { itdb_free (itdb); return FALSE; } =09 /*itdb_free (itdb)*/; return TRUE; <snip> Literally commenting it out addresses the problem as far as muvon is=20 concerned. I will look more into this tomorrow and take up Christophe's=20 suggestion for a c test case as it maybe that the java is garbage collectin= g=20 the itdb before the g_free (too clever for own good perhaps!). Cheers for having a look Christophe. Regards PGR On Monday 29 May 2006 22:31, Christophe Fergeau wrote: > Le lundi 29 mai 2006 =E0 22:08 +0100, P.G. Richardson a =E9crit : > > Jorg, > > > > Thanks for that... > > > > Just updated from cvs, hosed the shuffle and re-inited.... > > > > ... and a small problem, which I have worked around but not yet resolve= d. > > In itdb_create_directories, I did g_free(podpath) as you did with > > errordir originally then removed it before submitting the patch. With it > > in place I get the attached backtrace. > > I glanced through the code, and I didn't find anything wrong with this > g_free(podpath) (ie imo it's right and needed). It would be really nice > if you had a C test case that you could run through valgrind, it would > probably give really useful information. > > As a side note, the attached patch makes the error-handling in > create_directories less invasive, thus the function is more readable imo > (and it fixes a few leaks at the same time). The indentation with that > patch is probably crap though :p I also removed the G_GNUC_INTERNAL > since a simple static seems enough. I can make a patch fixing only the > leaks and the G_GNUC_INTERNAL thing if you prefer. And I haven't even > tried compiling that code... > > Christophe =2D-=20 P.G. Richardson Email: p.g...@ph... |