We have a tool using librdf and we recently switched to the experimental "tree" storage. We have a small rdf database of roughly 200kb that fits in memory. We make a lot of SPARQL requests and some changes (add/delete) in the db. We found out that "tree" provides a real performance boost for our application.
However we have encountered some crashes. I can't provide you with a sample of code that can reproduce the crash yet, but after investigation I suspect the librdf_avltree_delete(). The problem is the following. After calling librdf_avltree_delete() (via librdf_model_remove_statement()) we end up with a corrupted (SPO) tree in memory. What happens is that the parent of some child node (right or left) points to an incorrect memory location. Basically we end up with (node->left->parent != node) or (node->right->parent != node). Have any of you experienced similar troubles with the avl tree storage? Is this a known problem? If not, I hope to pursue my investigation and possibly provide a patch on next week. Any idea/advice of how I could approach the issue? Kind Regards, Aymeric Barthe Thomson Reuters This email was sent to you by Thomson Reuters, the global news and information company. Any views expressed in this message are those of the individual sender, except where the sender specifically states them to be the views of Thomson Reuters. _______________________________________________ redland-dev mailing list [email protected] http://lists.librdf.org/mailman/listinfo/redland-dev
