Projekt

Ogólne

Profil

Błąd #69

Wyścig w EDP

Dodane przez Anonimowy prawie 14 lat temu. Zaktualizowane ponad 13 lat temu.

Status:
Zamknięty
Priorytet:
Pilny
Przypisany do:
Kategoria:
-
Data rozpoczęcia:
2011-02-23
Data oddania:
% Wykonania:

100%


Opis

Wyścig prowadzi do błędu w edp_e_manip.cc:58, tj. linii:

   lib::MotorArray servo_desired_motor_pos(sb->command.parameters.move.abs_position, number_of_servos);

Jest ona wywoływana z wątku serva przez wątek tworzony w konstuktorze klas servo_buffer.
Problem w tym, że jeśli ten wątek wystartuje za szybko, to wskaźnik "sb" nie zdąży być przypisany.

U mnie wywala się to w jakiś 20% uruchomień.

Historia

#1 Uaktualnione przez Tomek Winiarski ponad 13 lat temu

  • Zmieniono Status z Nowy na Zamknięty
  • Ustawiono Przypisany do na Tomek Winiarski
  • Zmieniono % Wykonania z 0 na 100

dodalem dodatkowy condition synchroniser powstrzymujacy watek servo do czasu przypisania wskaznika

Eksportuj do Atom PDF