Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get EPERM error on timeout #124

Open
cunj123 opened this issue Oct 31, 2023 · 0 comments
Open

Get EPERM error on timeout #124

cunj123 opened this issue Oct 31, 2023 · 0 comments
Assignees

Comments

@cunj123
Copy link

cunj123 commented Oct 31, 2023

Describe the bug
When timeout is reached, the action tries to kill the child process, but it throws an EPERM error

/home/runner/work/poco/poco/.github/actions/retry-action/dist/index.js:3353
            throw err;
            ^

Error: kill EPERM
    at process.kill (node:internal/process/per_thread:221:13)
    at killPid (/home/runner/work/poco/poco/.github/actions/retry-action/dist/index.js:3363:17)
    at /home/runner/work/poco/poco/.github/actions/retry-action/dist/index.js:3340:21
    at Array.forEach (<anonymous>)
    at /home/runner/work/poco/poco/.github/actions/retry-action/dist/index.js:3338:23
    at Array.forEach (<anonymous>)
    at killAll (/home/runner/work/poco/poco/.github/actions/retry-action/dist/index.js:3337:27)
    at /home/runner/work/poco/poco/.github/actions/retry-action/dist/index.js:3328:13
    at ChildProcess.onClose (/home/runner/work/poco/poco/.github/actions/retry-action/dist/index.js:3384:17)
    at ChildProcess.emit (node:events:513:28) {
  errno: -1,
  code: 'EPERM',
  syscall: 'kill'
}

Configuration:

      - uses: nick-fields/retry@v2.9.0
        with:
          timeout_minutes: 1
          max_attempts: 3
          retry_on: any
          command: >-
            sudo -s
            ./ci/runtests.sh TSAN

Expected behavior
Should not throw, and the command should be retried

kirillzyusko added a commit to kirillzyusko/react-native-keyboard-controller that referenced this issue Nov 15, 2024
## 📜 Description

Fixed an issue when additional runtime installation can not be
terminated after 10 minutes.

## 💡 Motivation and Context

When using [nick-fields/retry](https://github.com/nick-fields/retry) and
we interrupt sudo command then we are getting errors like this
nick-fields/retry#114 or
nick-fields/retry#124

To overcome this problem I decided to create own script for retrying a
command. This PR delivers that.

## 📢 Changelog

<!-- High level overview of important changes -->
<!-- For example: fixed status bar manipulation; added new types
declarations; -->
<!-- If your changes don't affect one of platform/language below - then
remove this platform/language -->

### CI

- replace `nick-fields/retry` with own action;

## 🤔 How Has This Been Tested?

Reduced timeout to 2 minutes and verified that action was repeated 3
times with 1 minute delay between attempts.

## 📸 Screenshots (if appropriate):

<img width="1312" alt="image"
src="https://github.com/user-attachments/assets/051aea2e-32d1-4878-bf8f-b6831948c7c2">

## 📝 Checklist

- [x] CI successfully passed
- [x] I added new mocks and corresponding unit-tests if library API was
changed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants