Skip to content

Unknown system error -86 when spawning binary from @cubejs-backend/query-orchestrator (darwin-arm64) #8949

@vieira

Description

@vieira

Describe the bug
When running cube-server I see some errors in the logs like:

Error querying db scheduler-b760bd0f-c771-4b85-9f41-47c90f65225f
   Error: spawn Unknown system error -86
    at QueryQueue.parseResult (/Users/vieira/Developer/platform/node_modules/@cubejs-backend/query-orchestrator/src/orchestrator/QueryQueue.js:394:13)
    at QueryQueue.executeInQueue (/Users/vieira/Developer/platform/node_modules/@cubejs-backend/query-orchestrator/src/orchestrator/QueryQueue.js:225:19)
    at PreAggregationLoadCache.keyQueryResult (/Users/vieira/Developer/platform/node_modules/@cubejs-backend/query-orchestrator/src/orchestrator/PreAggregations.ts:439:75)
    at async Promise.all (index 0)
    at PreAggregationLoader.loadPreAggregationWithKeys (/Users/vieira/Developer/platform/node_modules/@cubejs-backend/query-orchestrator/src/orchestrator/PreAggregations.ts:649:30)
    at PreAggregationLoader.loadPreAggregation (/Users/vieira/Developer/platform/node_modules/@cubejs-backend/query-orchestrator/src/orchestrator/PreAggregations.ts:579:22)
    at preAggregationPromise (/Users/vieira/Developer/platform/node_modules/@cubejs-backend/query-orchestrator/src/orchestrator/PreAggregations.ts:2238:30)
    at QueryOrchestrator.fetchQuery (/Users/vieira/Developer/platform/node_modules/@cubejs-backend/query-orchestrator/src/orchestrator/QueryOrchestrator.ts:218:9)
    at OrchestratorApi.executeQuery (/Users/vieira/Developer/platform/node_modules/@cubejs-backend/server-core/src/core/OrchestratorApi.ts:98:20)
    at /Users/vieira/Developer/platform/node_modules/@cubejs-backend/server-core/src/core/RefreshScheduler.ts:605:13
    at async Promise.all (index 0)
    at RefreshScheduler.refreshPreAggregations (/Users/vieira/Developer/platform/node_modules/@cubejs-backend/server-core/src/core/RefreshScheduler.ts:590:5)

During install I noticed there was a post install step that downloads a native binary.

I have downloaded this file directly and after extracting it, trying to run index.node directly also produces an error.

EDIT: This seems to be unrelated.

The cause seems to be the cubestored binary in @cubejs-backend/cubestore/downloaded/latest/bin. On an Intel mac it runs fine but on ARM mac it fails to exec:

exec: Failed to execute process './cubestored': Bad CPU type in executable.

The environment where I'm running is macOS 15.1 on M4 MBP:

$ uname -a
Darwin giant.local 24.1.0 Darwin Kernel Version 24.1.0: Thu Oct 10 21:06:57 PDT 2024; root:xnu-11215.41.3~3/RELEASE_ARM64_T6041 arm64
$ sysctl machdep.cpu
machdep.cpu.cores_per_package: 12
machdep.cpu.core_count: 12
machdep.cpu.logical_per_package: 12
machdep.cpu.thread_count: 12
machdep.cpu.brand_string: Apple M4 Pro

To Reproduce
Steps to reproduce the behavior:

  1. Install @cubejs-backend/server on an ARM64 Mac (?)
  2. Run cubejs-server dev-server
  3. Notice some query-orchestrator errors in the logs spawning.

Minimally reproducible Cube Schema
It doesn't seem to be exclusive to preAggregations but having a preAggregation triggers the error quickly and any query that would use the preAggregation fails. Some other queries still succeed.

Version:
1.1.3 (also tested with 1.0.5 and 1.1.4, same issue)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions