Greetings. I've been developing against the librdf library (redland 1.0.10 on OS X 10.6), and have just started to get messages about an assertion error:
rdf_list.c:110: (librdf_free_list) assertion failed: Iterators were active on freeing list (this doesn't cause a crash or anything, but the library is clearly unhappy about things) It's not completely clear from the message what this is trying to tell me, but a little burrowing with the debugger tells me it's happening within librdf_storage_close: #0 0x0141482f in librdf_free_list () #1 0x01423354 in librdf_storage_list_close () #2 0x01415c07 in librdf_storage_close () #3 0x014115d6 in librdf_model_storage_destroy () #4 0x0140e92f in librdf_free_model () [...] 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. So, my questions: * Is this analysis correct? * Is there anything I can do about it at present? (short of embarking on a potentially errorprone fandango over objects to impose a shutdown order in the exit handler) * If not, does this sound like a plausible enhancement request? It would suit _me_ very well if closing the storage object simply blew away the un-emptied iterator objects, rather than objecting to them. Also, the storage object isn't documented as holding on to the iterator objects that are related to it, so I wouldn't have been able to know to avoid this from the API docs. Thanks for any advice. Best wishes, Norman -- Norman Gray : http://nxg.me.uk _______________________________________________ redland-dev mailing list [email protected] http://lists.librdf.org/mailman/listinfo/redland-dev
