ports/116383: sqlite3 (from databases/sqlite3) segfault

Michael Ekstrand michael at elehack.net
Sat Sep 15 22:30:02 UTC 2007


>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 at 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 at 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:



More information about the freebsd-ports-bugs mailing list