[redland-dev] librdf_model_get_arcs_out assertion failure

Dave Beckett dave at dajobe.org
Wed Jan 24 02:33:44 UTC 2007


David Nickerson wrote:
> Hi all,
> 
> I am using the librdf_model_get_arcs_out method (from C code) to iterate
> through all the arcs out of a given node in an RDF model. Whenever I
> call this method I get the following printed to stderr
> 
> rdf_node.c:677: (librdf_new_node_from_node) assertion failed: object
> pointer of type librdf_node is NULL.
> 
> I get this for both the Redland 1.0.5 I built myself and the FC5 binary
> packages (redland 1.0.5-1, rasqal 0.9.13-1, and raptor 1.4.13-1) from
> http://download.librdf.org/binaries/redhat/fc5/. I'm also getting the
> same behaviour when using rdfproc with the arcs-out command.
> 
> Despite the assertion failure everything seems to work fine and I'm
> getting all the results (arcs) I expect from a given node - again in
> both my code and by using rdfproc.
> 
> Has anyone else seen this behaviour? or have I missed something obvious?
> I'm new to redland (and RDF in general) and some pointers to where to
> start looking would be much appreciated.

Yeah it's a bug with failing to allow NULLs, here's the patch:

Index: rdf_storage.c
===================================================================
--- rdf_storage.c	(revision 11806)
+++ rdf_storage.c	(working copy)
@@ -943,8 +943,10 @@
   }


-  node1=librdf_new_node_from_node(node1);
-  node2=librdf_new_node_from_node(node2);
+  if(node1)
+    node1=librdf_new_node_from_node(node1);
+  if(node2)
+    node2=librdf_new_node_from_node(node2);

   switch(want) {
     case LIBRDF_STATEMENT_SUBJECT:


Dave



More information about the redland-dev mailing list