tracebin

Troubleshooting the collector

This page is organized by the exact message the collector prints, so you can paste an error straight into search. Most collector messages start with the literal prefix tracebin: . Per-item problems (one unreadable file, one failed upload) are recorded and skipped — the script only stops entirely for the errors marked as fatal below.

Environment

tracebin: curl is required but was not found on PATH

Also appears as tar, mktemp, awk, or date in place of curl. Fatal. The script uses only standard tools and installs nothing, so a missing tool has to be installed by you: curl and tar come from your system package manager (apt install curl tar, apk add curl tar, etc.). Minimal container images are the usual cause — prefer running on the host.

tracebin: Windows is not supported — run this from WSL, a Linux VM, or macOS/Linux directly

Fatal. Git Bash, Cygwin, and MSYS are detected and refused because path and tar semantics differ. Run the same one-liner inside WSL or any Linux/macOS shell.

tracebin: could not create a temporary staging directory

Fatal. mktemp -d failed — usually a full disk or an unwritable temp directory. Free space or set TMPDIR to a writable location and re-run.

Link problems

tracebin: collection link not found

The server did not recognize the token in the link. The link was copied incompletely or is simply wrong. Ask your support contact to re-send it, and make sure the whole URL survived the paste.

tracebin: collection link expired

The link's expiry passed. Expiry is enforced on the server, so there is no workaround on your side. Ask your support contact for a fresh link — they can generate one for the same bin in seconds.

tracebin: this collection link was not found — ask your support contact for a new one

tracebin: this collection link has expired — ask your support contact for a new one

Same causes as above, printed by a downloaded copy of the script (rather than the piped one-liner) when it phones home for its spec.

tracebin: this collection link expired before the run could start — ask your support contact for a new one

The link was valid when the script started but expired before upload began (collection can take a while). Nothing was uploaded. Get a fresh link and re-run.

tracebin: could not reach https://tracebin.dev — check your network connection and try again

Plain connectivity: DNS, proxy, or firewall. curl -sS https://tracebin.dev from the same shell is the quickest check. Also appears as could not reach … to start a collection run later in the flow.

tracebin: unexpected response from server (HTTP 429)

The link's rate limit was hit — the spec can be fetched at most 20 times per minute per link. This usually means the one-liner is running in a loop somewhere. Wait a minute and re-run once.

No terminal

tracebin: no interactive terminal detected — refusing to upload without confirmation

tracebin: no interactive terminal detected — refusing to run an unapproved command

Not an error in your setup — a deliberate refusal. The script insists on a human at a terminal to approve the upload (or, for wrapped links, the command). Pipes, cron, CI, and some container setups have no terminal to ask. The script prints the fix itself:

tracebin: download this script and run it directly (not through a pipe) to review and approve:
tracebin:   curl -sSL https://tracebin.dev/c/<token>/run -o tracebin-collect.sh && sh tracebin-collect.sh

tracebin: no input available — aborting

The approval prompt was shown but reading your answer failed (input stream closed). Run from a normal interactive shell.

Docker

Container problems never fail the run — host collection proceeds and the container portion is skipped with one of these messages.

tracebin: docker is not installed on this host — skipping container collection for '<name>'

The spec names a container but there is no docker binary. If the files live in a container on a different machine, run the one-liner on that machine instead.

tracebin: docker daemon is not running (or not reachable) — skipping container collection for '<name>'

docker exists but can't talk to the daemon. Start Docker, or check that your user can run docker ps without sudo — the script never uses sudo, so it has exactly your Docker access.

tracebin: container '<name>' was not found — skipping container collection for '<name>'

No container with that exact name exists on this host. docker ps -a --format '{{.Names}}' shows what does. If the name differs from the spec, tell your support contact so they can correct it.

tracebin: container '<name>' is stopped — skipping container collection for '<name>'

The container exists but isn't running, and files can only be pulled from a running container. Start it (docker start <name>) and re-run. With wrapped links this can also happen when the wrapped command itself launched the container in the foreground — the container exits with the command, before collection starts. The bin page warns about this case; the fix is to keep the container running past the command's exit (run it detached).

tracebin: skipped command (container unavailable — <reason>): <command>

An in-container command was skipped for one of the reasons above. The skip and reason are also recorded in the manifest, so your support contact sees it too.

tracebin: container '<name>' has no usable shell for glob expansion — falling back to literal paths

The container has no /bin/sh (some minimal images). Wildcards can't expand inside it, so only literal paths from the spec are attempted, via docker cp.

tracebin: tar not available in container '<name>' — falling back to per-file docker cp

Harmless. The fast path streams a tar out of the container; without tar in the image, files are copied one at a time instead.

tracebin: no files matched inside container: <name>

The spec's globs matched nothing inside the container. The paths may differ from the host layout — check where the files actually live in the container and tell your support contact.

Files

tracebin: warning: glob matched no files: <glob>

A warning, not a failure — the pattern matched nothing on this machine and was skipped. If the file was expected, check the path. If the bin has the file inventory enabled, the run also records what actually exists in that directory (names, sizes, and timestamps only — never contents), which is usually enough to spot the real path.

tracebin: skipped (permission denied): <path>

The file exists but your user can't read it. The script never uses sudo. Either re-run as a user who can read it, or copy it somewhere readable and have your support contact adjust the path. The skip is recorded in the manifest with its reason.

tracebin: skipped (copy failed): <path>

The file disappeared or became unreadable between matching and copying (rotating logs do this). Re-run; if it persists, check disk space in your temp directory.

tracebin: skipping <file> — larger than 500MB cap (<size> bytes)

Files over 500 MB per file are never uploaded — the cap is fixed. Split the file (split -b 400M file part_) or compress it, and send the pieces via the browser upload page the script prints at the end.

tracebin: no files were collected — nothing to upload

Every glob missed and every command was skipped, so there was nothing to review. See the individual warnings above this message for why.

tracebin: no files left to upload

You excluded every file at the review prompt, so the script stopped. Re-run if that wasn't the intent.

Upload

tracebin: upload attempt <n> failed for <file>, retrying...

tracebin: failed to upload <file> after 3 attempts

A direct PUT to storage failed. Each file gets 3 attempts, 2 seconds apart; a file that fails all 3 is counted in the final upload complete: N uploaded, M failed summary and the run continues with the next file. Transient network trouble usually clears on a re-run. If every file fails, check that outbound HTTPS to object storage isn't blocked by a proxy or firewall.

tracebin: server rejected upload request for <file> (HTTP <code>)

The request for an upload URL was refused. HTTP 429 means the per-link rate limit (60 upload URLs per minute) — wait a minute. Other codes are worth reporting to your support contact with the exact number.

tracebin: per-run size cap exceeded — skipping <file>

A single run can hold 2 GB in total, enforced by the server. Files past the cap are skipped but everything before it is uploaded. Ask your support contact for a fresh link and send the rest in a second run, or trim the spec.

tracebin: this bin's storage is misconfigured — contact the bin owner

Not your problem to fix. The team that owns this bin connected their own storage bucket and it is rejecting uploads. Tell your support contact — they need to re-check their storage configuration in tracebin (see company storage).

tracebin: collection link expired mid-run — remaining files were not uploaded

tracebin: collection link expired before all files finished uploading — ask your support contact for a new link and re-run

tracebin: files staged at <dir> were left in place — re-run with a new link to finish uploading

The link expired while uploads were in progress. Already-uploaded files are safe. As the last message says, the collected files were deliberately kept in the temp directory — the one case where the script leaves anything behind — so a re-run with a fresh link can finish without re-collecting.

tracebin: upload was interrupted — some files were never attempted

tracebin: upload interrupted — stopping before <file>

You pressed Ctrl+C during upload. The file in flight was allowed to finish (a half-written object never lands in storage); the rest were skipped. Re-run to send them.

Wrapped links

tracebin: aborted — nothing was run

You declined the up-front consent prompt. Nothing was executed, collected, or uploaded.

tracebin: workload interrupted — nothing was collected or uploaded

You pressed Ctrl+C while the wrapped command was running. The command was stopped and the run abandoned — collection never started.

tracebin: warning: could not pre-authorize an extended upload window — if this command runs past the link's normal expiry, you may need to re-run with a fresh link

Harmless unless the wrapped command runs for a very long time. The script continues normally.

Browser upload page

File exceeds the 500MB per-file limit.

Same fixed cap as the script. Split or compress the file.

After success

tracebin: upload complete: 3 uploaded, 0 failed
tracebin: done
tracebin: need to send more? add files here: https://tracebin.dev/c/<token>/run/<n>/upload

A nonzero failed count means those specific files did not make it — scroll up for their individual errors. The printed page address accepts additional files for the same run from a browser, while the link is still valid.

Still stuck: support@tracebin.dev — include the exact tracebin: lines you saw.