From: Duncan M. <du...@on...> - 2009-07-06 17:05:21
|
On 6 Jul 2009, at 16:33, Patrick Geiller wrote: >> Sorry to repost, but this has become a real blocker for me - I >> thought >> I'd try one last time before giving up and re-coding in ObjC. >> >> I can't persuade RubyCocoa to CFRelease a CGImageSourceRef without a >> bus error - as a result my PDF writing code is leaking like a sieve. > > Try adding some GC code, keeping references and nulling them after > release. > > GC.disable > imageSource = > CGImageSourceCreateWithURL(NSURL.fileURLWithPath('testdata/pot > pourri/blood.jpg'), nil) > image = CGImageSourceCreateImageAtIndex(imageSource, 0, nil) > CFRelease image > CFRelease imageSource > image = imageSource = nil > GC.enable > GC.start > > Try that for each iteration, and if it works you might want to do it > only each 10 or 100 iterations. I had played around with GC just after sending the mail. If I use the code as you've written, it segfaults after 2 iterations, without messing with GC, 726 iterations, or on app shutdown, whichever is sooner. Looks to be a classic double-free, but with the irritating problem of a large memory leak if I leave it alone. Does anyone know where I can report this as a bug. Is it Apple, SourceForge? Cheers Duncan |