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

Alin Gabriel Gheorghe gheorghealingabriel at gmail.com
Wed Apr 13 11:41:01 EEST 2016


Gata, am rezolvat si cu alocarile intermediare.

Multumesc mult de ajutor,
Alin-Gabriel Gheorghe 331CA

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

> 2016-04-13 11:17 GMT+03:00 Alin Gabriel Gheorghe
> <gheorghealingabriel at gmail.com>:
> > 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?
> >
>
> E o problemă, deoarece zona este eliberată și alocările tale pot să fi
> făcute acolo. Mai târziu, te aștepți să o poți rezerva din nou.
> Rezervarea pagină cu pagină trebuie făcută imediat după eliberarea
> zonei mari.
>
> Încă ai unele alocări intermediare ce îți pot face probleme.
>
> PS: folosiți bottom-posting [1] în discuțiile de pe listă pentru o
> citire mai ușoară a intervențiilor
>
> >
> > Î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.
> >>
>
> [1]
> http://ocw.cs.pub.ro/courses/so/info/lista-discutii#inlineinterleaved_posting
>
> Adrian
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20160413/1ae975cc/attachment.html>


More information about the so mailing list