transparency-dev / transparency-dev/tesseract

Very infrequent root validation error

Open
#358 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Go
Stars
37
Forks
18
Avg merge
19h 22m
Merged PRs (30d)
15

Description

Description

Very infrequently, the preloader fails to submit a chain from argon to arche: the preloader receives a 400 Bad Request, and TesseraCT logs W0609 15:03:15.978916 17707 handlers.go:168] arche2025h1.staging.ct.transparency.dev: AddChain handler error: failed to verify add-chain contents: chain failed to validate: no RFC compliant path to root found when trying to validate chain.

Each time I saw it happening, I searched for the cert on crt.sh, reconstructed the chain, tried to submit it again, and it worked. It might be worth getting the full chain from the source log rather, which is sometimes a bit tricky because the preloader does not log the index of the chain in the source log. Also, TesseraCT does not log any chain identifier when the submission fails (we probably should), so the only way to match errors between the two binaries is to look at log timestamps.

Log samples

To find other instances:

# Preloader
Will run preloader between 766695877 to 767055877
E0609 15:03:15.980031   17880 preloader.go:108] failed to add chain with CN santsalvadordeguardiola.cat: got HTTP status "400 Bad Request"

# TesseraCT
W0609 15:03:15.978916   17707 handlers.go:168] arche2025h1.staging.ct.transparency.dev: AddChain handler error: failed to verify add-chain contents: chain failed to validate: no RFC compliant path to root found when trying to validate chain
# Preloader
Will run preloader between 749715658 and 750075658
E0606 10:21:50.580660    2362 preloader.go:108] failed to add chain with CN www.bancosanjuan.com: got HTTP status "400 Bad Request""

# TesseraCT
"W0606 10:21:50.578310       1 handlers.go:164] arche2025h1.staging.ct.transparency.dev: AddChain handler error: failed to verify add-chain contents: chain failed to validate: no RFC compliant path to root found when trying to validate chain"

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the logging paths in preloader.go and handlers.go with the provided preloader and TesseraCT log samples. Trace how a failed chain submission is identified across both binaries, including the source-log index and chain information. Done means the intermittent validation failure can be matched to the original chain without relying only on timestamps.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.