Skip to content

buck2 lsp fails to start if there are type errors #1124

@9999years

Description

@9999years

If there are type errors present in the Starlark code (for the prelude, at least), the buck2 lsp will exit immediately with exit code 3 rather than starting with limited information available.

If type errors are introduced while buck2 lsp is already running, then buck2 lsp continues to provide information on a best-effort basis, rather than crashing or returning no data for all requests, so I believe starting up in the presence of errors should be possible.

[2025-10-16T16:24:35.257-07:00] Build ID: 5bdb6c95-a973-4b1d-86d3-4f846c7da0e0
[2025-10-16T16:24:35.271-07:00] File changed: root//2757344726.bzl
[2025-10-16T16:24:35.271-07:00] Network: Up: 0B  Down: 0B
Command failed:
From load at prelude/prelude.bzl:8

Caused by:
    0: From load at prelude/native.bzl:30
    1: From load at prelude/rules.bzl:15
    2: From load at prelude/rules_impl.bzl:33
    3: From load at prelude/haskell/haskell_ghci.bzl:20
    4: Error evaluating module: `prelude//haskell/compile.bzl`
    5: error: The attribute `link_group_libss` is not available on the type `_DynamicDoCompileOptions`
          --> prelude/haskell/compile.bzl:872:54
           |
       872 |             all_link_group_ids = [l.id for lg in arg.link_group_libss for l in lg.libraries]
           |                                                      ^^^^^^^^^^^^^^^^
           |

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions