How to import patch from jdk/jdk

Laurent Bourgès bourges.laurent at gmail.com
Wed Sep 18 07:44:37 UTC 2019


Hi,
Just a reminder, I need info how to go forward and become familiar with the
jdk8update process.

I will publish my 2 jdk8u patches on my cr.openjdk account and send a RFR
to jdk8u-dev.

I need a sponsor & reviewer.

Cheers,
Laurent

Le mer. 11 sept. 2019 à 09:27, Laurent Bourgès <bourges.laurent at gmail.com>
a écrit :

> 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