Skip to content

Async errors on MacOS 15.4 #49

@atticoos

Description

@atticoos

On latest version of node-swift (as well as earlier versions) starting on MacOS 15.4 and up, this error is hit in any async NodeSwift function

guard let q = target?.queue else {
nodeFatalError("There is no target NodeAsyncQueue associated with this Task")
}

Running the examples:

#NodeModule(exports: [
    "nums": [Double.pi.rounded(.down), Double.pi.rounded(.up)],
    "str": String(repeating: "NodeSwift! ", count: 3),
    "add": try NodeFunction { (a: Double, b: Double) in
        print("calculating...")
        try await Task.sleep(nanoseconds: 500_000_000)
        return "\(a) + \(b) = \(a + b)"
    },
])
const { nums, str, add } = require('./.build/Module.node');
console.log(nums); // [ 3, 4 ]
console.log(str); // NodeSwift! NodeSwift! NodeSwift!
add(5, 10).then(console.log); // 5.0 + 10.0 = 15.0

when add attempts to settle, it terminates with this error:

[ 3, 4 ]
NodeSwift! NodeSwift! NodeSwift! 
calculating...
FATAL ERROR: NodeAPI/NodeActor.swift:36 There is no target NodeAsyncQueue associated with this Task
 1: 0x104a626e4 node::Abort() [/Users/atticuswhite/.nvm/versions/node/v18.17.0/bin/node]
 2: 0x104a627d0 node::OOMErrorHandler(char const*, bool) [/Users/atticuswhite/.nvm/versions/node/v18.17.0/bin/node]
 3: 0x104a3171c napi_open_callback_scope [/Users/atticuswhite/.nvm/versions/node/v18.17.0/bin/node]
 4: 0x11250944c $s7NodeAPI14nodeFatalError_4file4lines5NeverOSS_s12StaticStringVSutFAFSRys5UInt8VGXEfU_AFSRys4Int8VGXEfU_ [/Users/atticuswhite/Dev/Rally/rally/apps/desktop/.build/arm64-apple-macosx/release/libNodeAPI.dylib]
 5: 0x112508e5c $s7NodeAPI14nodeFatalError_4file4lines5NeverOSS_s12StaticStringVSutF [/Users/atticuswhite/Dev/Rally/rally/apps/desktop/.build/arm64-apple-macosx/release/libNodeAPI.dylib]
 6: 0x1124e31a0 $s7NodeAPI0A8Executor33_966FF45FD4F1A9C026C3CF1C68879B06LLC7enqueueyyScJF [/Users/atticuswhite/Dev/Rally/rally/apps/desktop/.build/arm64-apple-macosx/release/libNodeAPI.dylib]
 7: 0x1124e333c $s7NodeAPI0A8Executor33_966FF45FD4F1A9C026C3CF1C68879B06LLCScFAAScF7enqueueyys3JobVnFTW [/Users/atticuswhite/Dev/Rally/rally/apps/desktop/.build/arm64-apple-macosx/release/libNodeAPI.dylib]
 8: 0x1124e32f0 $s7NodeAPI0A8Executor33_966FF45FD4F1A9C026C3CF1C68879B06LLCScfAAScf7enqueueyys0C3JobVnFTW [/Users/atticuswhite/Dev/Rally/rally/apps/desktop/.build/arm64-apple-macosx/release/libNodeAPI.dylib]
 9: 0x27d9b12a8 _swift_task_enqueueOnExecutor [/usr/lib/swift/libswift_Concurrency.dylib]
10: 0x27da0d698 swift::AsyncTask::flagAsAndEnqueueOnExecutor(swift::SerialExecutorRef) [/usr/lib/swift/libswift_Concurrency.dylib]
11: 0x27da09454 swift::runJobInEstablishedExecutorContext(swift::Job*) [/usr/lib/swift/libswift_Concurrency.dylib]
12: 0x27da0a9b4 swift_job_runImpl(swift::Job*, swift::SerialExecutorRef) [/usr/lib/swift/libswift_Concurrency.dylib]
13: 0x194a6be30 _dispatch_root_queue_drain [/usr/lib/system/libdispatch.dylib]
14: 0x194a6c5d4 _dispatch_worker_thread2 [/usr/lib/system/libdispatch.dylib]
15: 0x194c0de28 _pthread_wqthread [/usr/lib/system/libsystem_pthread.dylib]
16: 0x194c0cb74 start_wqthread [/usr/lib/system/libsystem_pthread.dylib]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions