RFR(S): 8151291: $EXEC yields "unknown command" on Cygwin

Michael Haupt michael.haupt at oracle.com
Wed Mar 9 12:29:54 UTC 2016


the updated webrev is at http://cr.openjdk.java.net/~mhaupt/8151291/webrev.01/ - please review.

The issue is a bit deeper. The way the current working directory is initialised and subsequently handled was the root cause of the observed problems. Cygwin being a unixy environment somewhat forcefully inflicted on Windows, and Java assuming that the underlying platform is, after all, Windows and consequently using Windows path conventions did not coexist too well.

The gist of the fix is to unconditionally initialise $ENV.PWD to the Java property user.dir, which is always in a form that the underlying platform can understand.



> Am 08.03.2016 um 15:50 schrieb Michael Haupt <michael.haupt at oracle.com>:
> All,
> I revoke the RFR for the time being; there is another issue with invoking $EXEC from within a Cygwin directory that does not have a /cygdrive prefix (e.g., /home/...). This will require some deeper investigation.
> Once a solution is in place, I will post another RFR in this thread.
> Best,
> Michael
>> Am 08.03.2016 um 11:35 schrieb Michael Haupt <michael.haupt at oracle.com>:
>> Hi Srini,
>>> Am 07.03.2016 um 19:36 schrieb Srinivas Dama <srinivas.dama at oracle.com>:
>>> Few limitations with absolute paths.
>>> On cmd.exe:
>>> jjs -scripting
>>> $EXEC("D:\work\nashorn-dev\dev\build\windows-x86_64-normal-server-release\images\jdk\bin\java.exe") 
>> I assume you meant to say this fails - using double backslashes helps. :-)
>>> Good thing is on cygwin if we give mixed path like:
>>> $EXEC("D:/work/nashorn-dev/dev/build/windows-x86_64-normal-server-release/images/jdk/bin/java.exe"),it works.
>>> But $EXEC("/cygdrive/d/work/nashorn-dev/dev/build/windows-x86_64-normal-server-release/images/jdk/bin/java.exe") fails.
>> Yes, that's not right. I've addressed that. I need another round of reviews please: http://cr.openjdk.java.net/~mhaupt/8151291/webrev.00 (note that I accidentally deleted the previous webrev).
>> Thanks,
>> Michael


Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
Oracle Java Platform Group | LangTools Team | Nashorn
Oracle Deutschland B.V. & Co. KG | Schiffbauergasse 14 | 14467 Potsdam, Germany

ORACLE Deutschland B.V. & Co. KG | Hauptverwaltung: Riesstraße 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V. | Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Nederland, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher
 <http://www.oracle.com/commitment>	Oracle is committed to developing practices and products that help protect the environment

More information about the nashorn-dev mailing list