RFR: 8301302: Platform preferences API [v32]
Kevin Rushforth
kcr at openjdk.org
Wed Nov 29 21:32:52 UTC 2023
On Fri, 24 Nov 2023 19:26:05 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:
>> Please read [this document](https://gist.github.com/mstr2/9f46f92c98d3c86aa6a0b4224a9a6548) for an introduction to the Platform Preferences API, and how it interacts with the proposed style theme and stage appearance features.
>
> Michael Strauß has updated the pull request incrementally with two additional commits since the last revision:
>
> - typo
> - rename local variables
I'm doing some additional testing of this, and ran a full test run on Ubuntu 20.04, 22.04, and 16.04. On 16.04, 33 of the system tests crashed while exiting (it likely would have been more, but I excluded running robot tests for my initial test run on 16.04). The crashes are intermittent, running a smaller batch of tests a few times results in varying numbers of them crashing (but always a couple of them do).
The crash point was the same for all of them. It's crashing in the `PlatformSupport` destructor when deleting a JNI global reference. Here is a portion of one of the log files showing the crash:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f2920eda3e3, pid=8065, tid=8103
#
# JRE version: Java(TM) SE Runtime Environment (19.0.2+7) (build 19.0.2+7-44)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (19.0.2+7-44, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x5473e3] AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<548964ul, G1BarrierSet>, (AccessInternal::BarrierType)0, 548964ul>::oop_access_barrier(void*, oopDesc*)+0x53
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P" (or dumping to /localhome/kcr/javafx/jfx-tmp/jfx/rt/tests/system/core.8065)
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
...
Current thread (0x00007f2894193c00): JavaThread "JavaFX Application Thread" [_thread_in_vm, id=8103, stack(0x00007f2880000000,0x00007f2880101000)]
Stack: [0x00007f2880000000,0x00007f2880101000], sp=0x00007f28800feb30, free space=1018k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x5473e3] AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<548964ul, G1BarrierSet>, (AccessInternal::BarrierType)0, 548964ul>::oop_access_barrier(void*, oopDesc*)+0x53
V [libjvm.so+0x95100a] JNIHandles::destroy_global(_jobject*)+0x1a
V [libjvm.so+0x912853] jni_DeleteGlobalRef+0x63
C [libglassgtk3.so+0x1c801] PlatformSupport::~PlatformSupport()+0x31
C [libglassgtk3.so+0x183d4] Java_com_sun_glass_ui_gtk_GtkApplication__1terminateLoop+0x24
j com.sun.glass.ui.gtk.GtkApplication._terminateLoop()V+0 javafx.graphics at 22-internal
j com.sun.glass.ui.gtk.GtkApplication.finishTerminating()V+9 javafx.graphics at 22-internal
j com.sun.glass.ui.Application.terminate()V+82 javafx.graphics at 22-internal
j com.sun.javafx.tk.quantum.QuantumToolkit.lambda$exit$14()Ljava/lang/Object;+5 javafx.graphics at 22-internal
...
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1014#issuecomment-1832729157
More information about the openjfx-dev
mailing list