Ini mungkin karena /proc/mount
Anda file yang memiliki baris di dalamnya lebih dari 512 karakter, menyebabkan modul hwloc OpenMPI gagal menguraikannya dengan benar. Docker memiliki kecenderungan untuk memasukkan baris yang sangat panjang ke dalam /proc/mounts
. Anda dapat melihat bug di openmpi-1.10.7/opal/mca/hwloc/hwloc191/hwloc/src/topology-linux.c:1677
:
static void
hwloc_find_linux_cpuset_mntpnt(char **cgroup_mntpnt, char **cpuset_mntpnt, int fsroot_fd)
{
#define PROC_MOUNT_LINE_LEN 512
char line[PROC_MOUNT_LINE_LEN];
FILE *fd;
*cgroup_mntpnt = NULL;
*cpuset_mntpnt = NULL;
/* ideally we should use setmntent, getmntent, hasmntopt and endmntent,
* but they do not support fsroot_fd.
*/
fd = hwloc_fopen("/proc/mounts", "r", fsroot_fd);
if (!fd)
return;
Ini dapat diperbaiki dengan meningkatkan nilai PROC_MOUNT_LINE_LEN
, meskipun itu harus dianggap sebagai solusi sementara.
Masalah ini harus diperbaiki di hwloc sejak 1.11.3 (dirilis 2 tahun lalu). Anda dapat memutakhirkan ke OpenMPI 3.0 yang berisi hwloc 1.11.7>=1.11.3. Atau kompilasi ulang OpenMPI untuk menggunakan hwloc eksternal alih-alih yang tersemat lama.
Bagaimana cara memutakhirkan R di linux?
Kesalahan Startup Pycharm:Tidak dapat mendeteksi lingkungan grafis