Commit b525480
authored
i#3538: Fix flakiness in static_maps_mixup_novars (#7959)
The static_maps_mixup_novars is unable to create a fake issue in finding
the DR library bounds on my local machine, and the execution just
completes successfully, not generating the expected error message.
Improves the copy_and_remap logic in static_maps_mixup.c which needs to
break DR's logic for finding library bounds for the purpose of the
static_maps_mixup_novars test, in a way that keeps the
static_maps_mixup_yesvars version still working. We simply add the
writable bit to the first segment mapping to achieve this. With this
there's a hang in debug build.
Adds a guard to get_dynamo_library_bounds to try getting the bounds only
once and during init. This is to prevent a scenario where the 'expected
elf header' ASSERT in memquery_library_bounds fails, which triggers
d_r_internal_error -> report_dynamorio_problem -> privload_print_modules
-> get_dynamorio_dll_start -> get_dynamo_library_bounds again.
Ensures that a failure to find the ELF header is propagated properly in
the release build.
Also adjusts the expected failure message for the debug build, which
actually fails at an ASSERT.
Would be good to observe the test's flakiness over a few days before
removing the "flaky" suffix.
Issue: #35381 parent 3dfb2f9 commit b525480
5 files changed
Lines changed: 28 additions & 7 deletions
File tree
- core/unix
- suite/tests
- api
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
233 | 233 | | |
234 | 234 | | |
235 | 235 | | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
236 | 241 | | |
237 | 242 | | |
238 | 243 | | |
| |||
250 | 255 | | |
251 | 256 | | |
252 | 257 | | |
253 | | - | |
| 258 | + | |
254 | 259 | | |
255 | 260 | | |
256 | 261 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9812 | 9812 | | |
9813 | 9813 | | |
9814 | 9814 | | |
| 9815 | + | |
| 9816 | + | |
9815 | 9817 | | |
9816 | 9818 | | |
| 9819 | + | |
| 9820 | + | |
| 9821 | + | |
| 9822 | + | |
| 9823 | + | |
| 9824 | + | |
9817 | 9825 | | |
9818 | 9826 | | |
9819 | 9827 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3682 | 3682 | | |
3683 | 3683 | | |
3684 | 3684 | | |
| 3685 | + | |
3685 | 3686 | | |
3686 | 3687 | | |
3687 | 3688 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
94 | 99 | | |
95 | 100 | | |
96 | 101 | | |
| |||
100 | 105 | | |
101 | 106 | | |
102 | 107 | | |
103 | | - | |
104 | | - | |
105 | 108 | | |
106 | 109 | | |
107 | 110 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
0 commit comments