[so] parser

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Sat Mar 28 00:55:40 EET 2009


On Thu, 2009-03-26 at 17:06 +0200, Delia Adiaconitei wrote:
> Buna,
> 
> La rularea comenzii echo "<sir>" obtin eroare de la parser:
> 
> Assertion failed: globalAllocMem[globalAllocCount] != NULL, file
> parser.y, line
> 564
> 
> urmata de iesirea din program.Eroarea apare la apelul functiei
> free_parse_memory() dupa asteptarea procesului copil.
> 
> Are cineva vreo idee?

Destul de probabil eliberezi o zona de memorie care nu trebuia
eliberata. Dupa cum se precizeaza, programul asteapta ca
globalAllocMem[globalAllocCount] sa fie diferit de NULL. Daca la tine
NULL e posibil sa-l eliberezi undeva.

Functia free_parse_memory o apelezi dupa incheierea unei "linii" din
linia de comanda (a unei comenzi complete), nu dupa asteptarea
procesului copil. Urmareste modelul oferit de CUseParser.c/UseParser.cpp
din sursele parser-ului.

Razvan



More information about the so mailing list