From root@devil.free-bsd.org  Fri Jun 27 09:50:10 2003
Return-Path: <root@devil.free-bsd.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 779AF37B401
	for <FreeBSD-gnats-submit@freebsd.org>; Fri, 27 Jun 2003 09:50:10 -0700 (PDT)
Received: from devil.free-bsd.org (p508B3F56.dip.t-dialin.net [80.139.63.86])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 381E343FDF
	for <FreeBSD-gnats-submit@freebsd.org>; Fri, 27 Jun 2003 09:50:08 -0700 (PDT)
	(envelope-from root@devil.free-bsd.org)
Received: from devil.free-bsd.org (localhost [127.0.0.1])
	by devil.free-bsd.org (8.12.9/8.12.6) with ESMTP id h5RGubYE050689
	for <FreeBSD-gnats-submit@freebsd.org>; Fri, 27 Jun 2003 18:56:37 +0200 (CEST)
	(envelope-from root@devil.free-bsd.org)
Received: (from root@localhost)
	by devil.free-bsd.org (8.12.9/8.12.6/Submit) id h5RGubxE050688;
	Fri, 27 Jun 2003 18:56:37 +0200 (CEST)
Message-Id: <200306271656.h5RGubxE050688@devil.free-bsd.org>
Date: Fri, 27 Jun 2003 18:56:37 +0200 (CEST)
From: kai.mosebach@komadev.de
Reply-To: kai.mosebach@komadev.de
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: software hang	
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         53847
>Category:       kern
>Synopsis:       [libc] software hang (linuxthreads-related?)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jun 27 10:00:26 PDT 2003
>Closed-Date:    Sun Oct 03 14:45:13 GMT 2004
>Last-Modified:  Sun Oct 03 14:45:13 GMT 2004
>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@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@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:
State-Changed-From-To: open->feedback 
State-Changed-By: arved 
State-Changed-When: Fri Aug 27 16:17:16 GMT 2004 
State-Changed-Why:  
Is this the bug you mentioned on your webpage that only affects 5.1? 

Can we close this PR? 

http://www.freebsd.org/cgi/query-pr.cgi?pr=53847 
State-Changed-From-To: feedback->closed 
State-Changed-By: arved 
State-Changed-When: Sun Oct 3 14:45:03 GMT 2004 
State-Changed-Why:  
Feedback timeout (1 month) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=53847 
>Unformatted:
