valgrind を使用していくつかのソフトウェアのテストを行っています。理想的には、一度に valgrind の 20 以上のインスタンスを開きたいと考えています。ただし、16 を超えるインスタンスを並行して実行すると、次のようなメッセージが表示され始めます。
==30533== VG_(mkstemp): failed to create temp file: /tmp/valgrind_proc_30533_cmdline_269e37a6
==30533== VG_(mkstemp): failed to create temp file: /tmp/valgrind_proc_30533_cmdline_d6b675e7
==30533== VG_(mkstemp): failed to create temp file: /tmp/valgrind_proc_30533_cmdline_db46c594
==30533== VG_(mkstemp): failed to create temp file: /tmp/valgrind_proc_30533_cmdline_51cd683d
==30533== VG_(mkstemp): failed to create temp file: /tmp/valgrind_proc_30533_cmdline_86662832
==30533== VG_(mkstemp): failed to create temp file: /tmp/valgrind_proc_30533_cmdline_226a8983
==30533== VG_(mkstemp): failed to create temp file: /tmp/valgrind_proc_30533_cmdline_bb94a700
==30533== VG_(mkstemp): failed to create temp file: /tmp/valgrind_proc_30533_cmdline_532d4b39
==30533== VG_(mkstemp): failed to create temp file: /tmp/valgrind_proc_30533_cmdline_de4a957e
==30533== VG_(mkstemp): failed to create temp file: /tmp/valgrind_proc_30533_cmdline_fcc23adf
==30533== VG_(mkstemp): failed to create temp file: /tmp/valgrind_proc_30533_cmdline_f41d332c
valgrind: Startup or configuration error:
valgrind: Can't create client cmdline file in /pathtomyproject/
valgrind: Unable to start up properly. Giving up.
一部のプロセス (おそらくそれらの 1/3) は、代わりにエラーで終了します。
==30482== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 2 from 2)
==30482==
==30482== 1 errors in context 1 of 1:
==30482== Jump to the invalid address stated on the next line
==30482== at 0x4C6: ???
==30482== by 0x4005D2E: open_verify (dl-load.c:1914)
==30482== by 0x4006362: open_path (dl-load.c:2175)
==30482== by 0x4008799: _dl_map_object (dl-load.c:2407)
==30482== by 0x400CFE1: openaux (dl-deps.c:65)
==30482== by 0x400F175: _dl_catch_error (dl-error.c:178)
==30482== by 0x400D6BD: _dl_map_object_deps (dl-deps.c:258)
==30482== by 0x400350C: dl_main (rtld.c:1826)
==30482== by 0x4015B23: _dl_sysdep_start (dl-sysdep.c:244)
==30482== by 0x4005364: _dl_start (rtld.c:338)
==30482== by 0x40016B7: ??? (in /lib/x86_64-linux-gnu/ld-2.15.so)
==30482== by 0x4: ???
==30482== by 0x7FF0007C6: ???
==30482== by 0x7FF0007DD: ???
==30482== by 0x7FF0007E2: ???
==30482== by 0x7FF0007E9: ???
==30482== by 0x7FF0007EE: ???
==30482== Address 0x4c6 is not stack'd, malloc'd or (recently) free'd
これらの呼び出しを実行している間、/tmp にファイルは作成されませんが、使用しているユーザー アカウントには /tmp に対する読み取り、書き込み、および実行のアクセス許可があります。
このバグに関する情報をオンラインで見つけることはできませんが、おそらくどこかでそれについて何か知っているでしょうか?
編集: いくつかのさらなる実験では、実際には一度に実行できるプロセスは 5 つまでであることが示唆されています。