From owner-freebsd-java@freebsd.org Sat Mar 16 18:29:41 2019 Return-Path: Delivered-To: freebsd-java@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6541C153808E for ; Sat, 16 Mar 2019 18:29:41 +0000 (UTC) (envelope-from 1983-01-06@gmx.net) Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 432336EE32 for ; Sat, 16 Mar 2019 18:29:39 +0000 (UTC) (envelope-from 1983-01-06@gmx.net) Received: from [192.168.1.13] ([84.143.151.93]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0LoE4f-1gY7Ir2E1p-00gJPZ; Sat, 16 Mar 2019 19:29:24 +0100 Subject: Re: First possible bug in OpenJDK 11 port To: Greg Lewis Cc: freebsd-java@freebsd.org References: <4706926f-8eb6-c7c6-f982-5ca9c411d5f5@gmx.net> <20190316061434.GB65278@misty.eyesbeyond.com> From: Michael Osipov <1983-01-06@gmx.net> Message-ID: <5a4b0586-0e60-4c82-bb6f-d33ea39eaf2c@gmx.net> Date: Sat, 16 Mar 2019 19:29:20 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.5.3 MIME-Version: 1.0 In-Reply-To: <20190316061434.GB65278@misty.eyesbeyond.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:GCF5kM/dEcESW5zEIuOJK9ebMGw0vrhfpk1X1e9Zu7CvlSyIVsY 6sAkdgzU+8GhpW4L0xQCsmEKvNVD7/HNlZAP9A83ncz6DzFePS3OXb48+nB7eym+X2zBTf0 KzBFKc44L56NWh2cvuiYhMYT8+KhLYB5j5qj8wWYpjhphmLbI/kxkD179vAy+Sm8FkDzkMT gotjsLjwCMvky8YkqNGQQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:PsfOuK/AXE8=:5hHb+5FKxAfiy72PW2pfUi ofE8eicgsCIF9A/bYrBf7713GSTpT2bKxKi7A7DCFA5YF2G5A5NlwIS/aqcsb2GL1wM7hVgGY Ae5EUNvnsGmiHZsXvJcRgozCgYpgB3ovQjWcTSMrHlV40Wy7aU8XqzwiJ6xcdgCDwq5I+IK3n QIptI1Lg4DpyS5ClIpGEAtPgw3qOi8YcdxZdFJrk91VCKUDGjfHTWI56ymC2ZLr1aaFoKlQy5 SqoumnfLQsvElC5xQX4cgUlRSxDshJ/WTUhh7tzFzOfdZ/bFynL9ojQrnsnxbjX8685T3LJ/x QDXBKlcNxzmiH69NvxadaT1nYE6FIMFJ6XrumS07FiA4iX9sq6foABYlBzH1pm5vosqZIZkHo pDlknIFfUytEeCvLNRZp4K3RhrwQv+B2yTH409n3oOj35wg8TmnYhmgwezAUp5cn7jDAGPmme KKB3wIFRCa5ZrbwyuVuUWfmN36Cv7FjG3ArWtAinNXI31KKPW6T3gd4revRHGUbHIOeeOm30S 9n5AusopEgb1BQw5I1KjNfvt/RZ+22pH9GaKa2J3aZ5XnWwu9krCM+XgsRj9/dRk5Pt1d1jFm JK7PO5Ma+HNUkAXmR6Z/0Vc3CmrLZb/CbvAf2RyhDznQ5Yjdu6xnc2L/w8kC3UPYRVxA9+LOn BeBo+sUa+5rjtxFmMAGcbTIJKKYHu+a3a5tKNxpRJwjev6hZZGR0SkR1qYMibAoRJO4NqO9y7 TeLqrWB6k9Q1QZAKsx+E+K7OFBTS1wLVybyV94IVHyZwDpF6ShQSMrwC5EhttqGY1Mik89YfJ HNrpz/THj4HobBCQi9NOJV80XOOlAMdqOGss2mgL6MvfVngCcKgGcmkMMmznD+XlQ5UKrv+vu h5GTRJztdee51P0UUD402B0H33aq8HjsOtwsw4U0s3+O+JTnfPw/mLux40Bg3VVI60rLQTlOy af9QZX+UtZg== X-Rspamd-Queue-Id: 432336EE32 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of 1983-01-06@gmx.net designates 212.227.15.15 as permitted sender) smtp.mailfrom=1983-01-06@gmx.net X-Spamd-Result: default: False [-4.44 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:212.227.15.0/25]; FREEMAIL_FROM(0.00)[gmx.net]; MIME_GOOD(-0.10)[text/plain]; MIME_TRACE(0.00)[0:+]; DMARC_NA(0.00)[gmx.net]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: mx00.emig.gmx.net]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.94)[-0.935,0]; IP_SCORE(-1.09)[ip: (-6.01), ipnet: 212.227.0.0/16(-1.15), asn: 8560(1.71), country: DE(-0.01)]; RCVD_IN_DNSWL_LOW(-0.10)[15.15.227.212.list.dnswl.org : 127.0.3.1]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmx.net]; ASN(0.00)[asn:8560, ipnet:212.227.0.0/16, country:DE]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; FROM_EQ_ENVFROM(0.00)[] X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2019 18:29:41 -0000 Am 2019-03-16 um 07:14 schrieb Greg Lewis: > On Sat, Mar 16, 2019 at 12:20:27AM +0100, Michael Osipov wrote: >> Folks, >> >> here is a stripped down example from an issue with the new port: >> >>> $ cat ../src/exec/Test.java >>> package exec; >>> >>> import java.io.IOException; >>> >>> public class Test { >>> >>> public static void main(String[] args) throws IOException, InterruptedException { >>> ProcessBuilder builder = new ProcessBuilder("/bin/sh", "-c", "cd && env"); >>> builder.inheritIO(); >>> Process p = builder.start(); >>> System.out.println("exit code: " + p.waitFor()); >>> } >>> >>> } >> >> Fails: >>> osipovmi@deblndw011x:~/exec/bin >>> $ /usr/local/openjdk11/bin/java exec.Test >>> Exception in thread "main" java.io.IOException: Cannot run program "/bin/sh": error=13, Permission denied >>> at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128) >>> at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071) >>> at exec.Test.main(Test.java:12) >>> Caused by: java.io.IOException: error=13, Permission denied >>> at java.base/java.lang.ProcessImpl.forkAndExec(Native Method) >>> at java.base/java.lang.ProcessImpl.(ProcessImpl.java:341) >>> at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:272) >>> at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107) >>> ... 2 more >> >> >> as well as >>> osipovmi@deblndw011x:~/exec/bin >>> $ /usr/local/bootstrap-openjdk11/bin/java exec.Test >>> Exception in thread "main" java.io.IOException: Cannot run program "/bin/sh": error=13, Permission denied >>> at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128) >>> at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071) >>> at exec.Test.main(Test.java:12) >>> Caused by: java.io.IOException: error=13, Permission denied >>> at java.base/java.lang.ProcessImpl.forkAndExec(Native Method) >>> at java.base/java.lang.ProcessImpl.(ProcessImpl.java:341) >>> at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:272) >>> at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107) >>> ... 2 more >> >> and >> >>> osipovmi@deblndw011x:~/exec/bin >>> $ /usr/local/bootstrap-openjdk8/bin/java exec.Test >>> Exception in thread "main" java.io.IOException: Cannot run program "/bin/sh": error=13, Permission denied >>> at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) >>> at exec.Test.main(Test.java:12) >>> Caused by: java.io.IOException: error=13, Permission denied >>> at java.lang.UNIXProcess.forkAndExec(Native Method) >>> at java.lang.UNIXProcess.(UNIXProcess.java:251) >>> at java.lang.ProcessImpl.start(ProcessImpl.java:134) >>> at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) >>> ... 1 more >> >> but successfully runs with: >> >>> osipovmi@deblndw011x:~/exec/bin >>> $ /usr/local/openjdk8/bin/java exec.Test >>> SSH_CLIENT=147.54.65.49 55876 22 >>> LOGNAME=osipovmi >>> LSCOLORS=ExGxFxdxCxDxDxhbadExEx >>> HTTP_PROXY=http://194.145.60.1:9400 >>> LANG=de_DE.UTF-8 >>> JAVA_HOME=/usr/local/openjdk11 >>> NO_PROXY=localhost .siemens.net .siemens.com .siemens.de >>> CLICOLOR=YES >>> MAIL=/var/mail/osipovmi >>> NCURSES_NO_UTF8_ACS=1 >>> PATH=/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin >>> EDITOR=vim >>> OLDPWD=/net/home/osipovmi/exec/bin >>> DISPLAY=localhost:10.0 >>> PWD=/net/home/osipovmi >>> _=/usr/local/openjdk8/bin/java >>> TERM=xterm >>> SSH_TTY=/dev/pts/0 >>> USER=osipovmi >>> HOME=/net/home/osipovmi >>> SSH_CONNECTION=147.54.65.49 55876 147.54.64.17 22 >>> PS1=\[\033[1;32m\]\u@\h\[\033[0m\]:\[\033[1;34m\]\w\[\033[0m\]\n$ >>> SHELL=/bin/sh >>> MM_CHARSET=UTF-8 >>> HTTPS_PROXY=http://194.145.60.1:9400 >>> BLOCKSIZE=K >>> FTP_PROXY=http://194.145.60.1:9400 >>> SHLVL=1 >>> exit code: 0 >> >> What is causing this issue? >> >> For those who'd like to reproduce the bug: Clone Maven GitHub, try to to >> build from master and see the Maven Surefire Plugin failing when it >> tried to launch the Surefire Booter. >> >> Java 8 Update 202, Java 11 newest from ports. OS is >>> FreeBSD deblndw011x.ad001.siemens.net 12.0-STABLE FreeBSD 12.0-STABLE r344655 DEBLNDW011X amd64 > > I can reproduce this with the current port in the FreeBSD ports tree. > > It is better behaved with the current code in Github since there has been > some work done on process handling. With that code the command executes, > but afterwards it throws an exception: > > Exception in thread "main" java.lang.RuntimeException: No such process > at java.base/java.lang.ProcessHandleImpl.isAlive0(Native Method) > at java.base/java.lang.ProcessHandleImpl.getInternal(ProcessHandleImpl.java:250) > at java.base/java.lang.ProcessImpl.(ProcessImpl.java:349) > at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:272) > at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107) > at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071) > at TestExec.main(TestExec.java:9) > > So there is still some work to do there. The relevant commit to the github > repo is likely this one: > > https://github.com/battleblow/openjdk-jdk11u/commit/4cfeb8650f3f90119aa1e52020ac6ad6620a34ff > > This probably means there are still some problems with the > os_getParentPidAndTimings code given that is what isAlive0 is calling > (look at ProcessHandleImpl_unix.c). Hi Greg, that for the confirmation. Looks like a showstopper for a developer like me. Even my webapps won't run because they rely on ProcessBuilder. Is there anything I can help to get this fixed? That type of C code is, unfortunately, out of my knowledge. I want to verify your (and others) great work against all Maven subprojects as well as CodeHaus to find subtile bugsin the port. Michael