Я думаю, что поиск более универсален и более подходит для текстового поиска. Найдите, что звуки больше как 'находят определенную запись или группу записей'
Эту проблему удалось воспроизвести с помощью некоторого кода «hello world», который даже не вызывает никаких символов в загруженном объекте. http://pastebin.com/d690bea57
Я предполагаю, что это ошибка в libc или valgrind. Воспроизводится в Ubuntu 9.04 и Scientific Linux 5.3 (20 и 32 байта соответственно).
РЕДАКТИРОВАТЬ (от Calmarius):
Этот тривиальный код воспроизводит проблему:
#include <dlfcn.h>
int main()
{
void* handle = 0;
handle = dlopen("libm.so", RTLD_NOW);
dlclose(handle);
return 0;
}
При компиляции с помощью этой команды:
gcc -Wl,--no-as-needed -g -o stuff main.c -ldl -lpthread
Даже самые последние valgrind 3.11 может воспроизвести это на Ubuntu 14.04
Сообщалось об ошибке в апстриме: https://bugs.kde.org/show_bug.cgi?id=358980
Я сам видел это во всех библиотеках, с использованием dlopen или без. Я просто предположил, что это какая-то волшебная реализация внутри библиотек, которая обманула valgrind - или - в этих библиотеках действительно есть утечки памяти, и в этом случае я ничего не могу сделать в моем приложении.