On 25/11/2019 7:49 am, David Holmes wrote:
On 25/11/2019 7:33 am, David Holmes wrote:
Hi Christoph,

On 23/11/2019 12:04 am, Langer, Christoph wrote:
Hi,

I'd like to push this change. However, running it through jdk-submit shows reproducible errors:

Job: mach5-one-clanger-JDK-8234185-1-20191122-0927-6913189
BuildId: 2019-11-22-0926373.christoph.langer.source
No failed tests
Tasks Summary
•    NA: 0
•    NOTHING_TO_RUN: 0
•    KILLED: 0
•    PASSED: 76
•    UNABLE_TO_RUN: 0
•    EXECUTED_WITH_FAILURE: 1
•    FAILED: 0
•    HARNESS_ERROR: 0
Build
1 Executed with failure
o    windows-x64-install-windows-x64-build-19 error while building, return value: 2


Job: mach5-one-clanger-JDK-8234185-20191121-2313-6898791
BuildId: 2019-11-21-2311357.christoph.langer.source
No failed tests
Tasks Summary
•    NA: 0
•    NOTHING_TO_RUN: 0
•    KILLED: 0
•    PASSED: 76
•    UNABLE_TO_RUN: 0
•    EXECUTED_WITH_FAILURE: 1
•    FAILED: 0
•    HARNESS_ERROR: 0
Build
1 Executed with failure
o    windows-x64-install-windows-x64-build-19 error while building, return value: 2


David already had a look and let me know that the following was the reason:

t:/workspace/open/src/java.base/windows/native/libjava/canonicalize_md.c(41): fatal error C1083: Cannot open include file: 'jdk_util.h': No such file or directory

This is not explainable to me as I see this running through my local build and our nightly builds without problems. I also can't explain jdk_util.h can't be opened at this place - it should be there and part of the include directories...

I'd appreciate any help...

I just dug a little deeper and this is failing in part of our closed build for the install repo. There is a library there that is using canonicalize_md.c directly - i.e. it adds that file to its source files list. The build instructions don't include that directory on the include directory list - hence the failure. But it will also fail due to the name change you made.

Actually it appears that the other source code doesn't actually refer to the canonicalize function at all, so a simple fix may be possible at the build level on our side. I'm testing that now.

It isn't the canonicalize function that is used, it is getPrefixed, which has now been moved to the io_util_md.c file. So a fix will be a bit more involved.

David


David
-----

Someone will need to work with you to make the necessary changes to our code.

David

Thanks
Christoph


-----Original Message-----
From: Langer, Christoph
Sent: Donnerstag, 21. November 2019 14:19
To: Alan Bateman <alan.bate...@oracle.com>; core-libs-
d...@openjdk.java.net; hotspot-runtime-...@openjdk.java.net
Subject: RE: RFR: 8234185: Cleanup usage of canonicalize function between
libjava, hotspot and libinstrument

Hi Alan,

thanks for the review. I'll push it then after running through jdk-submit.

/Christoph

-----Original Message-----
From: Alan Bateman <alan.bate...@oracle.com>
Sent: Donnerstag, 21. November 2019 09:51
To: Langer, Christoph <christoph.lan...@sap.com>; core-libs-
d...@openjdk.java.net; hotspot-runtime-...@openjdk.java.net
Subject: Re: RFR: 8234185: Cleanup usage of canonicalize function between
libjava, hotspot and libinstrument

On 14/11/2019 15:37, Langer, Christoph wrote:
Hi,

please review this cleanup change regarding function "canonicalize" of
libjava.

Bug: https://bugs.openjdk.java.net/browse/JDK-8234185
Webrev: http://cr.openjdk.java.net/~clanger/webrevs/8234185.0/


The goal is to cleanup how this function is defined and used. One thing is,
that there was an unnecessary wrapper function "Canonicalize" in jni_util.c.
It wrapped the call to "canonicalize". We can get rid of this wrapper.
Unfortunately, it is not possible to just export "canonicalize" since this will conflict with a method signature from the math library, at least on modern Linuxes. So I decided to call the method JDK_Canonicalize and will correctly
define it in jdk_util.h which can be included everywhere.

I think this change is okay. My main concern when initially seeing this
go by was that it would leak the \\?\ or \\?\UNC\ prefix into the
canonical File when it wasn't there previously, this would of course
have several implications. But I think you have it right and this is, as
you position, just refactoring/cleanup.

-Alan

Reply via email to