Repository navigation
Conversation
Contributor
Scan-Build Report
Bug Summary
Filter Results by FileReports
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Contributor
CI Test ResultsRun: #43477047680 | Commit:
Status Overview
Legend: ✅ passed | ❌ failed | ⚪ skipped | 🚫 cancelled Summary: Total: 32 | Passed: 32 | Failed: 0 Updated: 2026-11-13 18:15:32 UTC |
Contributor
Collaborator
Author
|
@DataDog review |
There was a problem hiding this comment.
More details
The static review found the ROOT_ENUM_ERROR mapping and bounds check consistent with the enum, with error injection confined to debug builds. No actionable defects were identified.
🤖 Bits Code Review · Commit 2dba42f
…vents The reference-chain termination ladder (MAX_CONSECUTIVE_ENUM_ERRORS) can abandon a search with SearchAbandonReason::ROOT_ENUM_ERROR, but the datadog.ReferenceChainAbandoned reason table stopped at canary_stuck, so that abandonment serialized as "unknown" and misattributed the cause in the JFR event. The table now covers the whole enum: an "unknown" slot at RECORDING_END (never enqueued, keeps ROOT_ENUM_ERROR at its enum index), "root_enum_error" at 5, and a size-based bounds check. A root-enum JVMTI error also increments the reference_chain_root_enum_errors counter, and the stale termination ladder and abandonment-reason list in doc/ now describe the ROOT_ENUM_ERROR branch. Debug-build-only seam setRootEnumErrorInjection0 plus a native serialization gtest and a Java end-to-end test pin the reason string.
…earch Each errored root-enumeration attempt must bump the exported reference_chain_root_enum_errors counter; assert +1 after the first errored attempt and MAX_CONSECUTIVE_ENUM_ERRORS at the abandon pass so removing or retargeting the increment fails the test. PROF-16662
jbachorik
force-pushed
the
dd/serialize-root-enum-error-accurately-in-reference-chain-aban-bnfn
branch
from
November 13, 2026 17:51
2dba42f to
d952104
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?:
Serialize
SearchAbandonReason::ROOT_ENUM_ERRORasroot_enum_errorindatadog.ReferenceChainAbandoned, instead ofunknown. Add an error counter and regression coverage for the encoded reason, the counter increment, and the Java-to-JFR path.Motivation:
Root-enumeration failures already have a distinct engine reason. Losing that reason during serialization hides why the search stopped.
Additional Notes:
RECORDING_ENDmapped tounknown; recording stop does not enqueue an abandonment event.eafb93e6a..d952104e0using the existing knowledge graph: no code findings. One INFO note says mutation analysis excluded test files; the tests were executed separately as listed below.How to test the change?:
Passed for
d952104e0: 1,154 native test cases across 97 binary summaries; the Java test passed with no skips and read one abandonment event. Quality and formatting checks passed. Evidence:build/logs/20261113-184019-_ddprof-lib_gtestDebug.logand thetestDebugXML result forReferenceChainRootEnumErrorTest.AbandonedEventSerializesRootEnumErrorReasonchecks the encoded reason and unknown-value fallback.ConsecutiveEnumErrorsAbandonSearchchecks error-counter deltas during real tracker passes.ReferenceChainRootEnumErrorTestforces enumeration errors and asserts the reason read from the resulting JFR.For Datadog employees:
credentials of any kind, I've requested a security review (run the
dd:platform-security-reviewskill, or file a request via the PSEC review form).
bewairealso runs automatically on every PR.