I am getting the following intermittent error in my program :
Stack trace:
stack trace:
./my_plugin.so : ()+0x96e2d
/lib64/libcuda.so.1 : ()+0x27bb18
/lib64/libcuda.so.1 : ()+0x298168
/lib64/libc.so.6 : ()+0x8b12d
/lib64/libc.so.6 : ()+0x10cbc0
terminate called after throwing an instance of 'std::runtime_error'
what(): pure virtual function called
Someone was naughty and put a virtual method call in a constructor/destructor
@Robert_Crovella this was my bad :) It’s an interesting situation - due to race condition, CUDA callback was accessing an object that was in the process of being destroyed. As destructors are called from derived up to base, a base pure virtual method was called during the race condition, triggering that error.