[so] [Tema3][Windows] Problema rulare teste - masina virtuala

Adrian Stanciu adrian.stanciu.pub at gmail.com
Wed Apr 13 11:12:52 EEST 2016


2016-04-13 11:02 GMT+03:00 Alexandru Jercaianu via so <so at cursuri.cs.pub.ro>:
> Salut,
>
> Memoria eliberata cu VirtualFree trebuie sa fi fost alocată cu VirtualAlloc.
> Probabil apelezi VirtualFree peste ceva alocat cu MapViewOfFile. Aveam
> aceeași problema.
>
> Alex Jercaianu
>
> Buna seara,
>
> Am intampinat o problema la rularea testelor pe masina virtuala. Se pare ca
> in functia vm_free() are un comportament nedeterminist, in sensul ca la
> rularea checker-ului se activeaza un DIE din acea functie aleator
> (intotdeauna unul ce contine un VirtualFree). Am incercat sa rulez separat
> testele care pica asa si am constatat ca uneori dau fail (cu eroarea de mai
> sus) si alteori pass fara probleme.
>
> Mentionez ca local, pe sistemul meu de operare (Windows 7 x64), testele trec
> fara probleme la rulari succesive. De asemenea, mentionez si ca nu am
> implementat functionalitate pentru mai multe apeluri vm_alloc() (sa fie oare
> de la asta?).
>
> Stie cineva care ar putea fi problema?
>

Salut,

Pe lângă recomandarea lui Alex, să faci toți pașii de rezervare a
paginilor virtuale unul după celălalt. Din ce văd în cod după ce
eliberezi spațiul mare și până faci alocarea pagină cu pagină, mai
faci unele alocări de memorie ce pot să fie plasate în spațiul ce îl
vrei rezervat pentru paginile virtuale. Verifică dacă unele
VirtualAlloc() dau eroare. Cred că de aici e comportamentul
nedeterminist (depinde unde se fac acele alocări intermediare).

Dacă nu e de la asta, să-mi spui.

Adrian


More information about the so mailing list