JDK-8347937 : Canvas pattern test fails and crashes on WebKit 620.1
  • Type: Bug
  • Component: javafx
  • Sub-Component: web
  • Affected Version: jfx25
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2025-01-16
  • Updated: 2025-09-03
  • Resolved: 2025-03-24
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
jfx24.0.1Fixed
Related Reports
Causes :  
Description
canvas pattern test fails on webkit gtk 2.46
Comments
Changeset: fd099a7f Branch: master Author: Jay Bhaskar <jbhaskar@openjdk.org> Date: 2025-03-24 09:03:07 +0000 URL: https://git.openjdk.org/jfx/commit/fd099a7f067c1694c1c12a8fa02b1e7eda51201f
24-03-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jfx24u/pull/16 Date: 2025-03-24 12:52:42 +0000
24-03-2025

[jfx24u-fix-request] Approval Request from Jay Bhaskar Important follow-on fix for canvas pattern issue
24-03-2025

I attached "canvas.html" which was taken from the failing CanvasTest unit test. That test fails to render on WebKit 620.1 (although, unlike the unit test, it doesn't crash).
21-03-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jfx/pull/1740 Date: 2025-03-21 08:17:39 +0000
21-03-2025

// This issue was already known and fixed in 619.1, // but we missed backporting it to 6201.1.
21-03-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jfx/pull/1734 Date: 2025-03-13 18:17:53 +0000
13-03-2025

The test revealed issue with JNI call, looks like platform image pointer is either invalid or the class doesn't implement `getSize` method since the JVM stopped at void `jniCheck::validate_call` ``` frame #4: 0x0000000101a36094 libjvm.dylib`checked_jni_CallObjectMethodV(env=0x0000000124a89cb0, obj=0x000000012310f9e8, methodID=0x00006000019abde8, args="\xa0\U00000012\U0000001ev\U00000001") at jniCheck.cpp:1012:1 [opt] frame #5: 0x000000033e88ea60 libjfxwebkit.dylib`JNIEnv_::CallObjectMethod(this=0x0000000124a89cb0, obj=0x000000012310f9e8, methodID=0x00006000019abde8) at jni.h:906:18 frame #6: 0x00000003426fcda0 libjfxwebkit.dylib`WebCore::PlatformImageNativeImageBackend::size(this=0x0000600000e12790) const at NativeImageJava.cpp:55:48 frame #7: 0x000000034258d76c libjfxwebkit.dylib`WebCore::NativeImage::size(this=0x00000001761c2c00) const at NativeImage.cpp:89:23 frame #8: 0x00000003425723c0 libjfxwebkit.dylib`WebCore::ImageFrame::ImageFrame(this=0x00000001761e1270, nativeImage=0x000000016fdf7090) at ImageFrame.cpp:40:29 frame #9: 0x0000000342572420 libjfxwebkit.dylib`WebCore::ImageFrame::ImageFrame(this=0x00000001761e1270, nativeImage=0x000000016fdf7090) at ImageFrame.cpp:39:1 frame #10: 0x00000003425a4d7c libjfxwebkit.dylib`WebCore::NativeImageSource::NativeImageSource(this=0x00000001761e1260, nativeImage=0x000000016fdf7090) at NativeImageSource.cpp:37:7 frame #11: 0x00000003425a4d24 libjfxwebkit.dylib`WebCore::NativeImageSource::NativeImageSource(this=0x00000001761e1260, nativeImage=0x000000016fdf7090) at NativeImageSource.cpp:38:1 frame #12: 0x00000003425a4cac libjfxwebkit.dylib`WebCore::NativeImageSource::create(nativeImage=0x000000016fdf7090) at NativeImageSource.cpp:33:26 frame #13: 0x00000003423a6f18 libjfxwebkit.dylib`WebCore::BitmapImage::BitmapImage(this=0x00000001761e1200, image=0x000000016fdf7090) at BitmapImage.cpp:67:16 frame #14: 0x00000003423a6b60 libjfxwebkit.dylib`WebCore::BitmapImage::BitmapImage(this=0x00000001761e1200, image=0x000000016fdf7090) at BitmapImage.cpp:68:1 frame #15: 0x00000003423a6bd0 libjfxwebkit.dylib`WebCore::BitmapImage::create(nativeImage=0x000000016fdf70e0) at BitmapImage.cpp:52:26 frame #16: 0x00000003416abcf0 libjfxwebkit.dylib`WebCore::HTMLCanvasElement::copiedImage(this=0x0000000321008640) const at HTMLCanvasElement.cpp:903:29 frame #17: 0x0000000341899e70 libjfxwebkit.dylib`WebCore::CanvasRenderingContext2DBase::createPattern(this=0x0000000321008b00, canvas=0x0000000321008640, repeatX=true, repeatY=true) at CanvasRenderingContext2DBase.cpp:2232:32 ```
12-03-2025

> Need to note, it is not just fail, it causes the crash of java process. The priority has to be raised. Yes, it is now raised to P2.
10-03-2025

Need to note, it is not just fail, it causes the crash of java process. The priority has to be raised.
10-03-2025