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 errors caused by undefined symbols in adapter libraries more visible #2691

Open
aarongreig opened this issue Feb 11, 2025 · 0 comments
Open
Labels
ci/cd Continuous integration/devliery loader Loader related feature/bug
Milestone

Comments

@aarongreig
Copy link
Contributor

If a UR entry point is left undefined in an adapter library the loader will fail to load it and quietly behave as if no devices belonging to that adapter are available. In this state you can enable loader logging to get an error message like the following:

<LOADER>[INFO]: failed to load adapter 'unified-runtime/build/lib/libur_adapter_level_zero_v2.so' with error: unified-runtime/build/lib/libur_adapter_level_zero_v2.so: undefined symbol: _ZN2ur10level_zero25urCommandBufferEnqueueExpEP31ur_exp_command_buffer_handle_t_P18ur_queue_handle_t_jPKP18ur_event_handle_t_PS6_

When a situation like this is causing CI fails it isn't currently obvious what's going on, it takes a bit of manual debugging (and knowing about the existence of loader logging) to figure it out. We should take steps to improve visibility of this error condition. One proposed solution is to make sure we're running urinfo with loader logging enabled as an early step in our CI, with the step failing if no devices are available for the adapters being tested.

@aarongreig aarongreig added this to the Backlog milestone Feb 11, 2025
@aarongreig aarongreig added ci/cd Continuous integration/devliery loader Loader related feature/bug labels Feb 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci/cd Continuous integration/devliery loader Loader related feature/bug
Projects
None yet
Development

No branches or pull requests

1 participant