回复: [8u]RFR: 8263061: copy wrong unpack200.diz to bin directory on linux after 8252395(Internet mail)
kalinshi(施慧)
kalinshi at tencent.com
Fri Mar 5 11:00:15 UTC 2021
Thanks Severin!
< Are you trying to fix tools/launcher/VersionCheck.java test or something else? I've reproduced that test failure with external debuginfo since the test tries to execute *every* file in $JAVA_HOME/bin (including *.debuginfo files). If you are trying to fix that problem, I'd suggest to filter debuginfo files out like was done as part of JDK-8237192 for JDK 11. We'd also have to include *.diz files from being excluded from the test. Those files are zipped version s of the *.debuginfo files. It looks like JDK 11 all the way to JDK 17 would try to run *.diz files as well?
tools/launcher/VersionCheck.java tries to execute *every* EXECUTABLE file in $JAVA_HOME/bin.
It fails due to unpack200.diz is executable before fix, because install command is "cp build/linux-x86_64-normal-server-release/jdk/objs/unpackexe/unpack200 build/linux-x86_64-normal-server-release/jdk/bin/unpack200.diz".
It copies wrong source file, make unpack200.diz is a side effect.
This fix is making it copy correct debug info file.
"cp build/linux-x86_64-normal-server-release/jdk/objs/unpackexe/unpack200.diz build/linux-x86_64-normal-server-release/jdk/bin/unpack200.diz".
Regards
Hui
-----邮件原件-----
发件人: Severin Gehwolf <sgehwolf at redhat.com>
发送时间: 2021年3月5日 18:37
收件人: kalinshi(施慧) <kalinshi at tencent.com>; jdk8u-dev at openjdk.java.net
主题: Re: [8u]RFR: 8263061: copy wrong unpack200.diz to bin directory on linux after 8252395(Internet mail)
On Fri, 2021-03-05 at 07:35 +0000, kalinshi(施慧) wrote:
> Hi,
>
> Please help review this fix.
> After 8252395, unpack200 executable is wrongly copied to bin directory
> as unpack200.diz when configure with debuginfo.
>
> Makefile sets same prerequisite for unpack200 executable and debuginfo
> file. install-file function always copies first prerequisite, which is
> executable.
> Fix is use debuginfo file as first prerequisite and copy it.
>
> webrev: http://cr.openjdk.java.net/~hshi/8263061/webrev1/
> bug: https://bugs.openjdk.java.net/browse/JDK-8263061
I've stared at this bug for a bit, but I'm not sure what you are trying to solve.
$ find build/linux-x86_64-normal-server-release/images/j2sdk-image/ | grep unpack
build/linux-x86_64-normal-server-release/images/j2sdk-image/man/ja_JP.UTF-8/man1/unpack200.1
build/linux-x86_64-normal-server-release/images/j2sdk-image/man/man1/unpack200.1
build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/unpack200.debuginfo
build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/unpack200
build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/bin/unpack200.debuginfo
build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/bin/unpack200
build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/amd64/libunpack.so
build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/amd64/libunpack.debuginfo
$ build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/unpack200 -J-version -h
Usage: unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar
Unpacking Options
-H{h}, --deflate-hint={h} override transmitted deflate hint: true, false, or keep (default)
-r, --remove-pack-file remove input file after unpacking
-v, --verbose increase program verbosity
-q, --quiet set verbosity to lowest level
-l{F}, --log-file={F} output to the given log file, or '-' for standard output (default)
-?, -h, --help print this message
-V, --version print program version
-J{X} Java VM argument (ignored)
$ build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/unpack200 --version
unpack200 version 1.30, 07/05/05
$ build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/bin/unpack200 --version
unpack200 version 1.30, 07/05/05
Are you trying to fix tools/launcher/VersionCheck.java test or something else? I've reproduced that test failure with external debuginfo since the test tries to execute *every* file in $JAVA_HOME/bin (including *.debuginfo files). If you are trying to fix that problem, I'd suggest to filter debuginfo files out like was done as part of JDK-8237192 for JDK 11. We'd also have to include *.diz files from being excluded from the test. Those files are zipped version s of the *.debuginfo files. It looks like JDK 11 all the way to JDK 17 would try to run *.diz files as well?
Thanks,
Severin
More information about the jdk8u-dev
mailing list