[redland-dev] librdf_free_list assertion failure

John Fieber jfieber at adobe.com
Mon Mar 8 23:51:32 CET 2010


On Mar 8, 2010, at 2:13 PM, Norman Gray wrote:

> Looking at the corresponding source, it appears to be associated with my freeing a storage object before I've freed an iterator over the storage object.
> 
> I can see that this might plausibly be regarded as a programming error on my part, but in this case it's happening within the exit handler of a garbage-collected system (in a binding to mzscheme, in fact), so that (a) I genuinely do want everything to be shut down neatly, now, no questions asked, and (b) it rapidly gets messy trying to enforce an order on librdf_free_* calls at this stage.

The Ruby classes built on top of the raw swig bindings also suffer this disfunction, to the point where I completely abandoned them and use the swig bindings directly, programming tedious manual C-style resource management in ruby (ick).  Getting redland to and the Ruby garbage collection to play nice in an automatic way with correct order of de-allocation is a chunk of work--the C objects have references to each other that are not visible to Ruby.

-john



More information about the redland-dev mailing list