avajs/ava · error · Error

Timed out resolving AVA configuration

Error message

Timed out resolving AVA configuration

What it means

Thrown by resolveGlobsSync when the Atomics.wait on the worker's shared synchronization buffer returns 'timed-out' — no signal arrived within 10 seconds. It means the eslint-plugin-helper worker thread never delivered its computed glob results: the worker crashed, hung while loading the ESLint config (e.g. plugins resolving over the network), or was blocked before writing to the shared buffer.

Source

Thrown at entrypoints/eslint-plugin-helper.js:44

		const syncBuffer = new SharedArrayBuffer(4);
		sync = new Int32Array(syncBuffer);

		const filename = path.join(import.meta.dirname, '../lib/eslint-plugin-helper-worker.js');
		worker = new Worker(pathToFileURL(filename), {
			workerData: {
				dataBuffer,
				syncBuffer,
				firstMessage: {projectDir, overrideExtensions, overrideFiles},
			},
		});
		worker.unref();
	} else {
		worker.postMessage({projectDir, overrideExtensions, overrideFiles});
	}

	const synchronize = Atomics.wait(sync, 0, 0, 10_000);
	if (synchronize === 'timed-out') {
		throw new Error('Timed out resolving AVA configuration');
	}

	const byteLength = Atomics.exchange(sync, 0, 0);
	if (byteLength === MAX_DATA_LENGTH_EXCLUSIVE) {
		throw new Error('Globs are over 100 KiB and cannot be resolved');
	}

	const globsOrError = v8.deserialize(data.slice(0, byteLength));
	if (globsOrError instanceof Error) {
		throw globsOrError;
	}

	return globsOrError;
};

const helperCache = new Map();

export function load(projectDir, overrides) {

View on GitHub (pinned to bbfd946322)

Solutions

  1. Verify the AVA/ESLint configuration in projectDir loads quickly and does not await network resources or long-running plugins
  2. Run the worker script (lib/eslint-plugin-helper-worker.js) directly to surface a hidden worker-side crash
  3. Check that workerData buffers and the firstMessage payload are valid for the current AVA version; reinstall or upgrade AVA
  4. Increase the 10_000 ms Atomics.wait timeout locally if configs are legitimately slow, or precompute the config outside the worker
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at entrypoints/eslint-plugin-helper.js:44 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of avajs/ava@bbfd946322 (2026-09-02). Data as JSON: /api/errors/08de0652783d11d0. Report an issue: GitHub.