You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Running the parcel development server in an alpine podman container crashes because of an error being thrown in @parcel/watcher. The error is caused by a signal interrupting the poll system call in the linux inotify backend, that is sent by the __membarrier function in the musl libc implementation to synchronize threads when it fails to make a MEMBARRIER_CMD_PRIVATE_EXPEDITED membarrier syscall.
I have published a minimal reproduction of this kind of error with some further description of the problem in this repository.
The problem could be fixed by either masking signal 34 while polling or by recovering from EINTR errors instead of crashing. Masking the signal could be accomplished by replacing poll with ppoll and using the sigmask argument.
The text was updated successfully, but these errors were encountered:
Running the parcel development server in an alpine podman container crashes because of an error being thrown in
@parcel/watcher
. The error is caused by a signal interrupting the poll system call in the linux inotify backend, that is sent by the__membarrier
function in the musl libc implementation to synchronize threads when it fails to make aMEMBARRIER_CMD_PRIVATE_EXPEDITED
membarrier syscall.I have published a minimal reproduction of this kind of error with some further description of the problem in this repository.
The problem could be fixed by either masking signal 34 while polling or by recovering from EINTR errors instead of crashing. Masking the signal could be accomplished by replacing poll with ppoll and using the sigmask argument.
The text was updated successfully, but these errors were encountered: