container: wrap execv in retry-on-eintr#702
Conversation
|
I suspect that exec from CIFS mount [from Azure] is the only case where execve returns EINTR, so this is a not well-known case. In general, EINTR is not very well documented. For this particular case, is not listed in Anyway, we see it in the wild, and wrapping makes sense. |
|
Thanks for the patch! LGTM, could you drop the change to libocispec? |
|
@kolyshkin @giuseppe @mrunalp this reverts libocispec to an older version. |
|
Although it should not do any harm as far as change seems. |
|
LGTM |
Apparently, execve(2) can return EINTR on Azure, which results in sporadic failures in crun exec (and possibly crun run). To fix, wrap execv in TEMP_FAILURE_RETRY macro. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Sorry, my bad. Fixed, rebased, pushed. |
Apparently, execve(2) can return EINTR on Azure (CIFS share),
which results in sporadic failures in
crun exec(and possiblycrun run).To fix, wrap
execvinTEMP_FAILURE_RETRYmacro.Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1917662
See-also: opencontainers/runc#3045