libxml2 crasht & hangt *

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heeft iemand ervaring met libxml2 onder win32? Ik ben al geruime tijd bezig om deze library aan de gang te krijgen met zowel binaries van het web als zelfgecompileerde binaries (voor extra debugging).

Thread support heb ik uitgezet, ik heb inmiddels gevalideerd dat het geheugen ook niet het probleem zou mogen zijn (free wordt alleen aangeroepen op geheugenblokken aangemaakt met malloc, realloc of strdup).

Ik heb zelf versie 2.7.3 gecompileerd, en 2.7.2 & 2.5.iets op het web geprobeerd. Ik compileer met mingw.

Het symptoom is dat een applicatie hangt en alleen maar afgesloten kan worden met de task manager. Ctrl-C werkt ook niet meer. Dat deed me vermoeden dat het misschien met threads te maken had, maar deze heb ik in m'n eigen gecompileerde versie uitgeschakeld en - zouden - van geen invloed mogen zijn.

Mijn eigen applicatie is niet zo heel groot, is single threaded en gebruikt nagenoeg geen dynamisch geheugen.

Iemand een idee?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:47

Creepy

Tactical Espionage Splatterer

Kan je een klein voorbeeld maken van code die crasht zoals je die nu in je eigen app gebruikt? Alleen dan kunnen we er wat zinnigs over zeggen natuurlijk.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De code komt bijna rechtstreeks van een voorbeeld van het net waar een xmlfile wordt ingelezen. De code die ik gebruik lijkt bijzonder veel op deze: http://xmlsoft.org/tutorial/apg.html. Ik kan geen eigen sourcecode op internet posten i.v.m. bedrijfspolicy.

GDB laat zien dat het vrijwel altijd foutgaat in een low-level systeemcall in de wsock32 library. Hij lijkt hier in het gros van de gevallen te komen via een malloc of een free(!) (ik kan niet uitsluiten dat dit ook op andere manieren gebeurt, als ik er naar kijk in ieder geval niet).

Ik heb wrappers gemaakt voor malloc, realloc, free en strdup, en deze meegegeven aan libxml om te kunnen zien hoe deze het geheugen (de)alloceert. Hieruit blijken geen rare dingen.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:47

Creepy

Tactical Espionage Splatterer

Gaat het in die voorbeeld code bij jou ook mis? Of gaat dat wel goed.

Ik vraag overigens ook niet om de code van je app maar om een klein test geval waarin het mis gaat. Zo zonder code kunnen we gewoon erg weinig.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok, een probleem lijkt opgelost nu, de applicatie crasht in ieder geval niet meer. Ik heb een bug gevonden waarin ik in mijn eigen code te weinig geheugen alloceerde (verkeerd type in de sizeof).

Verklaart nog steeds niet het 'hangen' van de applicatie - niet reageren op ctrl-Z - (weet iemand wat de condities hiervoor kunnen zijn?).

Als ik dit kan isoleren in een stuk code dan zal ik het hier posten.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:47

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op maandag 27 april 2009 @ 18:00:
Ok, een probleem lijkt opgelost nu, de applicatie crasht in ieder geval niet meer. Ik heb een bug gevonden waarin ik in mijn eigen code te weinig geheugen alloceerde (verkeerd type in de sizeof).
En daarom blijven we vragen om voorbeeld code waarin het mis gaat ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Terecht, ook xD
Pagina: 1