From owner-freebsd-emulation@FreeBSD.ORG Mon Nov 22 11:29:16 2010 Return-Path: Delivered-To: emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E985106564A; Mon, 22 Nov 2010 11:29:16 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from mail.ebusiness-leidinger.de (mail.ebusiness-leidinger.de [217.11.53.44]) by mx1.freebsd.org (Postfix) with ESMTP id B14478FC16; Mon, 22 Nov 2010 11:29:15 +0000 (UTC) Received: from outgoing.leidinger.net (p5B32EEA9.dip.t-dialin.net [91.50.238.169]) by mail.ebusiness-leidinger.de (Postfix) with ESMTPSA id 4FA50844012; Mon, 22 Nov 2010 12:11:57 +0100 (CET) Received: from webmail.leidinger.net (unknown [IPv6:fd73:10c7:2053:1::2:102]) by outgoing.leidinger.net (Postfix) with ESMTP id E974F24CF; Mon, 22 Nov 2010 12:11:51 +0100 (CET) Received: (from www@localhost) by webmail.leidinger.net (8.14.4/8.13.8/Submit) id oAMBBZuf027809; Mon, 22 Nov 2010 12:11:35 +0100 (CET) (envelope-from netchild@FreeBSD.org) Received: from pslux.ec.europa.eu (pslux.ec.europa.eu [158.169.9.14]) by webmail.leidinger.net (Horde Framework) with HTTP; Mon, 22 Nov 2010 12:11:34 +0100 Message-ID: <20101122121134.1202791p75lfy1og@webmail.leidinger.net> Date: Mon, 22 Nov 2010 12:11:34 +0100 From: Alexander Leidinger To: Kostik Belousov , rdivacky@FreeBSD.org References: <201011220907.oAM970To084256@svn.freebsd.org> <20101122093134.GU2392@deviant.kiev.zoral.com.ua> <20101122111306.16504je0tt7xe5us@webmail.leidinger.net> <20101122104232.GY2392@deviant.kiev.zoral.com.ua> In-Reply-To: <20101122104232.GY2392@deviant.kiev.zoral.com.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: 7bit User-Agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.4) X-EBL-MailScanner-Information: Please contact the ISP for more information X-EBL-MailScanner-ID: 4FA50844012.A8C7C X-EBL-MailScanner: Found to be clean X-EBL-MailScanner-SpamCheck: not spam, spamhaus-ZEN, SpamAssassin (not cached, score=2.028, required 6, autolearn=disabled, J_CHICKENPOX_52 0.60, RDNS_NONE 1.27, TW_MG 0.08, TW_SV 0.08) X-EBL-MailScanner-SpamScore: ss X-EBL-MailScanner-From: netchild@freebsd.org X-EBL-MailScanner-Watermark: 1291029120.1397@Dwu0Skvmq6NyuUlv22TqKg X-EBL-Spam-Status: No Cc: emulation@FreeBSD.org Subject: Re: svn commit: r215664 - in head/sys: compat/linux kern 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: Mon, 22 Nov 2010 11:29:16 -0000 Moving the thread to emulation@, adding Roman (please see at the end). Quoting Kostik Belousov (from Mon, 22 Nov 2010 12:42:32 +0200): > On Mon, Nov 22, 2010 at 11:13:06AM +0100, Alexander Leidinger wrote: >> Quoting Kostik Belousov (from Mon, 22 Nov 2010 >> 11:31:34 +0200): >> >> >On Mon, Nov 22, 2010 at 09:07:00AM +0000, Alexander Leidinger wrote: >> >>Author: netchild >> >>Date: Mon Nov 22 09:06:59 2010 >> >>New Revision: 215664 >> >>URL: http://svn.freebsd.org/changeset/base/215664 >> >> >> >>Log: >> >> By using the 32-bit Linux version of Sun's Java Development Kit 1.6 >> >> on FreeBSD (amd64), invocations of "javac" (or "java") eventually >> >> end with the output of "Killed" and exit code 137. >> >>+ >> >> if (child_clear_tid != NULL) { >> >> struct linux_sys_futex_args cup; >> >> int null = 0; >> >>@@ -257,6 +265,9 @@ linux_proc_exec(void *arg __unused, stru >> >> if (__predict_false(imgp->sysent == &elf_linux_sysvec >> >> && p->p_sysent != &elf_linux_sysvec)) >> >> linux_proc_init(FIRST_THREAD_IN_PROC(p), p->p_pid, 0); >> >>+ if (__predict_false(p->p_sysent == &elf_linux_sysvec)) >> >>+ /* Kill threads regardless of imgp->sysent value */ >> >>+ linux_kill_threads(FIRST_THREAD_IN_PROC(p), SIGKILL); >> >Regardless of this mostly cosmetic issue, this is racy. Other >> >linux thread in the same process might do an execve(3). >> >More, if execve(3) call fails, then you return into the process >> >that lacks all threads except the one that called execve(3). >> >> How critical is this in your opinion (relative to the issue this patch >> is fixing)? Do you prefer a backout or do you think the probability >> that the someone wins the race is low enough? >> >> Do you see a solution for the race? > I did not asked for backout, nor I am asking now. > > Most likely, the semantic of linux thread groups cannot be implemented > by only using event handlers that linux.ko hooks now. How linux handles > single-threading when doing execve(2) from multithreaded process ? Roman, can your memory help out here? Bye, Alexander. -- http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137 BOFH excuse #344: Network failure - call NBC