kern/53847: software hang
kai.mosebach at komadev.de
kai.mosebach at komadev.de
Fri Jun 27 10:00:29 PDT 2003
>Number: 53847
>Category: kern
>Synopsis: software hang
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Jun 27 10:00:26 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Charlie &
>Release: FreeBSD 5.1-CURRENT i386
>Organization:
komadev.de
>Environment:
System: FreeBSD devil 5.1-CURRENT FreeBSD 5.1-CURRENT #1: Mon Jun 23 16:05:33 CEST 2003 root at devil:/usr/src/sys/i386/compile/NUDEVIL i386
AMD Duron 1300
i386
>Description:
i am currently porting the OpenSource Database SAPDB (www.sapdb.org) to FreeBSD 5.
On FreeBSD5.0 most of the stuff runs fine now (see www.komadev.de/sapdb), But as i wanted to try it out on FreeBSD 5.1-Release,first of all most Of the programs a not working as expected. (lock ups etc)
A truss against these programms creates this syslogd entries:
Jun 16 23:49:04 devil kernel: Sleeping on "stopevent" with the following non-sleepablelocks held: Jun 16 23:49:04 devil kernel: exclusive sleep mutex sigacts r = 0 (0xc69a6aa8) locked @ kern/kern_synch.c:296 Jun 16 23:49:04 devil kernel: Sleeping on "stopevent" with the following non-sleepablelocks held: Jun 16 23:49:04 devil kernel: exclusive sleep mutex sigacts r = 0 (0xc69a6aa8) locked @ kern/subr_trap.c:248
A simple run of the programs does not create a log entry.
When i am using the libc.so.5 from FreeBSD5.0 within FreeBSD 5.1 all the Stuff is running fine again, all but python which is used within the DB, Then leading to an "__fpclassifyd" missing .so linker entry.
The progs are using the linuxthreads libs
Any help is greatly apreciated.
Thanx Kai
PS : The strace looks like this :
[root at devil:/projects/sapdb] # strace dbmcli
execve(0xbfbff098, [0xbfbff57c], [/* 0 vars */]) = 0
mmap(0, 3016, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x2819e000
munmap(0x2819e000, 3016) = 0
__sysctl([...], 0x2819c748, 0xbfbff34c, NULL, 0) = 0
mmap(0, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0x2819e000
geteuid(0x28184000) = 0
getuid() = 0 (euid 0)
getegid(0x28184000) = 0
getgid() = 0 (egid 0)
open("/var/run/ld-elf.so.hints", O_RDONLY) = 3
read(3, "o large\0%s: mmap of data failed:"..., 128) = 128
lseek(3, 549755813888, SEEK_SET) = 128
read(3, "/usr/lib:/usr/local/lib:/usr/X11"..., 55) = 55
close(3) = 0
access("/usr/lib/libcrypt.so.2", F_OK) = 0 open("/usr/lib/libcrypt.so.2", O_RDONLY) = 3
fstat(3, {st_mode=0, st_size=0, ...}) = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096 mmap(0, 102400, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x281a6000 mprotect(0x281ac000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x281ac000, 4096, PROT_READ|PROT_EXEC) = 0 mmap(0x281ad000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x700000000000) = 0x281ad000 mmap(0x281ae000, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0x281ae000
close(3) = 0
access("/usr/lib/liblthread.so.3", F_OK) = -1 ENOENT (No such file or directory) access("/usr/local/lib/liblthread.so.3", F_OK) = 0 open("/usr/local/lib/liblthread.so.3", O_RDONLY) = 3
fstat(3, {st_mode=0, st_size=0, ...}) = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096 mmap(0, 151552, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x281bf000 mprotect(0x281d7000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x281d7000, 4096, PROT_READ|PROT_EXEC) = 0 mmap(0x281d8000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1900000000000) = 0x281d8000 mmap(0x281e0000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0x281e0000
close(3) = 0
access("/usr/lib/libstdc++.so.4", F_OK) = 0 open("/usr/lib/libstdc++.so.4", O_RDONLY) = 3
fstat(3, {st_mode=0, st_size=0, ...}) = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096 mmap(0, 741376, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x281e4000 mprotect(0x2827e000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x2827e000, 4096, PROT_READ|PROT_EXEC) = 0 mmap(0x2827f000, 86016, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x9b00000000000) = 0x2827f000 mmap(0x28294000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0x28294000
close(3) = 0
access("/usr/lib/libm.so.2", F_OK) = 0
open("/usr/lib/libm.so.2", O_RDONLY) = 3
fstat(3, {st_mode=0, st_size=0, ...}) = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096 mmap(0, 118784, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x28299000 mprotect(0x282b0000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x282b0000, 4096, PROT_READ|PROT_EXEC) = 0 mmap(0x282b1000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1800000000000) = 0x282b1000
close(3) = 0
access("/usr/lib/libc.so.5", F_OK) = 0
open("/usr/lib/libc.so.5", O_RDONLY) = 3
fstat(3, {st_mode=0, st_size=0, ...}) = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096 mmap(0, 884736, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_NOCORE, 3, 0) = 0x282b6000 mprotect(0x28376000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mprotect(0x28376000, 4096, PROT_READ|PROT_EXEC) = 0 mmap(0x28377000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xc000000000000) = 0x28377000 mmap(0x2837c000, 73728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0x2837c000
close(3) = 0
access("/usr/lib/libm.so.2", F_OK) = 0
mmap(0, 1832, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x2838e000
munmap(0x2838e000, 1832) = 0
mmap(0, 640, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x2838e000
munmap(0x2838e000, 640) = 0
mprotect(0x281bf000, 102400, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mmap(0, 4528, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x2838e000
munmap(0x2838e000, 4528) = 0
mprotect(0x281bf000, 102400, PROT_READ|PROT_EXEC) = 0 mprotect(0x281e4000, 634880, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mmap(0, 26976, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x2838e000
munmap(0x2838e000, 26976) = 0
mprotect(0x281e4000, 634880, PROT_READ|PROT_EXEC) = 0
mmap(0, 2272, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x2838e000
munmap(0x2838e000, 2272) = 0
mprotect(0x282b6000, 790528, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mmap(0, 21016, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x2838e000
munmap(0x2838e000, 21016) = 0
mprotect(0x282b6000, 790528, PROT_READ|PROT_EXEC) = 0 syscall_416(0x4, 0xbfbff478, 0xbfbff458) = 0
sigprocmask(SIG_BLOCK, NULL, []) = 0
syscall_416(0x4, 0xbfbff458, 0) = 0
getpid() = 30605 (ppid 30604)
syscall_416(0x1f, 0xbfbff464, 0) = 0
syscall_416(0x1e, 0xbfbff464, 0) = 0
sigprocmask(SIG_BLOCK, [], NULL) = 0
__sysctl([hw.ncpu], 2, "\225j\377\377\334j\377\377qk\377\377\354j\377\377\24k\377"..., [1024], NULL, 0) = 0 __sysctl([114630717.192014751], 2, "\1\0\0\0\0\0\0\0\0\0\0\0\0\0`\277\0\0\0\0\0\0\0\0\0\0\0"..., [1768697699], NULL, 0) = 0 sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV SYS], []) = 0 sigprocmask(SIG_SETMASK, [USR2], NULL) = 0 readlink("/etc/malloc.conf", 0xbfbff460, 63) = -1 ENOENT (No such file or directory)
issetugid(0x28376030) = 0
getuid() = 0 (euid 0)
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0x2838e000
break(0x81cf000) = 0
break(0x81d0000) = 0
break(0x81d1000) = 0
open("/dev/null", O_RDWR) = 3
close(3) = 0
geteuid(0x8162159) = 0
break(0x81d2000) = 0
sigprocmask(SIG_SETMASK, NULL, [TRAP ABRT BUS SYS ALRM CHLD TTIN TTOU IO]) = 0 sigsuspend([ABRT PIPE ALRM TERM STOP CHLD TTOU IO INFO USR1 USR2]^C <unfinished ...>
>How-To-Repeat:
- Download sapdb build-421 and the config-421 from www.komadev.de/sapdb follow the installation instructions
- After installation source the file /usr/local/sapdb/sapdb.env
- Remove /usr/local/sapdb/depend/lib/bsd50 from LD_LIBRARY_PATH (this is the current workaround)
- now execute dbmcli or any other tool from /usr/local/sapdb/depend/bin
>Fix:
- Using FreeBSD5.0 libraries in LD_LIBRARY_PATH (bad hack!)
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list