I'm using valgrind to help locate memory problems in C code I wrote that uses the SQLite (v3) library. Valgrind returned an unusual message about threads which was odd because I'm not doing multithreading. Backing up a bit I turned valgrind loose on the sqlite3 command line tool. Here's what it returns:
/home/al> valgrind --version valgrind-2.2.0 /home/al> valgrind /usr/local/sqlite-3.0.7/bin/sqlite3 ==13527== Memcheck, a memory error detector for x86-linux. ==13527== Copyright (C) 2002-2004, and GNU GPL'd, by Julian Seward et al. ==13527== Using valgrind-2.2.0, a program supervision framework for x86-linux. ==13527== Copyright (C) 2000-2004, and GNU GPL'd, by Julian Seward et al. ==13527== For more details, rerun with: -v ==13527== ==13527== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s) ==13527== at 0x1B9F1025: __libc_sigaction (in /lib/tls/libc-2.3.2.so) ==13527== by 0x1: ??? ==13527== Address 0x52BFC7B0 is on thread 1's stackLoading resources from /home/al/.sqliterc SQLite version 3.0.7 Enter ".help" for instructions ==13527== ==13527== Syscall param sigaction(act) contains uninitialised or unaddressable byte(s) ==13527== at 0x1B9F1025: __libc_sigaction (in /lib/tls/libc-2.3.2.so) ==13527== Address 0x52BFC544 is on thread 1's stack CVSTrac shows a couple of other valgrind related issues http://www.sqlite.org/cvstrac/tktview?tn=856, http://www.sqlite.org/cvstrac/tktview?tn=536,20 but they are resolved. Are the messages valgrind shows above anything to be concerned about? I'm pretty sure the memory problems in my C code are my fault and not a problem with the sqlite library. Still, it would be reassuring so see the sqlite3 command line tool be free of valgrind warnings. -- Al