Processes occasionally get stuck in kevent forever (Correction, wait_for_ignore_signals() is where iSH gets stuck)
- Dominant language
- C
- Stars
- 20.5k
- Forks
- 1.5k
- PR merge metrics
- No merged PRs in 30d
Description
To reproduce...
- Extract the attached archive
- cd into Angband-4.2.3
- ./configure --prefix=/usr/local
- Create a file called wrap that contains the following
```
#!/bin/ash
while [ 1 ]; do
make clean
make -j
done
```
- chmod +x wrap
- apk add build-base linux-headers cmake
- ./wrap
Wait a while. Eventually the build will stop. iSH will not lockup and you will probably be able to ^z out and kill it. iSH may crash at that point. If you pause and look at the last make process it will look something like this...

[Angband-4.2.3.tar.gz](https://github.com/ish-app/ish/files/8166729/Angband-4.2.3.tar.gz)
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the hang with Angband-4.2.3 using the provided configure, build, and wrap commands. Then inspect the implementation and callers of wait_for_ignore_signals(), the location identified in the correction, and trace the stuck process behavior. Done means the repeated parallel build no longer leaves iSH waiting there indefinitely, with the reproduction checked again.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100