Comments (9)
It might be related. For Contextive the fix was to update the vscode-languageclient
package from ^7.0.0
to ^8.1.0
to pick up microsoft/vscode-languageserver-node#776.
The Fable bindings update was necessitated by that because of https://github.com/microsoft/vscode-languageserver-node#3170-protocol-800-json-rpc-800-client-and-800-server.
Looking at ionide-vscode-fsharp
it's currently on [email protected] so in theory it should have picked up the exit fix which came in in 8.0.0
.
However, the start function looks like it is still using the disposable approach... which means that at runtime, a promise is being added to the subscriptions array and not being awaited. This might be causing other issues... e.g. just speculating but perhaps when the elements of the subscriptions array are being disposed it fails because the promise doesn't have a dispose method?
Doesn't necessarily correlate with the fact that the shutdown issue is only affecting things when --adaptive-lsp-server-enabled
though.
So, in short, I do recommend updating the bindings and updating the languageclient.start call to be awaited as per the guidance here: https://github.com/microsoft/vscode-languageserver-node#3170-protocol-800-json-rpc-800-client-and-800-server - but it's only speculative that it will have any impact on the issue you're investigating here.
from fsautocomplete.
@TheAngryByrd is there any disposable/potentially-blocking shutdown logic on the ALSP that differs significantly from the old LSP? I took a look and didn't see anything. @rmunn it might be worth taking a memory dump of the FSAC process if this happens again so we can see where the threads are - I'd expect that the shutdown LSP method would be called and/or the Cancellation of the System.CommandLine command handler would have been triggered here.
from fsautocomplete.
Yeah I haven't experienced this at all but I'm primarily on windows now. Maybe there's something with osx?
from fsautocomplete.
Hmm I wonder if dev-cycles/contextive#44 is the same issue.
from fsautocomplete.
hey @chrissimon-au, this feels like the same issue. I see you updated the Fable bindings on your end, was that the proper fix or was there something more deep there?
from fsautocomplete.
Interestingly we're not the only plugin that's having issues on MacOS dotnet/interactive#1650.
I'm able to repro it not closing on macos as well. I'll probably have a fix a bit later tonight. Seems like calling exit
directly works.
from fsautocomplete.
FWIW I'm having the same issue on Debian Linux. I also have adaptive lsp server enabled.
from fsautocomplete.
This really does feel runtime related
I'll get a dotnet-dump later and see if I can analyze it
from fsautocomplete.
Idk what I'm looking for so I'm just gonna accept the PR that forces exit since it should be exiting anyway.
from fsautocomplete.
Related Issues (20)
- Autocomplete regression in the adaptive server HOT 10
- Add glob/regex ignore for built in analyzers
- Differentiate between namespace and module in open statement HOT 3
- is this intentional or a spelling mistake? HOT 3
- Handle Project Reloads when adding files to wildcard patterns HOT 1
- Better Codefix onboarding process HOT 2
- Mac m1 Sonoma - FSautocomplete not working HOT 7
- Neovim, Lsp Mode Crashed, range not found in JSON, diagnostics related HOT 10
- Code-fix for _.Property / _.MethodCall() / _.IndexerAccess[idx] shorthand for accessor functions
- Add Support for Breaking Down Type Signatures in Tooltips HOT 4
- fsiExtraParameters break error hints in editor while editing .fsx files HOT 14
- Remove inline values that replace pipeline hints
- Improve .NET POCO Initialiser Constructor object documentation, unit -> unit is not useful, we want to see the signature HOT 2
- F# interactive directives not showing docs once written down, also true for #nowarn, coloring is not conistent (purple?) HOT 1
- Refactoring: Extract Interface from Type member declaration (refactoring)
- Should we move this to Ionide or fsprojects? HOT 5
- #r "nuget: System.Data.Common" doesn't seem to work in .fsx HOT 4
- Format tooltips using client input HOT 4
- Invalid `This qualifier is redundant` when a variable is shadowed by a property with the same name and compatible signature
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fsautocomplete.