2014-05-13 18:28 GMT+03:00 Mircea Ionita <[email protected]>:
> Salut, > > Am ajuns intr-un punct in care testul 15 imi trece in majoritatea > cazurilor, > dar sunt momente in care primesc un Access Violation. Am descoperit ca > eroarea apare in fisierul de test test_exec.c, mereu pe aceeasi linie - > linia 426, cea cu instructiunea """current_task->runtime = 0;""", si e > mereu > aceeasi exceptie : Access Violation writing to address 40b (hexa), cel > putin > pe laptop-ul meu. Nu sunt sigur, dar cred ca-i o problema cu adresele unde > sunt alocate structurile statice globale din fisierul test_exec.c . > > A mai intampinat cineva acest gen de problema? > > Salut, Mircea! Toate structurile sunt globale, deci sunt alocate în zona de date. 'current_task' este un pointer copiat din structura 'tasks_history', care este inițializată în handler-ul testului 15. Presupunerea mea este că din cauza sincronizării necorespunzătoare, două threaduri ajung să execute în același timp tasks_history[exec_time++]. Încearcă să verifici scenariul ăsta. Numai bine, -- Răzvan Crainea
_______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
