Это постоянная проблема для людей, которые разрабатывают файловые системы FUSE. This link may help (это довольно буквально слишком много для консолидации в одном ответе). Обход включает в себя своевременную замену fusermount и (в зависимости), некоторые дополнительные опции для valgrind, чтобы предотвратить ее отслеживание детей.
В самом деле, если вы запускаете FS под Valgrind, вы получите этот выход (да, достаточно людей были эта проблема, что я на самом деле обнаружен Valgrind при запуске и отображаются ссылка):
[email protected]:~ # valgrind xsfs /xs
==9479== Memcheck, a memory error detector.
==9479== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al.
==9479== Using LibVEX rev 1884, a library for dynamic binary translation.
==9479== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP.
==9479== Using valgrind-3.4.1, a dynamic binary instrumentation framework.
==9479== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al.
==9479== For more details, rerun with: -v
==9479==
******** Valgrind has been detected by xsfs
******** If you have difficulties getting xsfs to work under Valgrind,
******** see the following thread:
******** http://www.nabble.com/valgrind-and-fuse-file-systems-td13112112.html
******** Sleeping for 5 seconds so this doesn't fly by ....
Проще всего все, что нужно сделать, - это ваша отладка в одноразовой виртуальной машине под управлением root, где вы можете просто отбросить бит setuid и сделать это. Убедитесь, что вы проверили свой код, чтобы не было никаких утечек или нарушений, его достаточно просто проверить любой связанный код библиотеки, не используя плавкий предохранитель. Отремонтируйте «valgrind-clean» и обратите внимание, что вы сделали это в документации.
Затем возьмите несколько бит из valgrind/valgrind.h
, чтобы обнаружить его, и покажите короткое сообщение для тех, которые идут вперед и запускают его в любом случае. Взломы, чтобы обойти его, требуют коренного сотрудничества, и, откровенно говоря, гораздо проще сделать в песочнице.
Это также достаточно легко отказать в запуске под valgrind с битом setuid, показывая полезное сообщение для людей, чтобы он обернулся , если они действительно хотят это сделать.
Иногда это просто не возможно :) –
Это происходит даже тогда, когда все было запускаться как пользователь root. Лучший способ - изменить perms, чтобы удалить «s», и запустить –