Open
Description
It hangs after this output "Indexing workspace files in ...", which is caused by Open3.capture3
in generate_require_paths
in workspace.rb
never returns. The deepest root cause I could pin so far is @mutex.synchronize
in tick
in message_worker.rb
. An experiment could prove this,
def tick
require 'open3'
o, e, s = Open3.capture3("cmd", "/c", "echo 11111111")
STDERR.puts o
message = @mutex.synchronize do
@resource.wait(@mutex) if messages.empty?
next_message
end
STDERR.puts '2222222'
o, e, s = Open3.capture3("cmd", "/c", "echo 33333333")
STDERR.puts o
handler = @host.receive(message)
handler&.send_response
end
Only 11111111
and 22222222
are outputted, no 3333333
.
Without a thorough knowledge of this codebase, I can not go further. Please examine this. Thanks.
Solargraph v0.55.1
ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x64-mingw-ucrt]
Microsoft Windows 10 Pro (10.0.19045 N/A Build 19045)
Metadata
Metadata
Assignees
Labels
No labels