Stream: brlcad

Topic: deadlock


view this post on Zulip Sean (Jul 10 2018 at 22:22):

@Cezar also, how did you observe the deadlock you mention in r71111? if it's user-visible, that'll warrant a NEWS line. if it was theoretical or only encountered in dev testing, then it doesn't need anything.

view this post on Zulip Cezar (Jul 10 2018 at 23:32):

@Cezar also, how did you observe the deadlock you mention in r71111? if it's user-visible, that'll warrant a NEWS line. if it was theoretical or only encountered in dev testing, then it doesn't need anything.

i had a bug while implementing the SoA thing which set dont_restat to non-zero, so the branch which released the semaphore was not taken. however, i grepped for dont_restat = afterwards, and there was a place (librt/primites/something.c) which set it to 1, so i think it's not only theoretical

view this post on Zulip Cezar (Jul 10 2018 at 23:32):

maybe it warrants adding a test for it?

view this post on Zulip Cezar (Jul 10 2018 at 23:32):

brl-clean/src % grep -R "dont_restat =" .
./librt/primitives/submodel/submodel.c: if (sub_dbip->dbi_mf) sub_dbip->dbi_mf->dont_restat = 1;

view this post on Zulip Cezar (Jul 10 2018 at 23:38):

maybe the submodel code in the grep is never used/reached, can't tell. but even looking at the mappedfile.c code, either there is a case where the branch is not taken and the semaphore is never released, or there isn't, in which case the conditional is unnecessary :-?

view this post on Zulip Sean (Jul 11 2018 at 04:08):

maybe it warrants adding a test for it?

if you want, but I wouldn't unless I'd actually encountered bad behavior. there is too much code to stop at every potential -- stop at the actuals. :)

view this post on Zulip Sean (Jul 11 2018 at 04:30):

submodel code is essentially incomplete and not yet been made robust (and confirmed buggy during GCI), so it's fair game to clean up and fix as warranted


Last updated: Oct 09 2024 at 00:44 UTC