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

Make register_target methods thread-safe #2208

Open
bpickrel opened this issue Sep 19, 2023 · 3 comments
Open

Make register_target methods thread-safe #2208

bpickrel opened this issue Sep 19, 2023 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@bpickrel
Copy link
Contributor

Make methods in register_target.cpp thread-safe and create a test for handling of register actions concurrent threads.

The method migraphx::version_2_6_0::make_target() was flagged by valgrind as causing a thread safety error. This in turn caused one of the UIF Inference Server examples, example_resnet50-migraphx, to experience a SIGSEGV error.

This error was first seen when UIF bumped ROCm versions from 5.4.x to 5.6.1.

@bpickrel bpickrel added the bug Something isn't working label Sep 19, 2023
@bpickrel bpickrel self-assigned this Sep 19, 2023
@bpickrel
Copy link
Contributor Author

Created draft pull request 2224

@bpickrel
Copy link
Contributor Author

Placing mutexes on various methods in register_target.cpp did not prevent crashes. Segment violations occurred most often in the implicit destructor of class dynamic_loader, so the problem may lie in this class instead of the register_target methods.

@bpickrel
Copy link
Contributor Author

Built amdinfer with the contents of PR #2224 and it still encounters the same error. Not closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant