Skip to content

Log dynamic lib loading failures from unified API #2670

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

Merged
merged 3 commits into from
Dec 12, 2019

Conversation

9prady9
Copy link
Member

@9prady9 9prady9 commented Nov 12, 2019

Help resolves #2634

Added AF_TRACE commands when load library fails. Until now, only success is being reported in trace logs.

Cleaned up a unnecessary redirection in symbol_manage.cpp.

I tried to put trace command in UNIFIED_ERROR_LOAD_LIB macro but the dlerror call by that point is returning NULL because of earlier reads. I am still trying to figure out why/where this is happening.

@9prady9 9prady9 requested a review from umar456 November 12, 2019 15:01
@9prady9
Copy link
Member Author

9prady9 commented Nov 12, 2019

Failure output with AF_TRACE=unified - Lines with prefix "Failed to" are the new entries.

...
[unified][037674] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: /opt/arrayfire/lib/
[unified][037674] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load /opt/arrayfire/lib//libafcuda.so.3: cannot open shared object file: No such file or directory
[unified][037674] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: /usr/local/lib/
[unified][037674] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load /usr/local/lib//libafcuda.so.3: cannot open shared object file: No such file or directory
[unified][037674] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: /usr/local/arrayfire/lib/
[unified][037674] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load /usr/local/arrayfire/lib//libafcuda.so.3: cannot open shared object file: No such file or directory
Error in af_err unified::AFSymbolManager::call(const char*, CalleeArgs ...) [with CalleeArgs = {int*}]
In file src/api/unified/symbol_manager.hpp:60
Failed to load dynamic library. See http://www.arrayfire.com/docs/unifiedbackend.htm for instructions to set up environment for Unified backend.

../test/info.cpp:43: Failure
Expected equality of these values:
  AF_SUCCESS
    Which is: Success
  af_get_device_count(&nDevices)
    Which is: Failed to load dynamic library. 
[  FAILED  ] Info.All (1 ms)

@9prady9
Copy link
Member Author

9prady9 commented Nov 12, 2019

Success

[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load /opt/arrayfire/lib//libafcpu.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: /usr/local/lib/
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load /usr/local/lib//libafcpu.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: /usr/local/arrayfire/lib/
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load /usr/local/arrayfire/lib//libafcpu.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: 
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:142 ] Found: libafopencl.so.3
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:149 ] Device Count: 2.
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: 
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load libafcuda.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: .
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load ./libafcuda.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: ./src/backend/cuda
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load ./src/backend/cuda/libafcuda.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: ../src/backend/cuda
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load ../src/backend/cuda/libafcuda.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: src/backend/cuda
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load src/backend/cuda/libafcuda.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: lib
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load lib/libafcuda.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: lib64
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load lib64/libafcuda.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: 
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load libafcuda.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: /opt/arrayfire-3/lib/
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load /opt/arrayfire-3/lib//libafcuda.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: /opt/arrayfire/lib/
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load /opt/arrayfire/lib//libafcuda.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: /usr/local/lib/
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load /usr/local/lib//libafcuda.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:139 ] Attempting: /usr/local/arrayfire/lib/
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:159 ] Failed to load /usr/local/arrayfire/lib//libafcuda.so.3: cannot open shared object file: No such file or directory
[unified][037734] [ ../src/api/unified/symbol_manager.cpp:195 ] AF_DEFAULT_BACKEND: opencl
[unified][037734] [ ../src/api/unified/symbol_manager.hpp:69 ] Loading: af_get_device_count
[unified][037734] [ ../src/api/unified/symbol_manager.hpp:69 ] Loading: af_get_device
[unified][037734] [ ../src/api/unified/symbol_manager.hpp:69 ] Loading: af_set_device
[unified][037734] [ ../src/api/unified/symbol_manager.hpp:69 ] Loading: af_info
ArrayFire v3.7.0 (OpenCL, 64-bit Linux, build c30d5455)
[0] NVIDIA: GeForce GTX 1060 3GB, 3011 MB
-1- AMD: Spectre, 2547 MB
[unified][037734] [ ../src/api/unified/symbol_manager.hpp:69 ] Loading: af_randu
[unified][037734] [ ../src/api/unified/symbol_manager.hpp:69 ] Loading: af_init
[unified][037734] [ ../src/api/unified/symbol_manager.hpp:69 ] Loading: af_get_default_random_engine
[mem][037734] [ ../src/backend/opencl/memory.cpp:167 ] nativeAlloc: 4 KB 0x5647b69a26d0
[unified][037734] [ ../src/api/unified/symbol_manager.hpp:69 ] Loading: af_get_backend_id
[unified][037734] [ ../src/api/unified/symbol_manager.hpp:69 ] Loading: af_release_array
ArrayFire v3.7.0 (OpenCL, 64-bit Linux, build c30d5455)
-0- NVIDIA: GeForce GTX 1060 3GB, 3011 MB
[1] AMD: Spectre, 2547 MB
[mem][037734] [ ../src/backend/opencl/memory.cpp:167 ] nativeAlloc: 4 KB 0x5647b6556540
[       OK ] Info.All (815 ms)

@umar456 umar456 merged commit e5c9700 into arrayfire:master Dec 12, 2019
@9prady9 9prady9 deleted the improv_unified_logtrace branch January 31, 2020 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enhance "Failed to load dynamic library" message
3 participants