<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2014-05-13 18:28 GMT+03:00 Mircea Ionita <span dir="ltr"><<a href="mailto:mircea.ionita0106@cti.pub.ro" target="_blank">mircea.ionita0106@cti.pub.ro</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Salut,<br>
<br>
Am ajuns intr-un punct in care testul 15 imi trece in majoritatea cazurilor,<br>
dar sunt momente in care primesc un Access Violation. Am descoperit ca<br>
eroarea apare in fisierul de test test_exec.c, mereu pe aceeasi linie -<br>
linia 426, cea cu instructiunea """current_task->runtime = 0;""", si e mereu<br>
aceeasi exceptie : Access Violation writing to address 40b (hexa), cel putin<br>
pe laptop-ul meu. Nu sunt sigur, dar cred ca-i o problema cu adresele unde<br>
sunt alocate structurile statice globale din fisierul test_exec.c .<br>
<br>
A mai intampinat cineva acest gen de problema?<br><br></blockquote><div>Salut, Mircea!</div><div><br></div><div>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.</div>
<div><br></div><div>Numai bine,</div></div>-- <br>Răzvan Crainea
</div></div>