-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#1393 add undefined behavior sanitizer #1556
Conversation
82561cc
to
f5b232f
Compare
f5b232f
to
8ed3ffb
Compare
Codecov Report
@@ Coverage Diff @@
## develop #1556 +/- ##
===========================================
+ Coverage 82.90% 82.97% +0.07%
===========================================
Files 784 784
Lines 29741 29740 -1
===========================================
+ Hits 24657 24677 +20
+ Misses 5084 5063 -21
|
PR tests (clang-10, ubuntu, mpich, undefined behavior sanitizer) Build for a38c6ef
|
a63d96c
to
a5bdd97
Compare
@@ -36,6 +36,7 @@ variables: | |||
VT_MIMALLOC: 0 | |||
VT_DOCS: 0 | |||
VT_ASAN: 0 | |||
VT_UBSAN: 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Unity build seems to be blowing up compilation. Perhaps it should be disabled for this case?
Things found by Undefined Behavior Sanitizer:
|
PR tests (clang-10, ubuntu, mpich) Build for a9e46ae
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd prefer if we actually fixed the detected reports, or at least made a decision as a team that they can be disregarded, rather than adding initial suppressions
7e94f0c
to
a9e46ae
Compare
@@ -270,7 +270,7 @@ void StatsRestartReader::gatherMsgs(VecMsg *msg) { | |||
proc_phase_runs_LB_[phaseID] = (!migrate.empty()); | |||
auto& myList = proc_move_list_[phaseID]; | |||
myList.resize(toMove.size() - header); | |||
std::copy(&toMove[header], &toMove[0] + toMove.size(), | |||
std::copy(&toMove[header], toMove.data() + toMove.size(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Heh. If toMove.data()
ever is nullptr
, this is still going to end up being UB, because arithmetic on nullptr
is also undefined.
That case is of course excluded by the fact that elements of toMove
are written to in code just above this.
Fixes #1393
Fixes only
reference binding to null pointer
, other errors are going to be fixed in separated PRs.