Skip to content

[BUG]: Desktop app truncates install failures to the useless end of the log line, and "Upgrade Lakebridge" retries a permanently-failing install with no diagnostics #2593

Description

@vladsagot

Is there an existing issue for this?

  • I have searched the existing issues

Searched and reviewed #2221 ("Dependencies failing to download during Lakebridge Installation"). That one is a GitHub 403 fetching labs.yml on Windows — a different root cause. Nothing else covers this.

Category of Bug / Issue

Other

Current Behavior

On the macOS desktop app's Prerequisites screen, "Lakebridge latest version" shows a red ✗ with an Upgrade Lakebridge → button. Clicking it fails every time. Two problems compound to make this undiagnosable from the UI:

1. The error toast is truncated at the wrong end. The toast renders the beginning of the CLI's debug log line and clips before the part that matters. All the user sees is:

args="/Applications/Lakebridge.app/Contents/Resources/bin/darwin_arm64/data…

That is the command invocation. The actual error — Error: python: failed to install dependencies of . — is at the end of the captured output and never reaches the user. The toast is showing the least informative substring available.

2. The button retries an operation that cannot ever succeed. The underlying failure is a stale virtualenv at ~/.databricks/labs/lakebridge/state/venv whose bin/python3 is a dangling symlink, left behind when Homebrew retired the Python version it was built against. databricks labs install reuses that directory via python -m venv <dir>, which does not replace existing symlinks, so the broken interpreter survives every reinstall. The app offers a retry button for a permanently-failing operation, with no surfaced error and no path forward.

I had to go read ~/.databricks/labs/lakebridge/app-logs/error-YYYY-MM-DD.log directly to find out what was happening.

Expected Behavior

  • Surface the error, not the command line. If the message must be truncated, keep the tail (where the error is) rather than the head, and make the full text reachable — expandable toast, "Copy details", or a "View logs" link to ~/.databricks/labs/lakebridge/app-logs/.
  • Detect an unusable venv before retrying, or offer a "Repair / clean reinstall" action that clears state/venv instead of a plain retry that will fail identically.
  • Ideally, surface pip's actual stderr rather than only the CLI's generic wrapper message.

Root cause note: the venv-reuse bug itself lives in the Databricks CLI's labs install implementation, not in this repo — filing there separately. This issue is specifically about the desktop app making the failure impossible to diagnose. Raising it here since the app has no public tracker of its own.

Steps To Reproduce

  1. Install Lakebridge desktop on macOS and complete a successful labs install while some Homebrew Python (e.g. python@3.13) is current.
  2. Let Homebrew retire that interpreter (brew upgrade / brew cleanup over time), so ~/.databricks/labs/lakebridge/state/venv/bin/python3 becomes a dangling symlink.
  3. Open the app and click Upgrade Lakebridge on the Prerequisites screen.
  4. A red toast appears showing only the truncated args="/Applications/... string.
  5. Click it again — identical failure, indefinitely.

Relevant log output or Exception details

15:39:24 Info: start pid=NNNNN version=1.3.0 args="/Applications/Lakebridge.app/Contents/Resources/bin/darwin_arm64/databricks/databricks, labs, install, lakebridge, --profile=REDACTED, --log-level=DEBUG"
15:39:25 Debug: Latest lakebridge version is: v0.14.2 pid=NNNNN
15:39:37 Debug: Unpacking zipball to: ~/.databricks/labs/lakebridge/lib pid=NNNNN
15:39:38 Debug: found 8 potential alternative Python versions in $PATH pid=NNNNN
15:39:39 Debug: Detected Python v3.10.20 at: /opt/homebrew/Cellar/python@3.10/3.10.20_4/Frameworks/Python.framework/Versions/3.10/bin/python3.10 pid=NNNNN
15:39:39 Debug: Creating Python Virtual Environment at: ~/.databricks/labs/lakebridge/state/venv pid=NNNNN
15:39:39 Debug: running: /opt/homebrew/.../python3.10 -m venv ~/.databricks/labs/lakebridge/state/venv pid=NNNNN
15:39:41 Debug: Installing Python dependencies for: ~/.databricks/labs/lakebridge/lib pid=NNNNN
15:39:41 Debug: running: ~/.databricks/labs/lakebridge/state/venv/bin/python3 -m pip install --upgrade --upgrade-strategy eager . pid=NNNNN

Error: python: failed to install dependencies of .
15:39:41 Info: failed execution pid=NNNNN exit_code=1 error="python: failed to install dependencies of ." pid=NNNNN

Confirming the actual cause, which the UI never shows:

$ ls -la ~/.databricks/labs/lakebridge/state/venv/bin/python3
python3 -> python3.13 -> /opt/homebrew/opt/python@3.13/bin/python3.13   # does not exist

$ cat ~/.databricks/labs/lakebridge/state/venv/pyvenv.cfg
version = 3.10.20          # rewritten, but bin/python3 still points at the deleted 3.13

Logs Confirmation

  • I ran the command line with --debug (the app passes --log-level=DEBUG itself)
  • I have attached the lsp-server.log — n/a, failure occurs before any transpiler runs

Sample Query

n/a

Operating System

macOS

Version

other — Lakebridge desktop app 1.3.0, bundled Databricks CLI v1.3.0, lakebridge v0.14.2

Metadata

Metadata

Assignees

Labels

feat/profilerIssues related to profilers

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions