Skip to content

ECOMPROMISED on running detox tests due to lockfile #4210

@jayshah123

Description

@jayshah123

What happened?

When running detox tests in CI, sometimes we get the following error around locking:

/Users/vagrant/git/node_modules/proper-lockfile/lib/lockfile.js:181
        onCompromised: (err) => { throw err; },
                                  ^
Error: Unable to update lock within the stale threshold
    at /Users/vagrant/git/node_modules/proper-lockfile/lib/lockfile.js:109:21
    at Object.newFs.<computed> [as utimes] (/Users/vagrant/git/node_modules/proper-lockfile/lib/adapter.js:20:13)
    at Timeout._onTimeout (/Users/vagrant/git/node_modules/proper-lockfile/lib/lockfile.js:100:20)
    at listOnTimeout (node:internal/timers:564:17)
    at processTimers (node:internal/timers:507:7) {
  code: 'ECOMPROMISED'
}

What was the expected behaviour?

Tests should run as expected and not fail.

Was it tested on latest Detox?

  • I have tested this issue on the latest Detox release and it still reproduces.

Help us reproduce this issue!

This is a relatively rare issue, and involved with concurrency so reproduces sparingly.
The ffrequency of rerpoduction of this issue is 1 in every 25 test runs.

In what environment did this happen?

Detox version: 20.6.0
React Native version: 0.70.7
Has Fabric (React Native's new rendering system) enabled: (yes/no) no
Node version: v18.13.0
Test-runner: jest

Detox logs

Detox logs
/Users/vagrant/git/node_modules/proper-lockfile/lib/lockfile.js:181
        onCompromised: (err) => { throw err; },
                                  ^
Error: Unable to update lock within the stale threshold
    at /Users/vagrant/git/node_modules/proper-lockfile/lib/lockfile.js:109:21
    at Object.newFs.<computed> [as utimes] (/Users/vagrant/git/node_modules/proper-lockfile/lib/adapter.js:20:13)
    at Timeout._onTimeout (/Users/vagrant/git/node_modules/proper-lockfile/lib/lockfile.js:100:20)
    at listOnTimeout (node:internal/timers:564:17)
    at processTimers (node:internal/timers:507:7) {
  code: 'ECOMPROMISED'
}
Node.js v18.13.0
05:04:28.091 detox[44829] E Command failed with exit code = 1:

Device logs

Device logs
paste logs here!

More data, please!

No response

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions