<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.30.3">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#ffffff">
<BLOCKQUOTE TYPE=CITE>
    Hi Francis,<BR>
</BLOCKQUOTE>
<BR>
Hi Raphael,<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
    yes, I missed the & operator. But it unfortunately doesn't make it work...<BR>
    <BR>
    I now suspect it has something to do with the axlDoc/axlNode variables and their release from memory. Why is that? In the program I have another function that also uses axl library in this way, which is called before the function I posted that doesn't work.<BR>
</BLOCKQUOTE>
<BR>
The code you posted, in the relation to memory allocation is pefect. It cannot break. <BR>
Maybe the document activates a bug inside axl engine. Can you post the document that triggers the failure?<BR>
<BR>
Please, remove any sensitive data before posting.<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
    So, the first time axl library is used it works - the second time it doesn't. <BR>
</BLOCKQUOTE>
<BR>
It's hard to tell but if you consider it loads the first time and the second breaks, it is a signal for<BR>
something messing internal memory allocation structures. I saw this in the past....<BR>
<BR>
...but the culprit can also be other memory handling errors.<BR>
<BR>
In any case, I recommend you to run your test under valgrind supervision to spot the failure.<BR>
It's your best option.<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
    I use the memory release functions axl_doc_free and so on. That should do the job, no? <BR>
</BLOCKQUOTE>
<BR>
Yes but, this has nothing to do with your problem. If you take a look at your function, each<BR>
time the document is parsed, a new axlDoc document is loaded...so each axl_doc_free <BR>
function is independent...unless you are calling axl_doc_free twice over the same variable...<BR>
<BR>
...which is something that is not shown in your example (your code doesn't show where and how<BR>
axl_doc_free is called).<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
    And in any case the variables are only defined locally. I also already tried using different names for the axl objects in the different functions. Or does it have to do anything with the axl_init() and axl_end() functions? Which are - according to the documentation - not even functional right now?<BR>
</BLOCKQUOTE>
<BR>
My impression is that your problem is around some wrong memory deallocation somewhere or <BR>
maybe a bug inside axl engine that causes wrong memory allocation/deallocation patterns....<BR>
<BR>
...but it is hard to tell without a full working example. Using valgrind to check your program and <BR>
the usage of axl is not doing fancy things with the memory.<BR>
<BR>
Best Regards,<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
    Best regards<BR>
    Raphael<BR>
    <BR>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
    Am 14.02.2014 17:20, schrieb Francis Brosnan Blazquez:<BR>
    <BR>
</BLOCKQUOTE>
<BLOCKQUOTE TYPE=CITE>
    <BLOCKQUOTE TYPE=CITE>
        Hi Raphael,<BR>
        <BR>
        <BLOCKQUOTE TYPE=CITE>
<PRE>
I've got a problem with parsing a file. I've got a subfunction that 
starts as stated:

int write_frq(int n_pump, double frqs[]) {
     axlError *a_err = NULL;

     axlDoc *doc = NULL; //axl library document object
     axlNode *root = NULL; //axl library root node object
     axlNode *node = NULL; //node object for navigation

     printf("DEBUG - write frq() axl variables defined\n");

     //get doc reference
     doc = axl_doc_parse_from_file("GAtest1_input.xml", a_err);
</PRE>
        </BLOCKQUOTE>
        <BR>
        ..this must be:<BR>
        <BR>
        doc = axl_doc_parse_from_file ("GAtest1_input.xml", &a_err); // put an & so you pas a axlErr **<BR>
        <BR>
        ...I wonder how your compiler is missing this error :-??<BR>
        <BR>
        Best Regards,<BR>
        <TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
<PRE>
-- 
Francis Brosnan Blázquez <<A HREF="mailto:francis.brosnan@aspl.es">francis.brosnan@aspl.es</A>>
ASPL
91 134 14 22 - 91 134 14 45 - 91 116 07 57

AVISO LEGAL

Este mensaje se dirige exclusivamente a su destinatario. Los datos
incluidos en el presente correo son confidenciales y sometidos a secreto
profesional, se prohíbe divulgarlos, en virtud de las leyes vigentes. Si
usted no lo es y lo ha recibido por error o tiene conocimiento del mismo
por cualquier motivo, le rogamos que nos lo comunique por este medio y
proceda a destruirlo o borrarlo.

En virtud de lo dispuesto en la Ley Orgánica 15/1999, de 13 de
diciembre, de Protección de Datos de Carácter Personal, le informamos de
que sus datos de carácter personal, recogidos de fuentes accesibles al
público o datos que usted nos ha facilitado previamente, proceden de
bases de datos propiedad de Advanced Software Production Line, S.L.
(ASPL). No obstante, usted puede ejercitar sus derechos de acceso,
rectificación, cancelación y oposición dispuestos en la mencionada Ley
Orgánica, notificándolo por escrito a:
ASPL - Protección Datos, C/Antonio Suárez 10 A-102, 28802, Alcalá de
Henares (Madrid).
</PRE>
</TD>
</TR>
</TABLE>
    </BLOCKQUOTE>
    <BR>
<PRE>
_______________________________________________
Axl mailing list
<A HREF="mailto:Axl@lists.aspl.es">Axl@lists.aspl.es</A>
<A HREF="http://lists.aspl.es/cgi-bin/mailman/listinfo/axl">http://lists.aspl.es/cgi-bin/mailman/listinfo/axl</A>
</PRE>
</BLOCKQUOTE>
<BR>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
<PRE>
-- 
Francis Brosnan Blázquez <<A HREF="mailto:francis.brosnan@aspl.es">francis.brosnan@aspl.es</A>>
ASPL
91 134 14 22 - 91 134 14 45 - 91 116 07 57

AVISO LEGAL

Este mensaje se dirige exclusivamente a su destinatario. Los datos
incluidos en el presente correo son confidenciales y sometidos a secreto
profesional, se prohíbe divulgarlos, en virtud de las leyes vigentes. Si
usted no lo es y lo ha recibido por error o tiene conocimiento del mismo
por cualquier motivo, le rogamos que nos lo comunique por este medio y
proceda a destruirlo o borrarlo.

En virtud de lo dispuesto en la Ley Orgánica 15/1999, de 13 de
diciembre, de Protección de Datos de Carácter Personal, le informamos de
que sus datos de carácter personal, recogidos de fuentes accesibles al
público o datos que usted nos ha facilitado previamente, proceden de
bases de datos propiedad de Advanced Software Production Line, S.L.
(ASPL). No obstante, usted puede ejercitar sus derechos de acceso,
rectificación, cancelación y oposición dispuestos en la mencionada Ley
Orgánica, notificándolo por escrito a:
ASPL - Protección Datos, C/Antonio Suárez 10 A-102, 28802, Alcalá de
Henares (Madrid).
</PRE>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>