On Fri, 16 Oct 2020 21:54:56 GMT, Andrii Rodionov 
<github.com+1538227+arodio...@openjdk.org> wrote:

>>> Actually, we have found this issue during JCK tests execution that was 
>>> built as a native image. The fix criteria are
>>> the successful tests run.
>> 
>> But what exact steps should be done to reproduce this bug w/o using jck or 
>> any external tools? Something like:
>>  - Clone JDK
>>  - Build JDK using some specific options.
>>  - Create some small test case
>>  - Somehow create the native image
>>  - Run the app -> boom -> bug is reproduced
>
> Yes, I understand what you mean.
> Unfortunately, I don't know a straightforward way.
> Maybe the easiest way to reproduce an error and validate the fix is to 
> download the future version of GraalVM with
> AWT/Swing support (hope it will be at the end of October), replace `libawt.a` 
> to its unpatched library version and then
> build a native image based on the following code:
>         float[] data = new float[]{0.0f, 1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f, 
> 7.7f, 8.8f};
>         Kernel kernel = new Kernel(3, 3, data);
>         ConvolveOp op = new ConvolveOp(kernel);
> 
>         BufferedImage src = new BufferedImage(10, 10, 
> BufferedImage.TYPE_INT_ARGB);
>         BufferedImage dest = new BufferedImage(10, 10, 
> BufferedImage.TYPE_INT_ARGB);
> 
>         op.filter(src, dest);
> The built image run should throw "Unable to convolve src image" 
> ImagingOpException exception.

In general, the 2 following points should be changed and tested in the static 
libraries:
- rename conflicting/duplicate symbols in libraries that are linked together
- have a workaround for the functionality implemented via dlopen/dlsym

-------------

PR: https://git.openjdk.java.net/jdk/pull/562

Reply via email to