Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,7 @@ show_events = true

| Symptom | Likely Cause | Solution |
| --- | --- | --- |
| Request timed out | Slow host or low timeout | Increase `--timeout-ms` |
| Request timed out | Slow host or low timeout | Increase `--timeout-ms`, or use `--inspect-timeout-ms` / `--storage-timeout-ms` for slower read-only requests. For flaky links, consider the `--retry-*` flags. |
| Incompatible protocol | Build version mismatch | Reinstall client/server from same release |
| Auth failed | Token mismatch | Verify `--token` values match |

Expand Down
2 changes: 1 addition & 1 deletion docs/issues/backlog-100-issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Roadmap view: [Section B priorities](roadmap-priorities.md#section-b--architectu

- **I-013** `[DOC]` `ARCHITECTURE.md` describes `Stepper` as "(Planned)" with no follow-up issue or tracking link; its current implementation status is unknown.
- **I-014** `[DOC]` `ARCHITECTURE.md` "Extension Points" section lists four items but omits the plugin system, remote server, and batch executor — all of which now exist.
- **I-015** `[DOC]` No architecture-level doc covers the VS Code extension / DAP adapter; `ARCHITECTURE.md` only covers the Rust CLI.
- ~**I-015** `[DOC]` No architecture-level doc covers the VS Code extension / DAP adapter; `ARCHITECTURE.md` only covers the Rust CLI.~
- **I-016** `[DOC]` No design document explains the decision to use `soroban-env-host` directly rather than higher-level Soroban SDK abstractions.
- **I-017** `[DOC]` The plugin ABI stability contract (what breaks a plugin across debugger versions) is described only in `docs/plugin-api.md`; a shorter summary should appear in `ARCHITECTURE.md`.
- **I-018** `[DOC]` The batch execution design (rayon parallelism, result aggregation) is documented only in `BATCH_EXECUTION_SUMMARY.md` — an implementation summary rather than a design doc; a canonical design reference in `docs/` is missing.
Expand Down
1 change: 0 additions & 1 deletion docs/issues/roadmap-priorities.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ useful order instead of re-triaging the whole epic every time.
|----|--------------|---|--------|-------|------------|------|
| I-013 | Update `ARCHITECTURE.md` — clarify `Stepper` status | P2 | XS | Docs | — | 2 |
| I-014 | Expand `ARCHITECTURE.md` Extension Points with plugin/remote/batch | P2 | S | Docs | I-015, I-017 | 2 |
| I-015 | Add VS Code extension / DAP adapter architecture section | P2 | M | Docs | — | 2 |
| I-015 | ~Add VS Code extension / DAP adapter architecture section~ | P2 | M | Docs | — | 2 |
| I-016 | Document rationale for direct `soroban-env-host` integration | P3 | S | Docs | — | 3 |
| I-017 | Add plugin ABI stability summary to `ARCHITECTURE.md` | P2 | S | Docs | — | 2 |
Expand Down
6 changes: 4 additions & 2 deletions docs/remote-debugging.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,16 +95,18 @@ Below is a complete snippet matching the TLS client setup above:

Remote sessions often run across CI, containers, or flaky links. The remote client supports deterministic timeouts and controlled retries for **idempotent** operations.

- `--timeout-ms` sets the baseline request timeout for regular remote operations.
- `--inspect-timeout-ms` and `--storage-timeout-ms` let you raise slower read-only calls without changing every request.
- Retries apply to: `Ping`, `Inspect`, `GetStorage` (and other read-only state queries).
- No-retry semantics apply to: execution/stepping commands (e.g. `Execute`, `Continue`, `StepIn/Next/StepOut`) to avoid unintended side effects.

Example (tighter ping timeout, more retries):
Example (lower the default request timeout and add retries):

```bash
soroban-debug remote \
--remote host:9229 \
--token "$TOKEN" \
--ping-timeout-ms 1000 \
--timeout-ms 1000 \
--retry-attempts 5 \
--retry-base-delay-ms 100 \
--retry-max-delay-ms 1500
Expand Down
4 changes: 2 additions & 2 deletions docs/remote-troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ This guide covers the most common remote-debugging failures across the CLI and t
| Symptom | Where you see it | Likely cause | What to try |
| --- | --- | --- | --- |
| **Connect timed out** (initial hang) | `soroban-debug remote` hangs before any output | Server is unreachable, firewall drops SYN, slow network, or `--connect-timeout-ms` is too low | Increase `--connect-timeout-ms` (default 10 000 ms). See [Connect timeout](#connect-timeout) below. |
| Request timed out | `soroban-debug remote`, VS Code session stalls, Debug Console | Backend is slow, host is congested, or timeout is too small for the request class | Increase CLI `--timeout-ms`, `--inspect-timeout-ms`, `--storage-timeout-ms`, or VS Code `requestTimeoutMs`. |
| Request timed out | `soroban-debug remote`, VS Code session stalls, Debug Console | Backend is slow, host is congested, or timeout is too small for the request class | Increase CLI `--timeout-ms`, or use the narrower `--inspect-timeout-ms` / `--storage-timeout-ms` for slower read-only requests. For transient transport issues, tune `--retry-attempts`, `--retry-base-delay-ms`, and `--retry-max-delay-ms`, or raise VS Code `requestTimeoutMs`. |
| Connect timeout / cannot attach | VS Code startup, remote CLI connect | Server never started, wrong host/port, firewall, loopback restrictions | Confirm the server is running, verify `host:port`, try `127.0.0.1` instead of `localhost`, and increase VS Code `connectTimeoutMs` if the backend starts slowly. |
| Incompatible debugger protocol | CLI remote connect, adapter logs, server handshake failure | Client and server builds are too far apart | Rebuild or reinstall the CLI and extension from the same repo revision or release line. Avoid mixing a newer extension with an older CLI server. |
| Authentication failed / unauthorized | Remote CLI response, VS Code output channel, server logs | Missing token, wrong token, or token mismatch between launcher and server | Make sure the same token is configured on both sides. In CLI use `--token`; in VS Code confirm the launch configuration or wrapper environment is passing the expected token. |
Expand Down Expand Up @@ -209,4 +209,4 @@ Use `ci-local` when your environment has full local networking and temp-dir supp

- **`TMPDIR`**: Ensure this points to a writable directory within your runner's workspace.
- **Network Policy**: Verify that `127.0.0.1` is available and binding to ports is permitted.
- **Profiles**: Use `make ci-local` locally to match GitHub Action ordering and automated gates.
- **Profiles**: Use `make ci-local` locally to match GitHub Action ordering and automated gates.
2 changes: 2 additions & 0 deletions extensions/vscode/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,8 @@ The extension consists of three main components:
- Debugger state management
- Variable reference handling

For a deeper dive into the extension architecture, see the VS Code Extension Architecture document.

Comment on lines +469 to +470
## Troubleshooting

### Protocol, timeout, and auth issues
Expand Down
5 changes: 5 additions & 0 deletions extensions/vscode/src/openDocsCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ const DOC_ITEMS: DocItem[] = [
description: 'Internal design of the debugger',
file: 'architecture.md'
},
{
label: 'VS Code Extension Architecture',
description: 'Internal design of the DAP adapter',
file: 'architecture-vscode.md'
},
Comment on lines 18 to +25
{
label: 'Protocol Specification',
description: 'Wire protocol for remote debugging',
Expand Down
3 changes: 3 additions & 0 deletions man/man1/soroban-debug-remote.1
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ May also be specified with the \fBSOROBAN_DEBUG_CONNECT_TIMEOUT_MS\fR environmen
\fB\-\-timeout\-ms\fR \fI<MS>\fR [default: 30000]
Per\-request timeout in milliseconds for regular operations (execute, storage, inspect).

Use \-\-inspect\-timeout\-ms and \-\-storage\-timeout\-ms when you need a higher timeout for
only one read\-only request class.

Default: 30 000 ms (30 seconds).
.RS
May also be specified with the \fBSOROBAN_DEBUG_REQUEST_TIMEOUT_MS\fR environment variable.
Expand Down
Loading