Elevator crashes when elevatorserver dies #36
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
priority
high
priority
low
priority
medium
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
TTK4145/elevator#36
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bug description
The elevator program crashes then the elevator server dies.
Justification
From the project specification:
The key bit here is that we should tolerate
software that crashes, it is slightly ambiguous if this means we should tolerate our program crashing, or if that also includes external programs.Due to this we should assume the worst case, that we need to handle external programs crashing.
Crash log
Potential fix
The program seems to crash with a
PoisonErroras thecbcchannels from the driver no longer exist.As such, we need to handle this case, I believe this can be done by moving all tasks dependent on the external driver into a separate new task, which, rather than panicking when the tasks return kills all it's tasks, tries to re-establish connection the the elevator, then re-spawns the tasks on success.