Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/08/2014, 17:44
vosk
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Error en libxml2

Saludos a todos, recurro a ustedes para ver si pueden echarme una mano con esto: estoy usando la libreria libxml2 para parsear archivos xml, y se da el caso que en la funcion xmlReadFile o xmlParseFile (ambas de libxml2) se cierra la aplicacion; el depurador solo me dice lo siguiente:

Código C:
Ver original
  1. Program received signal SIGSEGV, Segmentation fault.
  2. In strncmp () (C:\Windows\syswow64\msvcrt.dll)
  3. Debugger finished with status 0

Y el call stack que me muestra el depurador es (no hay numeros de linea):

Código C:
Ver original
  1. strncmp() C:\Windows\syswow64\msvcrt.dll
  2. xmlFreeParserInputBuffer() C:\Program Files (x86)\CodeBlocks\MingW\bin\libxml2.dll
  3. ?? ()

Y esto sucede incluso con lo mas basico (linkado con libxml2.lib):

Código C:
Ver original
  1. #include <libxml/parser.h>
  2.  
  3. int main() {
  4.     LIBXML_TEST_VERSION;
  5.  
  6.     xmlDoc *doc = 0;
  7.  
  8.     if(!(doc = xmlReadFile("test.xml", 0, 0))) {//aqui revienta
  9.         return 0;
  10.     }
  11.  
  12.     xmlFreeDoc(doc);
  13.     xmlCleanupParser();
  14.  
  15.     return 0;
  16. }

El test.xml es el ejemplo de xml que hay en w3schools/xml (no soy experto en xml pero me imagino que debe de estar bien):

Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <note>
  3.     <to> Tove</to>
  4.     <from>Jani</from>
  5.     <heading>Reminder</heading>
  6.     <body>Don't forget me this weekend!</body>
  7. </note>

Y lo mejor de todo es que anteriormente ya habia usado esta misma libreria en este mismo pc sin problemas, los problemas me surgen ahora que estoy revisando/renovando una aplicacion en la que uso esta libreria.

La verdad es que yo ya no se por donde tirar, solo me queda usar otra libreria pero preferiria solucionar esto porque con libxml me siento comodo (he visto tinyxml y alguna mas).

A alguien se le ocurre que es lo que puede estar pasando?

Muchas gracias por adelantado

Saludos
vosk