CR-1247943: Fix seg fault at end of execution in hardware emulation caused by profiling#9302
Merged
Merged
Conversation
…at destruction we do not call xrt::system_linux constructs Signed-off-by: Jason Villarreal <jvillar@xilinx.com>
Contributor
|
clang-tidy review says "All clean, LGTM! 👍" |
chvamshi-xilinx
approved these changes
Oct 8, 2025
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.
Problem solved by the commit
On some edge boards and runs, profiling was crashing when dumping the summary file. This was due to a query for device information, which should not be called during static object destruction.
How problem was solved, alternative solutions (if any) and why they were rejected
The issue was resolved by fetching the information profiling needs from XRT during profiling initialization and caching it, so we do not call the device query during static object destruction.
Risks (if any) associated the changes in the commit
Low risk as this function call is normally called in all flows and the additional call is done at a safe spot. Additionally, this only affects hardware emulation designs as the original call that caused the crash is blocked by a guard and only executed in hardware emulation designs.
What has been tested and how, request additional testing if necessary
The original failing hardware emulation test has been verified to work.
Documentation impact (if any)
No documentation impact.