How to import patch from jdk/jdk
Laurent Bourgès
bourges.laurent at gmail.com
Wed Sep 11 07:27:55 UTC 2019
Hi Andrews,
I successfull imported 2 patches fixing the PNGImageWriter...
Your instructions were precious but I give you my feedback as it could
improve the wiki / process / howto:
- I cloned jdk8u-dev, jdk9/jdk to find my original by changeset id as the
unshuffle-script needs git diff format only
- my first attempt did not apply cleanly (hg import 8-fixed-patch) as
PNGImageWriter was changed by another jdk9 fix
- I used the hg web interface to easily read the file history... it is
painful as jdk9u does not have the complete history... only jdk9/jdk has
the complete changeset log.
http://hg.openjdk.java.net/jdk9/jdk9/jdk/log/65464a307408/src/java.desktop/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java
2015-12-16 prr 6488522: PNG writer should permit setting compression level
and iDAT chunk maximum size
<http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/6648f64ba30a>
2015-12-01 jdv 6967419: IndexOutOfBoundsException when drawing PNGs
<http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/644e1d66e301>
- I rollbacked my first attempt, extracted the 2 patches from jdk9(hg
export --git changeset-id > file), fixed them (unshuffle-script from jdk9u)
and applied the 2 jdk8-fixed patches in order and it applied well.
I made a clean build (jdk8u-dev/ make images) and ran manually my tests:
imageio & png only.
The jdk-updates says I must run tier1 tests but the command 'make run-tests
tier1' does not work... Anyway these patches only affect javax/imageio ...
Which jtreg build should I use with jdk8u ? My recent jtreg binaries fails
to parse jdk8 version string !
Where can I download it ?
What is the process now to propose these 2 png patches for jdk8u
integration ?
I can just put the jdk8u-fix-request label on these 2 bugs, but is it
enough ?
I also need a jdk8u sponsor, as I am not a committer on 8 but >= 9...
I can start a RFR thread on this png encoder topic:
The jdk9 fix changes the default deflater level 9 to 4 to reduce the cpu
overhead and improve png encoding performance: see original RFR thread
https://bugs.openjdk.java.net/browse/JDK-6488522
"
I quickly tested several Deflater compression levels [0 to 9] on some huge
map images:
* total size:
* level 1: 49.9 Mb
* level 3: 46.9 Mb
* level 4: 40.7 Mb
* level 9: 37 Mb
* write PNG time (most complex image) :
* level 1: 8211 ms
* level 3: 7793 ms
* level 4: 9450 ms
* level 9: 23562 ms
I would choose by default the level 4 to have the best compromise between
speed vs time.
"
Do you agree or not as it will change the jdk8 behaviour ?
Thanks,
Laurent
Le mer. 21 août 2019 à 18:08, Andrew John Hughes <gnu.andrew at redhat.com> a
écrit :
>
>
> On 12/08/2019 09:05, Severin Gehwolf wrote:
> > Hi,
> >
> > On Sat, 2019-08-10 at 16:58 +0200, Laurent Bourgès wrote:
> >> Ok,
> >> I will use sed on the patch file to fix paths, then I will import it. I
> >> thought such sed script already exist or mercurial or linux patch
> command
> >> already manage that.
> >
> > You could try common/bin/unshuffle_patch.sh from JDK 9[1].
> >
> > Thanks,
> > Severin
> >
> > [1]
> http://hg.openjdk.java.net/jdk-updates/jdk9u/file/1b1226687b89/common/bin/unshuffle_patch.sh
> >
>
> If the patch was committed to jdk/jdk or jdk-updates/jdk11 (as opposed
> to being an older jdk9 patch), it usually needs both the jdk11 script
> [0] (to move the files back into their subrepos, jdk11->jdk9) and the
> jdk9 script [1] (to get rid of the modules, jdk9->jdk8). Both scripts
> need data files from the same directory, so checking out the repos is
> probably the easiest option.
>
> All this file movement is a major PITA.
>
> [0]
>
> https://hg.openjdk.java.net/jdk-updates/jdk11u/file/tip/bin/unshuffle_patch.sh
> [1]
>
> https://hg.openjdk.java.net/jdk-updates/jdk9u/file/tip/common/bin/unshuffle_patch.sh
>
> --
> Andrew :)
>
> Senior Free Java Software Engineer
> Red Hat, Inc. (http://www.redhat.com)
>
> PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net)
> Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222
> https://keybase.io/gnu_andrew
>
>
More information about the jdk8u-dev
mailing list