From owner-freebsd-emulation@FreeBSD.ORG Thu Dec 1 01:28:46 2005 Return-Path: X-Original-To: freebsd-emulation@freebsd.org Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9C7E216A41F; Thu, 1 Dec 2005 01:28:46 +0000 (GMT) (envelope-from mv@roq.com) Received: from vault.mel.jumbuck.com (ppp166-27.static.internode.on.net [150.101.166.27]) by mx1.FreeBSD.org (Postfix) with ESMTP id 10A9E43D46; Thu, 1 Dec 2005 01:28:45 +0000 (GMT) (envelope-from mv@roq.com) Received: from vault.mel.jumbuck.com (localhost [127.0.0.1]) by vault.mel.jumbuck.com (Postfix) with ESMTP id 469F18A00D; Thu, 1 Dec 2005 12:28:31 +1100 (EST) Received: from [192.168.46.52] (unknown [192.168.46.250]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by vault.mel.jumbuck.com (Postfix) with ESMTP id 2A1178A00A; Thu, 1 Dec 2005 12:28:31 +1100 (EST) Message-ID: <438E51CC.1090807@roq.com> Date: Thu, 01 Dec 2005 12:28:44 +1100 From: Michael Vince User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.7.12) Gecko/20051127 X-Accept-Language: en-us, en MIME-Version: 1.0 To: "Arno J. Klaassen" References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP Cc: amd64@freebsd.org, java@freebsd.org, freebsd-emulation@freebsd.org Subject: Re: quest for help on a linux emul problem (source unknown) X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Dec 2005 01:28:47 -0000 Which linux port are you using? I have had beta versions of OpenOffice2 for linux lock up my FreeBSD amd64 desktop, but once I started using OO2 release for linux the lockups went away. I also started using the Suse port. /usr/ports/emulators/linux_base-suse-9.2/ OVERRIDE_LINUX_BASE_PORT=suse-9.2 in make.conf Arno J. Klaassen wrote: >Hello, > > >I try to get a commercial linux32 package to work on amd64; >this package includes it's own binary distrib of some >linux-jdk1.3.1 and works OK on i386 (RELENG_5 and RELENG_6) but >hangs on amd64-RELENG_6 (though it did work on a couple >of months old amd64-RELENG-5, but I do not any longer have such >a box around ... ). > >I write this email in the hope someone can put me on the right >track to nail down this problem : > >when I do a ktrace on i386 I get : > > CALL mincore(0xbfbfc480,0) > RET mincore 0 > CALL #175(0,0,0xbfbfc2b4,0x8) > RET #175 0 > CALL #175(0x1,0xbfbfc3b8,0xbfbfc338,0x8) > RET #175 0 > CALL mincore(0xbfbfc290,0) > RET mincore 0 > CALL getdomainname(0xbfbfc288,0) > RET getdomainname 0 > >then some dozens of : > > CALL #175(0x2,0xbfbfc338,0,0x8) > RET #175 0 > CALL mincore(0xbfbfc480,0) > RET mincore 0 > CALL #175(0,0,0xbfbfc2b4,0x8) > RET #175 0 > CALL #175(0x1,0xbfbfc3b8,0xbfbfc338,0x8) > RET #175 0 > CALL mincore(0xbfbfc290,0) > RET mincore 0 > CALL getdomainname(0xbfbfc288,0) > RET getdomainname 0 > > >and finally : > > CALL #175(0x2,0xbfbfc338,0,0x8) > RET #175 0 > CALL write(0xb,0x83189e8,0x18) > GIO fd 11 wrote 24 bytes > > >On amd64-RELENG_6 it eternally loops in phase2 and never >reaches the 'finally'. > >Iff I understand correctly (far from sure!) and correct >for different syscall-numbers, I get : > >ask-for-initing-something { > gettimeofday() > sigprocmask(SIG_BLOCK,..) > sigprocmask(SIG_UNBLOCK,..) > gettimeofday() > nanosleep() >} > >while-not-OK { > sigprocmask(SIG_SETMASK,..) > gettimeofday() > sigprocmask(SIG_BLOCK,..) > sigprocmask(SIG_UNBLOCK,..) > gettimeofday() > nanosleep() >} > >OK! { > sigprocmask(SIG_SETMASK,..) > continue() >} > > >Since the program works OK in terminal mode, the problem >very probably is in the jdk-execution. I re-downloaded the >jdk13 sources and found that only at two places sigprocmask() is >called with SIG_UNBLOCK as argument, and one of them only >seems to serve the purpose of a work-around : > > * a workaround for the preemptive-close > * problem on Linux (bug #4344135); A thread currently waiting in > * a I/O operation will not wake up if one the file involved > * is actually closed (last close - the file is no longer accessible, > * but the thread is still waiting in the kernel). > >NB, this is a linux-jdk-1.3.0 problem, solved in linux-jdk-1.3.1, >so "an sich" not involved in my problem, but the idea of a thread >not waking up or signal not getting correctly delivered seems >plausible to my simple end-user mind. > >once again, if this kind of pseudo-code sounds familiar to someone, please >give me some hints which way to go to write a simple test-program >to pinpoint the problem. >Thank you very much for your time anyway. > >Regards, Arno > > > >