Date: Sat, 15 Sep 2007 17:03:18 -0500 (CDT) From: Michael Ekstrand <michael@elehack.net> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/116383: sqlite3 (from databases/sqlite3) segfault Message-ID: <20070915220318.1DA3D2E040@ahijah.elehack.net> Resent-Message-ID: <200709152230.l8FMU2uw008042@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 116383 >Category: ports >Synopsis: sqlite3 (from databases/sqlite3) segfault >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Sep 15 22:30:01 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Michael Ekstrand >Release: FreeBSD 6.2-RELEASE i386 >Organization: >Environment: System: FreeBSD ahijah.elehack.net 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri Jan 12 10:40:27 UTC 2007 root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 >Description: The sqlite3 crashes with a segmentation fault when either creating a new database or attempting to load a database copied from my Debian laptop. Sample transcript: michaelel@ahijah /var/www> sqlite3 comments.db "CREATE TABLE comments (page, name, email, url, body);" zsh: segmentation fault (core dumped) sqlite3 comments.db "CREATE TABLE comments (page, name, email, url, body);" A backtrace on the core dump follows: #0 0x280dbac0 in sqlite3Fts2InitHashTable () from /usr/local/lib/libsqlite3.so.8 #1 0x280da3d6 in sqlite3Fts2Init () from /usr/local/lib/libsqlite3.so.8 #2 0x280a61ef in openDatabase () from /usr/local/lib/libsqlite3.so.8 #3 0x0804a7e3 in open_db () #4 0x0804cba3 in main () Output of strace follows: execve(0xbfbfe6a0, [0xbfbfeb88], [/* 0 vars */]) = 0 mmap(0, 3904, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x28078000 munmap(0x28078000, 3904) = 0 __sysctl([...], 0x28074b58, 0xbfbfe924, NULL, 0) = 0 mmap(0, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0x28078000 issetugid(0) = 0 open("/etc/libmap.conf", O_RDONLY) = -1 ENOENT (No such file or directory) access("/usr/local/lib/libsqlite3.so.8", F_OK) = 0 open("/usr/local/lib/libsqlite3.so.8", O_RDONLY) = 3 fstat(3, {st_mode=0, st_size=0, ...}) = 0 read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\f\265\0"..., 4096) = 4096 mmap(0, 421888, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x28080000 mprotect(0x280e4000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x280e4000, 4096, PROT_READ|PROT_EXEC) = 0 mmap(0x280e5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x64000) = 0x280e5000 close(3) = 0 access("/usr/local/lib/libreadline.so.6", F_OK) = -1 ENOENT (No such file or directory) open("/var/run/ld-elf.so.hints", O_RDONLY) = 3 read(3, "_NOW\0LD_TRACE_LOADED_OBJECTS\0LD_"..., 128) = 128 lseek(3, 128, SEEK_SET) = 128 read(3, "/lib:/usr/lib:/usr/lib/compat:/u"..., 136) = 136 close(3) = 0 access("/lib/libreadline.so.6", F_OK) = 0 open("/lib/libreadline.so.6", O_RDONLY) = 3 fstat(3, {st_mode=0, st_size=0, ...}) = 0 read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\324\255"..., 4096) = 4096 mmap(0, 184320, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x280e7000 mprotect(0x2810e000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x2810e000, 4096, PROT_READ|PROT_EXEC) = 0 mmap(0x2810f000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x27000) = 0x2810f000 close(3) = 0 access("/usr/local/lib/libm.so.4", F_OK) = -1 ENOENT (No such file or directory) access("/lib/libm.so.4", F_OK) = 0 open("/lib/libm.so.4", O_RDONLY) = 3 fstat(3, {st_mode=0, st_size=0, ...}) = 0 read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\24$\0\000"..., 4096) = 4096 mmap(0, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x28114000 mprotect(0x28128000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x28128000, 4096, PROT_READ|PROT_EXEC) = 0 mmap(0x28129000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x15000) = 0x28129000 close(3) = 0 access("/usr/local/lib/libc.so.6", F_OK) = -1 ENOENT (No such file or directory) access("/lib/libc.so.6", F_OK) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 fstat(3, {st_mode=0, st_size=0, ...}) = 0 read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\352"..., 4096) = 4096 mmap(0, 937984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x2812a000 mprotect(0x281f2000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x281f2000, 4096, PROT_READ|PROT_EXEC) = 0 mmap(0x281f3000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xc9000) = 0x281f3000 mmap(0x281f9000, 90112, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0x281f9000 close(3) = 0 access("/lib/libncurses.so.6", F_OK) = 0 open("/lib/libncurses.so.6", O_RDONLY) = 3 fstat(3, {st_mode=0, st_size=0, ...}) = 0 read(3, "\177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\335\0"..., 4096) = 4096 mmap(0, 258048, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x2820f000 mprotect(0x28244000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x28244000, 4096, PROT_READ|PROT_EXEC) = 0 mmap(0x28245000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x35000) = 0x28245000 close(3) = 0 sysarch(0xa, 0xbfbfe9a0) = 0 mmap(0, 632, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x2824e000 munmap(0x2824e000, 632) = 0 mmap(0, 5488, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x2824e000 munmap(0x2824e000, 5488) = 0 mmap(0, 5296, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x2824e000 munmap(0x2824e000, 5296) = 0 mmap(0, 1856, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x2824e000 munmap(0x2824e000, 1856) = 0 mmap(0, 22792, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x2824e000 munmap(0x2824e000, 22792) = 0 mmap(0, 4616, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x2824e000 munmap(0x2824e000, 4616) = 0 sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV SYS], []) = 0 sigprocmask(SIG_SETMASK, [], NULL) = 0 ioctl(0, TIOCGETA, {0x280575fc /* B??? */ (in)0x28057664 /* B??? */ (out) -opost -isig -icanon -echo ...}) = 0 syscall_416(0x2, 0xbfbfe140, 0xbfbfe120) = 0 access("ˆv(œv(,w(pw(”w(", F_OK) = 0 readlink("/etc/malloc.conf", 0xbfbfe050, 63) = -1 ENOENT (No such file or directory) issetugid(0x3a45673) = 0 mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0x2824e000 break(0x8052000) = 0 break(0x8053000) = 0 break(0x8054000) = 0 break(0x8055000) = 0 break(0x8056000) = 0 break(0x8058000) = 0 __getcwd("/var/www", 5000) = 0 open("/var/www/comments.db", O_RDWR|O_CREAT, 0644) = 3 fcntl(3, F_GETFD) = 0 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 fstat(3, {st_mode=0, st_size=0, ...}) = 0 lseek(3, 0, SEEK_SET) = 0 read(3, "", 100) = 0 --- SIGSEGV (Segmentation fault: 11) --- --- SIGSEGV (Segmentation fault: 11) --- >How-To-Repeat: Enter the above command (see transcript) on the command line. Alternatively, attempt to start sqlite3 with an existing zero-length database. >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070915220318.1DA3D2E040>