Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -292,8 +292,12 @@ static void ReExecIfNeeded(bool ignore_heap) {
} else {
Printf(
"FATAL: ThreadSanitizer: memory layout is incompatible, "
"even though ASLR is disabled.\n"
"Please file a bug.\n");
"even though ASLR is disabled.\n");
Printf(
"FATAL: This error may occur for programs that use GPU libraries.");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why the extra FATAL?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Users may grep/filter for 'FATAL' in the log, and it would be misleading if they only saw a subset of the lines.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK

Copy link
Collaborator

@vitalybuka vitalybuka May 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need to mention GPU?

I can see this can help some users, but it also can misleads other users, who has issue, but no GPU libraries.
If we can detect The Library, then maybe there is a value in the message.

What is % of total issues do we expect caused by GPU libraries?
We need a confidence that it's high to blame them.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need to mention GPU?

I can see this can help some users, but it also can misleads other users, who has issue, but no GPU libraries.

It won't mislead them if they have no GPU libraries - the next line is "If your program does not use GPU libraries, please file a TSan bug."

If we can detect The Library, then maybe there is a value in the message.

What is % of total issues do we expect caused by GPU libraries? We need a confidence that it's high to blame them.

So far, 100% of issues (sample size = 1) :-).

Most non-GPU libraries aren't mapping large host memory buffers before the shadow is allocated.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are changing the lib which maps a lot of memory.

Lets just print generic link to:
https://clang.llvm.org/docs/ThreadSanitizer.html#limitations

and add entry about your discovery

Printf(
"FATAL: If your program does not use GPU libraries, please file a "
"TSan bug.\n");
DumpProcessMap();
Die();
}
Expand Down
Loading