Skip to content
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

CI timeout + line-info in releases #279

Merged
merged 16 commits into from
Jun 14, 2023
Merged

CI timeout + line-info in releases #279

merged 16 commits into from
Jun 14, 2023

Conversation

jrmadsen
Copy link
Collaborator

@jrmadsen jrmadsen commented May 8, 2023

  • Combination of OMNITRACE_CI=ON + OMNITRACE_CI_TIMEOUT=<seconds> will create a background thread that will send a signal to each thread so that it prints a backtrace and then terminate the application
  • Improved detection of non-zero exit codes when a CTest had a PASS_REGULAR_EXPRESSION
    • PASS_REGULAR_EXPRESSION will ignore a non-zero exit code if the passing regular expression is found
  • Removed "inverse" tests
    • Previously these tests were added in an attempt to help catch above issue but are now superfluous
  • Added some limited debug info to libraries packaged in releases
    • Hopefully, this won't inflate the size of the installers too much
  • Wrapped all debug/verbose messages in OMNITRACE_UNLIKELY to ensure their instructions are not in the hot path

- remove enable_perfetto_tools_trace_to_text (unused)
- requires OMNITRACE_CI=ON
- requires OMNITRACE_CI_TIMEOUT=<sec>
- adds pthread_self and std::this_thread::get_id to thread info
- pthread_create_gotcha stores native handles (pthread_self)
- improve detection of segfault/failures with PASS_REGEX exists
- add OMNITRACE_CI_TIMEOUT env variable to all tests
- e.g. -g1 + more options to minimize size of debug info
@jrmadsen jrmadsen added timemory Issue affects/involves timemory features/capabilities libomnitrace Involves omnitrace library testing Extends/improves/modifies testing cmake Modifies the CMake build system submodule Updates a git submodule continuous-integration Updates to continuous integration libomnitrace-core Internal library containing core capabilities labels May 8, 2023
jrmadsen added 10 commits May 8, 2023 13:52
- link to threads library
- in ROCm 5.5.0, cannot include rocprofiler.h and roctracer.h in same file due to conflicting enum defs
- Moved HSA tracing setup/shutdown to component::roctracer
- fix definition of roctracer::setup when disabled
- detach threads on main PID
- flush io outputs when printing info
- pass regular expressions
- overflow on PERF_COUNT_SW_CPU_CLOCK event
- use getpid() instead of getppid()
- wait on threads calling fork
- wait on timeout thread to launch before proceeding
@jrmadsen jrmadsen merged commit 3e2fa69 into ROCm:main Jun 14, 2023
46 checks passed
@jrmadsen jrmadsen deleted the ci-timeout branch June 14, 2023 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cmake Modifies the CMake build system continuous-integration Updates to continuous integration libomnitrace Involves omnitrace library libomnitrace-core Internal library containing core capabilities submodule Updates a git submodule testing Extends/improves/modifies testing timemory Issue affects/involves timemory features/capabilities
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant