zed icon indicating copy to clipboard operation
zed copied to clipboard

extension 0.0.6 `workspace.which()` causes hang on Linux

Open flukejones opened this issue 1 year ago • 5 comments

Check for existing issues

  • [X] Completed

Describe the bug / provide steps to reproduce it

While updating my slint extension I used the opportunity to check a few things with the dart extension to try and find what might have been causing the infinite hang/lockup.

the which() call is what causes the full lockup.

Environment

Zed: v1.0.0 (Zed Dev 50d1035650a3944ab08d1ee365f55279443a76c8) OS: Linux 1.0.0 Memory: 31 GiB Architecture: x86_64

If applicable, add mockups / screenshots to help explain present your vision of the feature

No response

If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.

No response

flukejones avatar Apr 16 '24 21:04 flukejones

We've supported the which API in extensions since the beginning.

Are you saying that it works in previous versions, but causes a hang just in v0.0.6?

maxdeviant avatar Apr 17 '24 16:04 maxdeviant

@maxdeviant I think it's been an issue in all versions. I recall trying the dart extension in an early api version and it also locked up. The only extension I've used which uses which appears to be dart. Not sure what others there are.

flukejones avatar Apr 18 '24 03:04 flukejones

The actual cause of this is if I disown Zed like this Zed ~/Projects/JTE/mobile_application & disown, but this hang only occurs if using disown + an extension that uses .which().

So far it's pretty repeatable.

flukejones avatar Apr 18 '24 08:04 flukejones

The actual cause of this is if I disown Zed like this Zed ~/Projects/JTE/mobile_application & disown, but this hang only occurs if using disown + an extension that uses .which().

So far it's pretty repeatable.

What happens if you run Zed without using disown?

maxdeviant avatar Apr 18 '24 15:04 maxdeviant

Round fine of course

flukejones avatar Apr 18 '24 18:04 flukejones

Instead of using disown, use the cli that is now packaged with zed that manages the daemon in the background for you.

ConradIrwin avatar Jun 25 '24 17:06 ConradIrwin