2015-11-27 19 views
0

我正在使用python,并得到一个非常奇怪的错误,我似乎无法找到任何地方。它与libgomp库和线程有关。错误是:Python错误未知:线程池析构函数

libgomp:无法创建线程池析构函数。

奇怪的是,错误发生在一定量的时间/过程之后。它不会发生在我的代码的某一行中。我所运行的代码是一个迭代求解器,因此我可以通过放宽公差来控制代码运行的时间量。现在,如果我设置容差,以便所有内容在“9次迭代”(约15秒)内“收敛”,那么代码就完成了。如果我增加到> 9,那么我得到的错误。它显然不是代码的一部分的问题,因为它每次都发生在不同的部分,并且没有回溯信息。

任何想法?

回答

0

奇怪。该错误仅在pthread_key_create[GCC]/libgomp/team.c:initialize_team失败时发生,这是一个__attribute__((constructor))函数,只在process/libgomp初始化时调用(once!)。所以,无论你的流程是用“libgomp”(多次?)做“奇怪的事情”,还是在操作系统级别遇到资源短缺/限制。或者,libpthread(glibc)错误。你能找到你的操作系统/软件分销的其他任何pthread_key_create故障报告吗?

+0

哇!我甚至无法猜测我将如何去做这件事。你能带我走过我应该找的东西吗? – Murenrb

+0

首先,使用搜索引擎寻找'pthread_key_create错误[名称(推测是?)GNU/Linux发行版]'。 – tschwinge

+0

所以这是一个破产。这似乎并不是一个常见问题。也许我们可以采取不同的方法。我在运行相同操作系统和相同设置的另外两台Mac上运行相同的代码。我设置所有3相同。另外两个没有问题。那么,如果我只是试图重新安装一些东西来摆脱问题,我应该从哪里开始? GCC? gfortran?蟒蛇? – Murenrb