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

Alin Gabriel Gheorghe gheorghealingabriel at gmail.com
Wed Apr 13 11:17:00 EEST 2016


Problema era ca alocam (cu calloc) un char *buffer dupa ce apelam
VirtualAlloc si setam pointerul de start.

Singura explicatie pentru acest comportament ar fi ca calloc-ul mapa
memorie peste memoria mea, dar e o explicatie fabricata de mine. Poate
cineva sa ofere o explicatie mai buna?

Alin-Gabriel Gheorghe 331CA

În data de 13 aprilie 2016, 11:12, Adrian Stanciu <
adrian.stanciu.pub at gmail.com> a scris:

> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20160413/56398bba/attachment-0001.html>


More information about the so mailing list