Skip to content

Tags: DynamoRIO/dynamorio

Tags

cronbuild-10.93.19987

Toggle cronbuild-10.93.19987's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
i#6938 sched migrate: Add input lock to queue pop result (#7000)

Adds a missing input lock to the result of popping from the queue.

Changes set_cur_input to set the prior input's last_run_time, etc.
*before* adding to the ready queue.

Tested by running ThreadSanitizer on the same internal test where it
reported a race in reading input_info_t.last_run_time by
pop_from_ready_queue_hold_locks while not holding a lock (during a
rebalance), versus set_cur_input writing to that field.

Issue: #6938

cronbuild-10.93.19979

Toggle cronbuild-10.93.19979's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
i#6981: Use consistent version for upload-artifact and download-artif…

…act (#6983)

Changes the version used for upload-artifact and download-artifact
actions to the current one recommended at
https://github.com/actions/upload-artifact and
https://github.com/actions/download-artifact.

For these two actions, "v4" points to the latest available v4.x.x
release, as evidenced by the commit hash for the versions at
https://github.com/actions/download-artifact/tags and
https://github.com/actions/upload-artifact/tags. So we would still be
using the latest version as suggested by the security advisory for
download-artifact (GHSA-cxww-7g56-2vh6).

PR #6964 bumped the download-artifact version but not the
upload-artifact which caused a mismatch and the #6981 issue.

Test run worked fine:
https://github.com/DynamoRIO/dynamorio/actions/runs/10835746272

 Fixes: #6981

cronbuild-10.93.19978

Toggle cronbuild-10.93.19978's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
i#6981: Use consistent version for upload-artifact and download-artifact

Changes the version used for upload-artifact and download-artifact to the current one recommended at https://github.com/actions/upload-artifact and https://github.com/actions/download-artifact.

 Fixes: #6981

cronbuild-10.93.19971

Toggle cronbuild-10.93.19971's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
i#6733 missing exit: Suppress drmemtrace invariant check (#6967)

Temporarily suppresses the drmemtrace invariant checker test for a
thread exit record in online mode as it is happening frequently enough
in our tests that it is blocking progress, though at the same time it is
very difficult to reproduce locally and figure it out. We want our tests
green as a priority for now and can re-enable once someone figures out
the root cause. This only affects online mode.

Issue: #6733

cronbuild-10.93.19965

Toggle cronbuild-10.93.19965's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
i#6959 all-unsched: Revert only-unscheduled fix (#6960)

Reverts a fix for a bug in the scheduler where it let a thread going
unscheduled continue running if there are no other non-running-now
scheduleable inputs. This triggered too-frequent all-unscheduled cases
and the current timeout for those is too high, causing tail delays.
We'll re-instate the fix once we add an early exit feature for that
scenario.

Issue: #6959

cronbuild-10.93.19959

Toggle cronbuild-10.93.19959's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
i#5505 kernel tracing: Delay syscall_idx marker after PT trace (#6935)

Delays outputting the TRACE_MARKER_TYPE_SYSCALL_IDX marker to the
post-syscall callback (instead of the pre-syscall callback where it is
output currently) where we also output the PT trace. Some drmemtrace
derivations may interleave user-space and PT trace data, which means we
want the PT trace to be read before the syscall_idx marker. If a signal
interrupts the syscall, then the syscall_idx marker will be written to
trace before the PT trace: we want to avoid this.

Relaxes invariant checks related to the syscall_num marker before the
syscall trace start marker for PT instr-only traces. In the case
described above, there will be no syscall_num marker immediately before
the syscall trace start. Added a comment noting the complexities of
handling this case, which exist even without the ordering constraint
described above.

Verified on an Intel-PT hardware that the related tests pass:

```
The following tests passed:
	code_api|tool.drcacheoff.kernel.simple_SUDO
	code_api|tool.drcacheoff.kernel.opcode-mix_SUDO
	code_api|tool.drcacheoff.kernel.syscall-mix_SUDO
	code_api|tool.drcacheoff.kernel.invariant-checker_SUDO

The following tests passed:
	code_api|client.drpttracer_SUDO-test
```

Issue: #5505

cronbuild-10.93.19951

Toggle cronbuild-10.93.19951's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
i#6921: Fix heap allocation on latest Linux kernel (#6922)

Fixes 3 problems hit on recent Linux kernels where our mmap hints are
being ignored:

1) os_heap_reserve_in_region()'s POINTER_MAX check fails as the end is
aligned,
   causing an unnecessary bounded-region search.

2) vmm_place_vmcode() tries smaller sizes on failure but does not
propagate
   the new size to the caller, resulting in memory corruption.

3) os_heap_reserve() for Linux now uses the new-ish MAP_FIXED_NOREPLACE
   to get the behavior various code expects without risk of clobbering.

Tested on a 6.7.12 kernel where raw2trace failed up front reliably
without these fixes but now succeeds.

Further tested the size propagation with the other fixes disabled and
now we have a graceful failure instead of memory corruption and a weird
crash:

```
$ clients/bin64/drmemtrace_launcher -indir drmemtrace.*.dir
<Full size vmm heap allocation failed>
<Application <path>/clients/bin64/drmemtrace_launcher (3686844).  Out of memory.  Program aborted.  Source I, type 0x0000000000000001, code 0x0000000000000001.>
```

Fixes #6921

cronbuild-10.93.19944

Toggle cronbuild-10.93.19944's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
i#5365 Update new self-hosted runner for Arm pre-sve workflow (#6910)

cronbuild-10.93.19937

Toggle cronbuild-10.93.19937's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
i#6893: Delete unused cacheline snoop objects. (#6906)

The snoop cache tracks sharing for each cacheline accessed. The prior
code never deleted these tracking structures once they were allocated,
causing the tracking data to grow with every new cacheline touched. This
change deletes cacheline trackers once the cacheline is no longer
present in any tracked cache. It also changes the container used for
tracking from a vector of bools to a set of cache IDs, to simplify
snooped cache lookup and iteration.

Fixes: #6893

cronbuild-10.93.19930

Toggle cronbuild-10.93.19930's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
i#6897 sched file: Add schedule file output to record_filter (#6902)

Leverages the new schedule file library in the drmemtrace record_filter
to produce schedule files for derived traces, which were previously
missing.

Adds schedule file checks to the record filter unit tests. The existing
end-to-end tests run invariant_checker which checks schedule file
contents now that they're created.

Adds a missing check for print_stats failing to record_filter_launcher.

Fixes #6897