ish-app / ish-app/ish

Processes occasionally get stuck in kevent forever (Correction, wait_for_ignore_signals() is where iSH gets stuck)

Open
#1,745 2 comments 0 reactions 0 assignees View on GitHub
unconfirmed
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...

Screen Shot 2022-03-01 at 9 16 21 PM

[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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.