<div dir="ltr">Hi,<br><br>In March 2022 we were experiencing some random crashes after upgrading to JavaFX 18 (see [1]). In the end it didn't have to do with JavaFX but with Java HotSpot.<br>I created a bug report [2] which was later closed as a duplicate of JDK-8275610 (see [3]).<br><br>By now (Java18) it should be fixed.<br>Note: I cannot confirm this, since we are still stuck with Java17.<br><br>Which Java version are you using?<br>Maybe upgrading helps and the issue is related.<br><br>IF you need to stick with Java17 (not sure if it gets backported or how I can check this) you may want to try disabling C2 optimization.<br><br>-XX:+TieredCompilation       (enable C1)<br>-XX:TieredStopAtLevel=1     (disable C2)<br><br>I hope this helps,<br><br>-- Daniel<br><br>[1] <a href="https://mail.openjdk.org/pipermail/openjfx-dev/2022-March/033831.html">https://mail.openjdk.org/pipermail/openjfx-dev/2022-March/033831.html</a><br>[2] <a href="https://bugs.openjdk.org/browse/JDK-8283386">https://bugs.openjdk.org/browse/JDK-8283386</a><br>[3] <a href="https://bugs.openjdk.org/browse/JDK-8275610">https://bugs.openjdk.org/browse/JDK-8275610</a></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 14, 2022 at 10:58 PM Kevin Rushforth <<a href="mailto:kevin.rushforth@oracle.com">kevin.rushforth@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">That looks like a HotSpot crash. Have you tried running with JDK 18 or <br>
JDK 19 (which is in RC)?<br>
<br>
-- Kevin<br>
<br>
On 9/14/2022 1:38 PM, Thiago Milczarek Sayão wrote:<br>
> Hi,<br>
><br>
> Anybody experiencing crashes with javafx 19-ea+11?<br>
><br>
> I have replaced it with javafx 19 final to test.<br>
><br>
> By the look of the log, it has something to do with the garbage <br>
> collector and MenuButtonSkinBase .<br>
><br>
> I have suppressed some parts.<br>
><br>
> # A fatal error has been detected by the Java Runtime Environment:<br>
> #<br>
> #  SIGSEGV (0xb) at pc=0x00007f4547fbd31f, pid=133481, tid=133520<br>
> #<br>
> # JRE version: OpenJDK Runtime Environment (17.0.4+8) (build <br>
> 17.0.4+8-Ubuntu-120.04)<br>
> # Java VM: OpenJDK 64-Bit Server VM (17.0.4+8-Ubuntu-120.04, mixed <br>
> mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)<br>
> # Problematic frame:<br>
> # V  [libjvm.so+0x59931f] <br>
>  ClassLoaderData::ChunkedHandleList::oops_do(OopClosure*)+0x5f<br>
><br>
> ---------------  S U M M A R Y ------------<br>
><br>
> Command Line: -Xmx350m -Xms135m -Djava.net.preferIPv4Stack=true <br>
> -Dsun.awt.disablegrab=true <br>
> --add-modules=javafx.controls,javafx.fxml,javafx.web,javafx.swing,javafx.media <br>
> fl.jar<br>
><br>
> Host: Intel(R) Core(TM) i3-10100 CPU @ 3.60GHz, 8 cores, 7G, Ubuntu <br>
> 20.04.4 LTS<br>
> Time: Wed Sep 14 17:18:28 2022 -03 elapsed time: 47.851666 seconds (0d <br>
> 0h 0m 47s)<br>
><br>
> ---------------  T H R E A D  ---------------<br>
><br>
> Current thread (0x00007f450c00d690):  GCTaskThread "GC Thread#6" <br>
> [stack: 0x00007f44b1bc7000,0x00007f44b1cc7000] [id=133520]<br>
><br>
> Stack: [0x00007f44b1bc7000,0x00007f44b1cc7000], <br>
>  sp=0x00007f44b1cc5ac0,  free space=1018k<br>
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, <br>
> C=native code)<br>
> V  [libjvm.so+0x59931f] <br>
>  ClassLoaderData::ChunkedHandleList::oops_do(OopClosure*)+0x5f<br>
> V  [libjvm.so+0x7476ad]  G1CLDScanClosure::do_cld(ClassLoaderData*)+0x3d<br>
> V  [libjvm.so+0x59e351] <br>
>  ClassLoaderDataGraph::roots_cld_do(CLDClosure*, CLDClosure*)+0x41<br>
> V  [libjvm.so+0x76f1bc] <br>
>  G1RootProcessor::process_java_roots(G1RootClosures*, G1GCPhaseTimes*, <br>
> unsigned int)+0xcc<br>
> V  [libjvm.so+0x76f835] <br>
>  G1RootProcessor::evacuate_roots(G1ParScanThreadState*, unsigned int)+0x65<br>
> V  [libjvm.so+0x705b16] <br>
>  G1EvacuateRegionsTask::scan_roots(G1ParScanThreadState*, unsigned <br>
> int)+0x26<br>
> V  [libjvm.so+0x7062b7]  G1EvacuateRegionsBaseTask::work(unsigned <br>
> int)+0x87<br>
> V  [libjvm.so+0xf8e907]  GangWorker::loop()+0x67<br>
> V  [libjvm.so+0xf8e963]<br>
> V  [libjvm.so+0xedbe42]  Thread::call_run()+0xe2<br>
> V  [libjvm.so+0xc324f9]  thread_native_entry(Thread*)+0xe9<br>
><br>
><br>
> RAX=0x000000000000007a is an unknown value<br>
> RBX=0x00007f44a53f26f8 points into unknown readable memory: <br>
> 0x0000000000000001 | 01 00 00 00 00 00 00 00<br>
> RCX=0x0000000000000014 is an unknown value<br>
> RDX=0x00000000000031e6 is an unknown value<br>
> RSP=0x00007f44b1cc5ac0 points into unknown readable memory: <br>
> 0x00007f4488003ac8 | c8 3a 00 88 44 7f 00 00<br>
> RBP=0x00007f44b1cc5ae0 points into unknown readable memory: <br>
> 0x00007f44b1cc5b20 | 20 5b cc b1 44 7f 00 00<br>
> RSI=0x00000000f6110495 is pointing into object: java.lang.Class<br>
> {0x00000000f6110468} - klass: 'java/lang/Class'<br>
>  - ---- fields (total size 14 words):<br>
>  - private volatile transient 'classRedefinedCount' 'I' @12  0<br>
>  - private volatile transient 'cachedConstructor' <br>
> 'Ljava/lang/reflect/Constructor;' @40  NULL (0)<br>
>  - private transient 'name' 'Ljava/lang/String;' @44 <br>
>  "javafx.scene.control.skin.MenuButtonSkinBase$$Lambda$2420/0x0000000100ff7248"{0x00000000f4078820} <br>
> (f4078820)<br>
>  - private transient 'module' 'Ljava/lang/Module;' @48  a <br>
> 'java/lang/Module'{0x00000000ea298020} (ea298020)<br>
>  - private final 'classLoader' 'Ljava/lang/ClassLoader;' @52  a <br>
> 'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x00000000ea975708} <br>
> (ea975708)<br>
>  - private transient 'classData' 'Ljava/lang/Object;' @56  NULL (0)<br>
>  - private transient 'packageName' 'Ljava/lang/String;' @60 <br>
>  "javafx.scene.control.skin"{0x00000000ea279b50} (ea279b50)<br>
>  - private final 'componentType' 'Ljava/lang/Class;' @64  NULL (0)<br>
>  - private volatile transient 'reflectionData' <br>
> 'Ljava/lang/ref/SoftReference;' @68  NULL (0)<br>
>  - private volatile transient 'genericInfo' <br>
> 'Lsun/reflect/generics/repository/ClassRepository;' @72  NULL (0)<br>
>  - private volatile transient 'enumConstants' '[Ljava/lang/Object;' <br>
> @76  NULL (0)<br>
>  - private volatile transient 'enumConstantDirectory' <br>
> 'Ljava/util/Map;' @80  NULL (0)<br>
>  - private volatile transient 'annotationData' <br>
> 'Ljava/lang/Class$AnnotationData;' @84  NULL (0)<br>
>  - private volatile transient 'annotationType' <br>
> 'Lsun/reflect/annotation/AnnotationType;' @88  NULL (0)<br>
>  - transient 'classValueMap' 'Ljava/lang/ClassValue$ClassValueMap;' <br>
> @92  NULL (0)<br>
>  - signature: <br>
> Ljavafx/scene/control/skin/MenuButtonSkinBase$$Lambda$2420+0x0000000100ff7248;<br>
>  - fake entry for mirror: <br>
> 'javafx/scene/control/skin/MenuButtonSkinBase$$Lambda$2420+0x0000000100ff7248'<br>
>  - fake entry for array: NULL<br>
>  - fake entry for oop_size: 14<br>
>  - fake entry for static_oop_field_count: 0<br>
<br>
</blockquote></div>