Skip to content

Locks in VSCode debug mode on import #22

Open
@TonyGravagno

Description

v0.5.2 - When a Typescript (ESM Node) project is run in VSCode in debug mode, the initalization process gets to the import of this package and stops:

import synchronizedPrettier from "@prettier/sync";

The return stack shows the Atomic.wait seems to be locked, and when locked on itself (?) there is some conflict with debug mode.
There is no issue when not running in debug mode.

const status = Atomics.wait(semaphore, 0, 0, timeout) ref

The first issue is that the semaphore can't be locked. But there is a second issue, that when this happens there is no timeout, so the process does not terminate.

return this.#sendActionToWorker(this.#worker, action, payload) ref

That line does not include a 'timeout' parameter which is defined on that function:

#sendActionToWorker(worker, action, payload, timeout) { ref

This results in 'timeout' being undefined, resulting in an unterminating lock.

While I'd normally request/recommend a default timeout setting with an option override, that won't help in this case of the import statement locking.

Please consider both of these issues in the resolution(s) of this challenge.

I know this timeout situation is a topic for make-synchronized, but because the author is the same I'm reporting it here. I will create a new issue there on request. Because I'm not familiar with these projects I don't know if I'm not using them correctly and either or both of these issues may not be "bugs" - so I don't want to create another ticket if there is no real problem.

Thanks.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions