From owner-freebsd-hackers@FreeBSD.ORG Sun Jul 13 16:44:28 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BD01737B404; Sun, 13 Jul 2003 16:44:28 -0700 (PDT) Received: from dust.freshx.de (freshx.de [80.190.100.215]) by mx1.FreeBSD.org (Postfix) with ESMTP id ABA0443F85; Sun, 13 Jul 2003 16:44:27 -0700 (PDT) (envelope-from kai.mosebach@freshx.de) Received: from alpha (p508B3231.dip.t-dialin.net [80.139.50.49]) by dust.freshx.de (Postfix) with ESMTP id E008015E0C9; Mon, 14 Jul 2003 01:44:14 +0200 (CEST) From: "Kai Mosebach" To: Date: Mon, 14 Jul 2003 01:44:29 +0200 Message-ID: <005d01c34998$b4c6a600$0100000a@alpha> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.4024 Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 cc: freebsd-hackers@freebsd.org cc: freebsd-current@freebsd.org Subject: geteuid hangs in sigsuspend X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Jul 2003 23:44:29 -0000 Hi, when i update from 5.0-REL to 5.1-REL / 5.1-CURRENT, using a program compiled against linuxthreads, might there be a different behaviour in the geteuid function of libc ? on my sapdb port the database manager called dbmcli starts fine on 5.0-REL, on 5.1-REL/CURRENT it hangs on a sigsuspend. When i use the FreeBSD 5.0 libs on my FreeBSD 5.1 system, the program runs fine ! Could someone help ? 5.1-CURRENT is from 2003-July-10 Best regards Kai ---------------------------------------------------------- The program output looks like this : [root@devil:/usr/sapdb/src/FreeBSD/sys/src] # dbmcli HERE 1 HERE 3 canceladdr 0x00000000 component 'dbmcli' DBLANG=(null) SERVERDB=(null) HERE 3 ---------------------------------------------------- The code looks like this : #ifdef FREEBSD_DEBUG printf("HERE 3\n"); // 1st one #endif en01assignStdFiledescriptors(); en01CheckForDBUmask (); eo46PtoC ( sql01_component , component , COMPSIZ ); DBG1 (( MF__,"canceladdr 0x%08lx component '%s' \n", (long) canceladdr , sql01_component )) sql01_dblang = getenv ( "DBLOCALE" ); if ( sql01_dblang == NULL ) sql01_dblang = getenv ( "DBLANG" ); DBG1 (( MF__,"DBLANG=%s\n", sql01_dblang )) sql01_dbname = getenv ( "SERVERDB" ); DBG1 (( MF__,"SERVERDB=%s\n", sql01_dbname )) #ifdef FREEBSD_DEBUG printf("HERE 3\n"); // 2nd one #endif uid = geteuid (); pwdp = getpwuid ( uid ); #ifdef FREEBSD_DEBUG printf("HERE 3\n"); // 3rd one (not appearing) #endif ------------------------------------------ strace looks like this : [root@devil:/usr/sapdb/src/FreeBSD/sys/src] # strace dbmcli execve(0xbfbff108, [0xbfbff5cc], [/* 0 vars */]) = 0 mmap(0, 3392, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0) = 0x281a6000 munmap(0x281a6000, 3392) = 0 __sysctl([...], 0x281a3e68, 0xbfbff39c, NULL, 0) = 0 mmap(0, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0x281a6000 issetugid(0x28185000) = 0 access("/usr/sapdb/depend/lib/libcrypt.so.2", F_OK) = -1 ENOENT (No such file or directory) open("/var/run/ld-elf.so.hints", O_RDONLY) = 3 read(3, "\305q\376\377\271q\376\377.p\376\377