SEGABRT in archlinux
I have encountered wierd behavior in archlinux. I am not sure if this is something that can be easily fixed by this project, but I will create the issue with the purpose of helping other users. Feel free to close it since what matters to me is that it can be found by people with the issue since there is sort of a workaround.
When launching the language server, the console will write:
Listening on stdin
as expected followed by an immediate crash. This behavior will continue until I launch the server using GDB:
gdb ~/path/to/dotnet
run /path/to/FSharpLanguageServer.dll
which crashes with the same error the first time but running it again (in the same gdb session) will start it up successfully. Afterwards, the program will work flawlessly (even outdisde gbd). I guess there is some wierd timing shared library loading issue such that once it works, the required libraries will be in memory ready to work in subsequent attempts. I attach the gdb backtrace of the first crash, but it seems that the problem occurs in libcoreclr.so which is outside the scope of this project. I used the 0.1.26 version of the VS code plugin. I tried building the project myself to further test, but I ran into another archlinux specific issue related to type providers (nothing to do with this project).
#0 0x00007ffff7aeb82f in raise () from /usr/lib/libc.so.6
#1 0x00007ffff7ad6672 in abort () from /usr/lib/libc.so.6
#2 0x00007ffff730218c in PROCAbort () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#3 0x00007ffff730107b in PROCEndProcess(void*, unsigned int, int) () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#4 0x00007ffff6fa61f3 in SafeExitProcess(unsigned int, int, ShutdownCompleteAction) () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#5 0x00007ffff6fa7811 in EEPolicy::HandleFatalError(unsigned int, unsigned long, char16_t const*, _EXCEPTION_POINTERS*) () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#6 0x00007ffff70729c3 in LazyMachState::unwindLazyState(LazyMachState*, MachState*, unsigned int, int, HostCallPreference) () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#7 0x00007ffff6ee85b9 in HelperMethodFrame::InsureInit(bool, MachState*, HostCallPreference) () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#8 0x00007ffff6ee84e2 in HelperMethodFrame::GetFunction() () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#9 0x00007ffff6f429e8 in StackFrameIterator::ProcessCurrentFrame() () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#10 0x00007ffff6f43e0f in StackFrameIterator::NextRaw() () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#11 0x00007ffff6f43548 in StackFrameIterator::Filter() () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#12 0x00007ffff6f422fa in StackFrameIterator::Init(Thread*, Frame*, REGDISPLAY*, unsigned int) () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#13 0x00007ffff6f42040 in Thread::StackWalkFramesEx(REGDISPLAY*, StackWalkAction ()(CrawlFrame, void*), void*, unsigned int, Frame*) () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#14 0x00007ffff6f42479 in Thread::StackWalkFrames(StackWalkAction ()(CrawlFrame, void*), void*, unsigned int, Frame*) () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#15 0x00007ffff707dac1 in SystemDomain::GetCallersModule(StackCrawlMark*, AppDomain**) () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#16 0x00007ffff707dbb9 in SystemDomain::GetCallersAssembly(StackCrawlMark*, AppDomain**) () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#17 0x00007ffff7100b8e in AssemblyNative::Load(AssemblyNameBaseObject*, StringObject*, Object*, AssemblyBaseObject*, StackCrawlMark*, ICLRPrivBinder*, bool, bool, bool, long) () from /home/quantifio/.vscode/extensions/georgewfraser.fsharp-language-server-0.1.26/src/FSharpLanguageServer/bin/Release/netcoreapp2.0/linux-x64/publish/libcoreclr.so
#18 0x00007fff7d86808e in ?? ()
#19 0x00007fff00000001 in ?? ()
#20 0x0000000000000000 in ?? ()