I am using python and am getting a very odd error I can't seem to find anywhere. It has to do with the libgomp library and threading. The error is:
libgomp: could not create thread pool destructor.
The odd thing is that the error occurs after a certain amount of time/processes. It does not happen in a certain line of my code. The code I am running is an iterative solver and as such, I can control the amount of time the code runs very easily by relaxing the tolerances. Right now if I set the tolerances so that everything "converges" in ~9 iterations (about 15s) then the code completes just fine. If I increase it to >9 then I get the error. It clearly is not a problem with one part of the code as it happens in different parts every time and there is no traceback info.
Any ideas?
Strange. That error is only raised when
pthread_key_create
fails in[GCC]/libgomp/team.c:initialize_team
, which is an__attribute__((constructor))
function, only called (once!) at process/libgomp initialization. So, either your process is doing "strange things" withdlopen
ing libgomp (multiple times?), or you're running into some resource shortage/limitation at the OS level. Or, a libpthread (glibc) bug. Can you find any other reports ofpthread_key_create
failures for your OS/software distribution?