nodejs/node · error · Exception
No Node inspector protocol revision found
Error message
No Node inspector protocol revision found
What it means
roll.py reads the currently rolled inspector_protocol revision from <node_src>/deps/inspector_protocol/README.node (again via the 'Revision: ' prefix) to compare against V8's revision and decide whether a roll is needed. Missing the marker line aborts before any work is done.
Source
Thrown at tools/inspector_protocol/roll.py:86
open(path1).read() == open(path2).read())
def ReadV8IPRevision(node_src_path):
lines = open(os.path.join(node_src_path, 'deps/v8/third_party/inspector_protocol/README.v8')).readlines()
for line in lines:
line = line.strip()
if line.startswith(REVISION_LINE_PREFIX):
return line[len(REVISION_LINE_PREFIX):]
raise Exception('No V8 inspector protocol revision found')
def ReadNodeIPRevision(node_src_path):
lines = open(os.path.join(node_src_path, 'deps/inspector_protocol/README.node')).readlines()
for line in lines:
line = line.strip()
if line.startswith(REVISION_LINE_PREFIX):
return line[len(REVISION_LINE_PREFIX):]
raise Exception('No Node inspector protocol revision found')
def CheckoutRevision(path, revision):
os.chdir(path)
return RunCmd(['git', 'checkout', revision])
def GetHeadRevision(path):
os.chdir(path)
return RunCmd(['git', 'rev-parse', 'HEAD'])
def main(argv):
parser = argparse.ArgumentParser(description=(
"Rolls the inspector_protocol project (upstream) into node's "
"deps/inspector_protocol (downstream)."))
parser.add_argument("--ip_src_upstream",
help="The inspector_protocol (upstream) tree.",View on GitHub (pinned to 1b2de5e052)
Solutions
- Ensure deps/inspector_protocol/README.node contains a 'Revision: <hash>' line.
- Restore it from git history: `git -C <node_src> log -- deps/inspector_protocol/README.node` then checkout that revision.
- Seed it manually with the current head revision (roll.py itself writes this line on success at line 161, so a one-time manual seed unblocks the first run).
Example fix
// seed the marker so the first roll can proceed echo 'Revision: <current-ip-commit-hash>' > deps/inspector_protocol/README.node
Defensive patterns
Strategy: validation
Validate before calling
import os
p=os.path.join(node_src,'deps/inspector_protocol/README.node')
assert os.path.isfile(p), 'README.node missing'
assert any(l.lstrip().startswith('Revision: ') for l in open(p)), 'no Revision: line' Prevention
- Let roll.py own README.node after the first successful roll.
- Keep the deps/inspector_protocol directory intact between rolls.
When it happens
Trigger: deps/inspector_protocol/README.node is missing the 'Revision: ' line, was reformatted, or the file/dir is absent in the downstream node tree.
Common situations: A brand-new inspector_protocol downstream checkout never seeded with the marker; README.node manually rewritten; a partial or fresh node tree without deps/inspector_protocol populated.
Related errors
- %s is not a proper inspector_protocol checkout: %s
- No V8 inspector protocol revision found
- Cannot find out dir, did you run build?
- Every filter in --filters must start with + or - ({filt} doe
- Could not find pattern matching %s
AI-assisted analysis of nodejs/node@1b2de5e052 (2026-08-13).
Data as JSON: /api/errors/9fe90b7aa9c469cb.
Report an issue: GitHub.