Bug 60310
| Summary: | ocamllsp --stdio не отвечает на LSP-запрос initialize, падает с Deadlock | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Цой Павел Денисович <tsojpd> |
| Component: | ocaml-lsp | Assignee: | Anton Farygin <rider> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | rider |
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
ocaml-lsp-1.27.0-alt2 -> sisyphus: Sun Aug 30 2026 Anton Farygin <rider@altlinux> 1.27.0-alt2 - added requirement on ocamlformat-rpc: without it ocamllsp deadlocks on session shutdown before initialize (closes: 60310) |

Description
Цой Павел Денисович 2026-08-28 16:02:31 MSKПакеты: ocaml-lsp-1.27.0-alt1 ocaml-5.5.0-alt1 dune-3.24.2-alt1 Стенды: Server 11.1 Workstation 11.2 Workstation K 11.4 Education KDE 11.2 Education XFCE 11.2 Шаги воспроизведения: 1. $ mkdir -p /tmp/lsp-test/src && cd /tmp/lsp-test 2. $ printf '(lang dune 3.22)\n(name lsp-test)\n' > dune-project 3. $ printf '(executables (names main))\n' > src/dune 4. $ printf 'let () = Printf.printf "Hello\\n"\n' > src/main.ml 5. $ dune build 6. $ (echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"processId":null,"rootUri":"file:///tmp/lsp-test","capabilities":{}}}'; sleep 5) | timeout 8 ocamllsp --stdio Ожидаемый результат: Возвращает JSON-RPC ответ с capabilities и initialize Реальный результат: сервер падает с Deadlock в stdune при старте/обработке initialize, не возвращая ответ. /----------------------------------------------------------------------- | Internal error: Uncaught exception. | ("Deadlock", {}) | Raised at Stdune__Code_error.raise in file "otherlibs/stdune/src/code_error.ml", line 10, characters 30-62 | Called from Stdune__Exn_with_backtrace.try_with in file "otherlibs/stdune/src/exn_with_backtrace.ml", line 9, characters 8-12 \-----------------------------------------------------------------------