尝试 运行 NVIDIA FleX 时获得 "buffer overflow detected"

Getting "buffer overflow detected" when trying to run NVIDIA FleX

我使用 Singularity 2.6 有一段时间了,最​​近将我的 Singularity 升级到了 3.0(由于技术原因我无法升级到 3.0.3)。使用 Singularity 3.0,我使用与使用 Singularity 2.6 构建容器时完全相同的定义文件构建新容器。从那以后,我再也不能 reliably 运行 NVIDIA FleX 并且时不时地遇到以下错误。在过去 10 个月左右的时间里,我绝对没有更改我的 NVIDIA FleX 代码中的任何内容,而且我几乎每天都 运行 使用 FleX,从来没有遇到过这样的问题。我想知道可能是什么问题,试图说的错误是什么?我可能做错了什么或需要更改以防止这种情况发生?

根据我在代码中输入的打印语句,我所知道的是当我在 FleX 代码中调用 UnmapBuffers() 函数时会发生这种情况;但自从我编写这段代码以来,我一直在这样做,从来没有遇到过任何问题。虽然这可能不是很有帮助,但函数的作用如下:

/*
Copyright (c) 2013-2017 NVIDIA Corporation. All rights reserved.

This code contains NVIDIA Confidential Information and is disclosed to you
under a form of NVIDIA software license agreement provided separately to you.

NVIDIA Corporation and its licensors retain all intellectual property and
proprietary rights in and to this software and related documentation and
any modifications thereto. Any use, reproduction, disclosure, or
distribution of this software and related documentation without an express
license agreement from NVIDIA Corporation is strictly prohibited.

ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.

Information and code furnished is believed to be accurate and reliable.
However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
information or for any infringement of patents or other rights of third parties that may
result from its use. No license is granted by implication or otherwise under any patent
or patent rights of NVIDIA Corporation. Details are subject to change without notice.
This code supersedes and replaces all information previously supplied.
NVIDIA Corporation products are not authorized for use as critical
components in life support devices or systems without express written approval of
NVIDIA Corporation.
*/

void UnmapBuffers(SimBuffers* buffers)
{
    // particles
    buffers->positions.unmap();
    buffers->restPositions.unmap();
    buffers->velocities.unmap();
    buffers->phases.unmap();
    buffers->densities.unmap();
    buffers->anisotropy1.unmap();
    buffers->anisotropy2.unmap();
    buffers->anisotropy3.unmap();
    buffers->normals.unmap();
    buffers->diffusePositions.unmap();
    buffers->diffuseVelocities.unmap();
    buffers->diffuseCount.unmap();
    buffers->smoothPositions.unmap();
    buffers->activeIndices.unmap();

    // convexes
    buffers->shapeGeometry.unmap();
    buffers->shapePositions.unmap();
    buffers->shapeRotations.unmap();
    buffers->shapePrevPositions.unmap();
    buffers->shapePrevRotations.unmap();
    buffers->shapeFlags.unmap();

    // rigids
    buffers->rigidOffsets.unmap();
    buffers->rigidIndices.unmap();
    buffers->rigidMeshSize.unmap();
    buffers->rigidCoefficients.unmap();
    buffers->rigidPlasticThresholds.unmap();
    buffers->rigidPlasticCreeps.unmap();
    buffers->rigidRotations.unmap();
    buffers->rigidTranslations.unmap();
    buffers->rigidLocalPositions.unmap();
    buffers->rigidLocalNormals.unmap();

    // springs
    buffers->springIndices.unmap();
    buffers->springLengths.unmap();
    buffers->springStiffness.unmap();

    // inflatables
    buffers->inflatableTriOffsets.unmap();
    buffers->inflatableTriCounts.unmap();
    buffers->inflatableVolumes.unmap();
    buffers->inflatableCoefficients.unmap();
    buffers->inflatablePressures.unmap();

    // triangles
    buffers->triangles.unmap();
    buffers->triangleNormals.unmap();
    buffers->uvs.unmap();

}

最后,这是我遇到的错误:

*** buffer overflow detected ***: /om/user/arsalans/Programs/FleX/bin/linux64/NvFlexDemoReleaseCUDA_x64 terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x2aff01f497e5]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x2aff01feb15c]
/lib/x86_64-linux-gnu/libc.so.6(+0x117160)[0x2aff01fe9160]
/lib/x86_64-linux-gnu/libc.so.6(+0x1166c9)[0x2aff01fe86c9]
/lib/x86_64-linux-gnu/libc.so.6(_IO_default_xsputn+0x80)[0x2aff01f4d6b0]
/lib/x86_64-linux-gnu/libc.so.6(_IO_vfprintf+0x7bd)[0x2aff01f1f92d]
/lib/x86_64-linux-gnu/libc.so.6(__vsprintf_chk+0x84)[0x2aff01fe8754]
/lib/x86_64-linux-gnu/libc.so.6(__sprintf_chk+0x7d)[0x2aff01fe86ad]
/om/user/arsalans/Programs/FleX/bin/linux64/NvFlexDemoReleaseCUDA_x64[0x42ca74]
/om/user/arsalans/Programs/FleX/bin/linux64/NvFlexDemoReleaseCUDA_x64[0x42696f]
/om/user/arsalans/Programs/FleX/bin/linux64/NvFlexDemoReleaseCUDA_x64[0x42785c]
/om/user/arsalans/Programs/FleX/bin/linux64/NvFlexDemoReleaseCUDA_x64[0x40b314]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x2aff01ef2830]
/om/user/arsalans/Programs/FleX/bin/linux64/NvFlexDemoReleaseCUDA_x64[0x40ddd9]
======= Memory map: ========
00400000-006a7000 r-xp 00000000 f96:de686 198159349837841020             /om/user/arsalans/Programs/FleX/bin/linux64/NvFlexDemoReleaseCUDA_x64
008a7000-008aa000 r--p 002a7000 f96:de686 198159349837841020             /om/user/arsalans/Programs/FleX/bin/linux64/NvFlexDemoReleaseCUDA_x64
008aa000-008af000 rw-p 002aa000 f96:de686 198159349837841020             /om/user/arsalans/Programs/FleX/bin/linux64/NvFlexDemoReleaseCUDA_x64
008af000-008e0000 rw-p 00000000 00:00 0 
01bdf000-0336c000 rw-p 00000000 00:00 0                                  [heap]
200000000-200200000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
200200000-200400000 ---p 00000000 00:00 0 
200400000-200404000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
200404000-200600000 ---p 00000000 00:00 0 
200600000-200a00000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
200a00000-201600000 ---p 00000000 00:00 0 
201600000-201604000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
201604000-201800000 ---p 00000000 00:00 0 
201800000-201c00000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
201c00000-202800000 ---p 00000000 00:00 0 
202800000-202804000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
202804000-202a00000 ---p 00000000 00:00 0 
202a00000-202e00000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
202e00000-203a00000 ---p 00000000 00:00 0 
203a00000-203a04000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
203a04000-203c00000 ---p 00000000 00:00 0 
203c00000-204000000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
204000000-204c00000 ---p 00000000 00:00 0 
204c00000-204c04000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
204c04000-204e00000 ---p 00000000 00:00 0 
204e00000-205200000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
205200000-205e00000 ---p 00000000 00:00 0 
205e00000-205e04000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
205e04000-206000000 ---p 00000000 00:00 0 
206000000-206400000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
206400000-207000000 ---p 00000000 00:00 0 
207000000-207004000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
207004000-207200000 ---p 00000000 00:00 0 
207200000-207600000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
207600000-208200000 ---p 00000000 00:00 0 
208200000-208204000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
208204000-208400000 ---p 00000000 00:00 0 
208400000-208800000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
208800000-209400000 ---p 00000000 00:00 0 
209400000-209404000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
209404000-209600000 ---p 00000000 00:00 0 
209600000-209a00000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
209a00000-209a04000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
209a04000-209c00000 ---p 00000000 00:00 0 
209c00000-20a000000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
20a000000-20a004000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
20a004000-20a200000 ---p 00000000 00:00 0 
20a200000-20a600000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
20a600000-20a604000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
20a604000-20a800000 ---p 00000000 00:00 0 
20a800000-20ac00000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
20ac00000-20ac04000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
20ac04000-20ae00000 ---p 00000000 00:00 0 
20ae00000-20b200000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
20b200000-20b204000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
20b204000-20b400000 ---p 00000000 00:00 0 
20b400000-20b800000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
20b800000-20b804000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
20b804000-20ba00000 ---p 00000000 00:00 0 
20ba00000-20be00000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
20be00000-20be04000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
20be04000-20c000000 ---p 00000000 00:00 0 
20c000000-20c400000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
20c400000-20c600000 ---p 00000000 00:00 0 
20c600000-20c800000 rw-s 00000000 00:05 59206                            /dev/nvidiactl
20c800000-300200000 ---p 00000000 00:00 0 
10000000000-10204000000 ---p 00000000 00:00 0 
2aff00413000-2aff00439000 r-xp 00000000 07:01 43453                      /lib/x86_64-linux-gnu/ld-2.23.so
2aff00439000-2aff0043a000 rw-p 00000000 00:00 0 
2aff0043a000-2aff0043b000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff0043b000-2aff0043c000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff0043c000-2aff0043d000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff0043d000-2aff0043e000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff0043e000-2aff0043f000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff0043f000-2aff00440000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff00440000-2aff00441000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff00441000-2aff00442000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff00442000-2aff00443000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff00443000-2aff00444000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff00444000-2aff00445000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff00445000-2aff00446000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff00446000-2aff00447000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff00447000-2aff00448000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff00448000-2aff00449000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff00449000-2aff0044a000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff0044a000-2aff0044b000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff0044b000-2aff0044c000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff0044c000-2aff0044d000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff0044d000-2aff0044e000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff0044e000-2aff0044f000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff0044f000-2aff00450000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff00450000-2aff00451000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff00451000-2aff00452000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff00452000-2aff00453000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff00453000-2aff005e9000 rw-p 00000000 00:00 0 
2aff005e9000-2aff005ea000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff005ea000-2aff005eb000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff005eb000-2aff005ec000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff005ec000-2aff005ed000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff005ed000-2aff005ee000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff005ee000-2aff005ef000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff005ef000-2aff005f0000 rw-s 00000000 00:05 59207                      /dev/nvidia0
2aff005f0000-2aff005f1000 rw-p 00000000 00:00 0 
2aff00638000-2aff00639000 r--p 00025000 07:01 43453                      /lib/x86_64-linux-gnu/ld-2.23.so
2aff00639000-2aff0063a000 rw-p 00026000 07:01 43453                      /lib/x86_64-linux-gnu/ld-2.23.so
2aff0063a000-2aff0063b000 rw-p 00000000 00:00 0 
2aff0063b000-2aff006c4000 r-xp 00000000 08:05 5669428                    /.singularity.d/libs/libGL.so.1
2aff006c4000-2aff008c4000 ---p 00089000 08:05 5669428                    /.singularity.d/libs/libGL.so.1
2aff008c4000-2aff008de000 rw-p 00089000 08:05 5669428                    /.singularity.d/libs/libGL.so.1
2aff008de000-2aff008df000 rw-p 00000000 00:00 0 
2aff008df000-2aff0094c000 r-xp 00000000 07:01 80764                      /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
2aff0094c000-2aff00b4c000 ---p 0006d000 07:01 80764                      /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
2aff00b4c000-2aff00b4d000 r--p 0006d000 07:01 80764                      /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
2aff00b4d000-2aff00b4e000 rw-p 0006e000 07:01 80764                      /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
2aff00b4e000-2aff00bd8000 r-xp 00000000 f96:de686 198159325678590248     /om/user/arsalans/Programs/FleX/external/libGLEW.so.1.10
2aff00bd8000-2aff00dd7000 ---p 0008a000 f96:de686 198159325678590248     /om/user/arsalans/Programs/FleX/external/libGLEW.so.1.10
2aff00dd7000-2aff00dde000 r--p 00089000 f96:de686 198159325678590248     /om/user/arsalans/Programs/FleX/external/libGLEW.so.1.10
2aff00dde000-2aff00ddf000 rw-p 00090000 f96:de686 198159325678590248     /om/user/arsalans/Programs/FleX/external/libGLEW.so.1.10
2aff00ddf000-2aff00de3000 rw-p 00000000 00:00 0 
2aff00de3000-2aff00e07000 r-xp 00000000 07:01 43555                      /lib/x86_64-linux-gnu/libpng12.so.0.54.0
2aff00e07000-2aff01006000 ---p 00024000 07:01 43555                      /lib/x86_64-linux-gnu/libpng12.so.0.54.0
2aff01006000-2aff01007000 r--p 00023000 07:01 43555                      /lib/x86_64-linux-gnu/libpng12.so.0.54.0
2aff01007000-2aff01008000 rw-p 00024000 07:01 43555                      /lib/x86_64-linux-gnu/libpng12.so.0.54.0
2aff01008000-2aff0100b000 r-xp 00000000 07:01 43491                      /lib/x86_64-linux-gnu/libdl-2.23.so
2aff0100b000-2aff0120a000 ---p 00003000 07:01 43491                      /lib/x86_64-linux-gnu/libdl-2.23.so
2aff0120a000-2aff0120b000 r--p 00002000 07:01 43491                      /lib/x86_64-linux-gnu/libdl-2.23.so
2aff0120b000-2aff0120c000 rw-p 00003000 07:01 43491                      /lib/x86_64-linux-gnu/libdl-2.23.so
2aff0120c000-2aff01213000 r-xp 00000000 07:01 43566                      /lib/x86_64-linux-gnu/librt-2.23.so
2aff01213000-2aff01412000 ---p 00007000 07:01 43566                      /lib/x86_64-linux-gnu/librt-2.23.so
2aff01412000-2aff01413000 r--p 00006000 07:01 43566                      /lib/x86_64-linux-gnu/librt-2.23.so
2aff01413000-2aff01414000 rw-p 00007000 07:01 43566                      /lib/x86_64-linux-gnu/librt-2.23.so
2aff01414000-2aff01586000 r-xp 00000000 07:01 81948                      /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
2aff01586000-2aff01786000 ---p 00172000 07:01 81948                      /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
2aff01786000-2aff01790000 r--p 00172000 07:01 81948                      /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
2aff01790000-2aff01792000 rw-p 0017c000 07:01 81948                      /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
2aff01792000-2aff01796000 rw-p 00000000 00:00 0 
2aff01796000-2aff0189e000 r-xp 00000000 07:01 43520                      /lib/x86_64-linux-gnu/libm-2.23.so
2aff0189e000-2aff01a9d000 ---p 00108000 07:01 43520                      /lib/x86_64-linux-gnu/libm-2.23.so
2aff01a9d000-2aff01a9e000 r--p 00107000 07:01 43520                      /lib/x86_64-linux-gnu/libm-2.23.so
2aff01a9e000-2aff01a9f000 rw-p 00108000 07:01 43520                      /lib/x86_64-linux-gnu/libm-2.23.so
2aff01a9f000-2aff01ab5000 r-xp 00000000 07:01 43501                      /lib/x86_64-linux-gnu/libgcc_s.so.1
2aff01ab5000-2aff01cb4000 ---p 00016000 07:01 43501                      /lib/x86_64-linux-gnu/libgcc_s.so.1
2aff01cb4000-2aff01cb5000 rw-p 00015000 07:01 43501                      /lib/x86_64-linux-gnu/libgcc_s.so.1
2aff01cb5000-2aff01ccd000 r-xp 00000000 07:01 43560                      /lib/x86_64-linux-gnu/libpthread-2.23.so
2aff01ccd000-2aff01ecc000 ---p 00018000 07:01 43560                      /lib/x86_64-linux-gnu/libpthread-2.23.so
2aff01ecc000-2aff01ecd000 r--p 00017000 07:01 43560                      /lib/x86_64-linux-gnu/libpthread-2.23.so
2aff01ecd000-2aff01ece000 rw-p 00018000 07:01 43560                      /lib/x86_64-linux-gnu/libpthread-2.23.so
2aff01ece000-2aff01ed2000 rw-p 00000000 00:00 0 
2aff01ed2000-2aff02092000 r-xp 00000000 07:01 43475                      /lib/x86_64-linux-gnu/libc-2.23.so
2aff02092000-2aff02292000 ---p 001c0000 07:01 43475                      /lib/x86_64-linux-gnu/libc-2.23.so
2aff02292000-2aff02296000 r--p 001c0000 07:01 43475                      /lib/x86_64-linux-gnu/libc-2.23.so
2aff02296000-2aff02298000 rw-p 001c4000 07:01 43475                      /lib/x86_64-linux-gnu/libc-2.23.so
2aff02298000-2aff0229c000 rw-p 00000000 00:00 0 
2aff0229c000-2aff022ac000 r-xp 00000000 08:05 5669427                    /.singularity.d/libs/libGLX.so.0
2aff022ac000-2aff024ab000 ---p 00010000 08:05 5669427                    /.singularity.d/libs/libGLX.so.0
2aff024ab000-2aff024ac000 rw-p 0000f000 08:05 5669427                    /.singularity.d/libs/libGLX.so.0
2aff024ac000-2aff024cc000 rw-p 00000000 00:00 0 
2aff024cc000-2aff02552000 r-xp 00000000 08:05 5669426                    /.singularity.d/libs/libGLdispatch.so.0
2aff02552000-2aff02752000 ---p 00086000 08:05 5669426                    /.singularity.d/libs/libGLdispatch.so.0
2aff02752000-2aff0277a000 rw-p 00086000 08:05 5669426                    /.singularity.d/libs/libGLdispatch.so.0
2aff0277a000-2aff0279a000 rw-p 00000000 00:00 0 
2aff0279a000-2aff027b3000 r-xp 00000000 07:01 43598                      /lib/x86_64-linux-gnu/libz.so.1.2.8
2aff027b3000-2aff029b2000 ---p 00019000 07:01 43598                      /lib/x86_64-linux-gnu/libz.so.1.2.8
2aff029b2000-2aff029b3000 r--p 00018000 07:01 43598                      /lib/x86_64-linux-gnu/libz.so.1.2.8
2aff029b3000-2aff029b4000 rw-p 00019000 07:01 43598                      /lib/x86_64-linux-gnu/libz.so.1.2.8
2aff029b4000-2aff02ae9000 r-xp 00000000 07:01 80884                      /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
2aff02ae9000-2aff02ce9000 ---p 00135000 07:01 80884                      /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
2aff02ce9000-2aff02cea000 r--p 00135000 07:01 80884                      /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
2aff02cea000-2aff02cee000 rw-p 00136000 07:01 80884                      /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
2aff02cee000-2aff02cff000 r-xp 00000000 07:01 80909                      /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
2aff02cff000-2aff02efe000 ---p 00011000 07:01 80909                      /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
2aff02efe000-2aff02eff000 r--p 00010000 07:01 80909                      /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
2aff02eff000-2aff02f00000 rw-p 00011000 07:01 80909                      /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
2aff02f00000-2aff02f21000 r-xp 00000000 07:01 82152                      /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
2aff02f21000-2aff03120000 ---p 00021000 07:01 82152                      /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
2aff03120000-2aff03121000 r--p 00020000 07:01 82152                      /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
2aff03121000-2aff03122000 rw-p 00021000 07:01 82152                      /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
2aff03122000-2aff03124000 r-xp 00000000 07:01 80888                      /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
2aff03124000-2aff03324000 ---p 00002000 07:01 80888                      /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
2aff03324000-2aff03325000 r--p 00002000 07:01 80888                      /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
2aff03325000-2aff03326000 rw-p 00003000 07:01 80888                      /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
2aff03326000-2aff0332b000 r-xp 00000000 07:01 80905                      /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
2aff0332b000-2aff0352a000 ---p 00005000 07:01 80905                      /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
2aff0352a000-2aff0352b000 r--p 00004000 07:01 80905                      /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
2aff0352b000-2aff0352c000 rw-p 00005000 07:01 80905                      /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
2aff0352c000-2aff03d6e000 r-xp 00000000 08:05 5669446                    /.singularity.d/libs/libcuda.so
2aff03d6e000-2aff03f6d000 ---p 00842000 08:05 5669446                    /.singularity.d/libs/libcuda.so
2aff03f6d000-2aff040be000 rw-p 00841000 08:05 5669446                    /.singularity.d/libs/libcuda.so
2aff040be000-2aff040cc000 rw-p 00000000 00:00 0 
2aff040cc000-2aff04109000 r-xp 00000000 08:05 5669452                    /.singularity.d/libs/libnvidia-fatbinaryloader.so.390.77
2aff04109000-2aff04308000 ---p 0003d000 08:05 5669452                    /.singularity.d/libs/libnvidia-fatbinaryloader.so.390.77
2aff04308000-2aff04313000 rw-p 0003c000 08:05 5669452                    /.singularity.d/libs/libnvidia-fatbinaryloader.so.390.77
2aff04313000-2aff04318000 rw-p 00000000 00:00 0 
2aff04318000-2aff0a318000 ---p 00000000 00:00 0 
2aff0a318000-2aff0a319000 ---p 00000000 00:00 0 
2aff0a319000-2aff0a519000 rw-p 00000000 00:00 0                          [stack:32784]
2aff0a519000-2aff0a51a000 ---p 00000000 00:00 0 
2aff0a51a000-2aff0a79b000 rw-p 00000000 00:00 0                          [stack:32785]
2aff0a800000-2aff0aa00000 ---p 00000000 00:00 0 
2aff0aa00000-2aff0aa01000 ---p 00000000 00:00 0 
2aff0aa01000-2aff0ac72000 rw-p 00000000 00:00 0                          [stack:32786]
2aff0ae00000-2aff0b000000 ---p 00000000 00:00 0 
2aff0b000000-2aff0b200000 rw-s 00000000 00:04 1306015074                 /dev/zero (deleted)
2aff0b200000-2aff0b400000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff0b400000-2aff0b600000 rw-s 00000000 00:04 1306015075                 /dev/zero (deleted)
2aff0b600000-2aff0b800000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff0b800000-2aff0bad6000 rw-s 00000000 00:05 59206                      /dev/nvidiactl
2aff0bad6000-2aff0be00000 ---p 00000000 00:00 0 
2aff0c000000-2aff0c021000 rw-p 00000000 00:00 0 
2aff0c021000-2aff10000000 ---p 00000000 00:00 0 
2aff10000000-2aff10021000 rw-p 00000000 00:00 0 
2aff10021000-2aff14000000 ---p 00000000 00:00 0 
2aff14000000-2aff1e400000 ---p 00000000 00:00 0 
2aff1e400000-2aff1e600000 rw-s 00000000 00:04 1306015079                 /dev/zero (deleted)
2aff1e800000-2aff1ea00000 rw-s 00000000 00:04 1306015092                 /dev/zero (deleted)
2aff1ec00000-2aff2c400000 ---p 00000000 00:00 0 
2aff2c600000-2aff2c800000 rw-s 00000000 00:04 1306015083                 /dev/zero (deleted)
2aff2c800000-2aff2ca00000 rw-s 00000000 00:04 1306015086                 /dev/zero (deleted)
2aff2ca00000-2aff2cc00000 rw-s 00000000 00:04 1306015087                 /dev/zero (deleted)
2aff2cc00000-2aff2ce00000 rw-s 00000000 00:04 1306015093                 /dev/zero (deleted)
2aff2d000000-2aff2d2ac000 rw-s 00000000 00:04 1306015095                 /dev/zero (deleted)
2aff2d2ac000-2aff2f200000 ---p 00000000 00:00 0 
2aff2f200000-2aff2f400000 rw-s 00000000 00:04 1306015096                 /dev/zero (deleted)
2aff2f400000-2aff2f600000 rw-s 00000000 00:04 1306015097                 /dev/zero (deleted)
2aff2f600000-2aff2f800000 rw-s 00000000 00:04 1306015098                 /dev/zero (deleted)
2aff2f800000-2aff2fa00000 rw-s 00000000 00:04 1306015099                 /dev/zero (deleted)
2aff2fa00000-2aff2fc00000 rw-s 00000000 00:04 1306015100                 /dev/zero (deleted)
2aff2fc00000-2aff2fe00000 rw-s 00000000 00:04 1306015101                 /dev/zero (deleted)
2aff2fe00000-2aff30400000 ---p 00000000 00:00 0 
7ffc22c4e000-7ffc22c70000 rw-p 00000000 00:00 0                          [stack]
7ffc22d86000-7ffc22d88000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

对于那些 Singularity 用户:不幸的是,我无法再尝试使用 Singularity 2.6 来查看问题是否消失,因为我正在使用集群并且无法自己安装东西。

请注意,我在构建它时将 NVIDIA 的 Docker 图像拉入我的容器中。这是构建容器时我的 Singularity 定义文件的主要部分:

BootStrap: docker
From: nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04

%post
# Set up some required environment defaults
apt-get -y update && apt-get -y install software-properties-common && yes '' | add-apt-repository ppa:deadsnakes/ppa
apt-get -y update && apt-get -y install locales
locale-gen en_US.UTF-8
apt-get -y update && apt-get -y install make \
                    dpkg \
                    wget \
                    bzip2 \
                    libglib2.0-0 \
                    libxext6 \
                    libsm6 \
                    libxrender1 \
                    g++ \
                    gcc \
                    xvfb \
                    libyaml-cpp-dev \
                    git \
                    cmake \
                    vim \
                    curl \
                    ca-certificates \
                    python3.6 \
                    python3.6-dev

事实证明,我的代码在模拟期间试图在磁盘上创建一个文件,但由于某种原因无法创建该文件,这可能与 this 有关。该代码在过去始终有效,但我不知道我的容器中发生了什么变化导致该部分代码无法再创建该文件。