Hi,

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.
I created a bug report [2] which was later closed as a duplicate of
JDK-8275610 (see [3]).

By now (Java18) it should be fixed.
Note: I cannot confirm this, since we are still stuck with Java17.

Which Java version are you using?
Maybe upgrading helps and the issue is related.

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.

-XX:+TieredCompilation       (enable C1)
-XX:TieredStopAtLevel=1     (disable C2)

I hope this helps,

-- Daniel

[1] https://mail.openjdk.org/pipermail/openjfx-dev/2022-March/033831.html
[2] https://bugs.openjdk.org/browse/JDK-8283386
[3] https://bugs.openjdk.org/browse/JDK-8275610

On Wed, Sep 14, 2022 at 10:58 PM Kevin Rushforth <kevin.rushfo...@oracle.com>
wrote:

> That looks like a HotSpot crash. Have you tried running with JDK 18 or
> JDK 19 (which is in RC)?
>
> -- Kevin
>
> On 9/14/2022 1:38 PM, Thiago Milczarek Sayão wrote:
> > Hi,
> >
> > Anybody experiencing crashes with javafx 19-ea+11?
> >
> > I have replaced it with javafx 19 final to test.
> >
> > By the look of the log, it has something to do with the garbage
> > collector and MenuButtonSkinBase .
> >
> > I have suppressed some parts.
> >
> > # A fatal error has been detected by the Java Runtime Environment:
> > #
> > #  SIGSEGV (0xb) at pc=0x00007f4547fbd31f, pid=133481, tid=133520
> > #
> > # JRE version: OpenJDK Runtime Environment (17.0.4+8) (build
> > 17.0.4+8-Ubuntu-120.04)
> > # Java VM: OpenJDK 64-Bit Server VM (17.0.4+8-Ubuntu-120.04, mixed
> > mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
> > # Problematic frame:
> > # V  [libjvm.so+0x59931f]
> >  ClassLoaderData::ChunkedHandleList::oops_do(OopClosure*)+0x5f
> >
> > ---------------  S U M M A R Y ------------
> >
> > Command Line: -Xmx350m -Xms135m -Djava.net.preferIPv4Stack=true
> > -Dsun.awt.disablegrab=true
> >
> --add-modules=javafx.controls,javafx.fxml,javafx.web,javafx.swing,javafx.media
>
> > fl.jar
> >
> > Host: Intel(R) Core(TM) i3-10100 CPU @ 3.60GHz, 8 cores, 7G, Ubuntu
> > 20.04.4 LTS
> > Time: Wed Sep 14 17:18:28 2022 -03 elapsed time: 47.851666 seconds (0d
> > 0h 0m 47s)
> >
> > ---------------  T H R E A D  ---------------
> >
> > Current thread (0x00007f450c00d690):  GCTaskThread "GC Thread#6"
> > [stack: 0x00007f44b1bc7000,0x00007f44b1cc7000] [id=133520]
> >
> > Stack: [0x00007f44b1bc7000,0x00007f44b1cc7000],
> >  sp=0x00007f44b1cc5ac0,  free space=1018k
> > Native frames: (J=compiled Java code, j=interpreted, Vv=VM code,
> > C=native code)
> > V  [libjvm.so+0x59931f]
> >  ClassLoaderData::ChunkedHandleList::oops_do(OopClosure*)+0x5f
> > V  [libjvm.so+0x7476ad]  G1CLDScanClosure::do_cld(ClassLoaderData*)+0x3d
> > V  [libjvm.so+0x59e351]
> >  ClassLoaderDataGraph::roots_cld_do(CLDClosure*, CLDClosure*)+0x41
> > V  [libjvm.so+0x76f1bc]
> >  G1RootProcessor::process_java_roots(G1RootClosures*, G1GCPhaseTimes*,
> > unsigned int)+0xcc
> > V  [libjvm.so+0x76f835]
> >  G1RootProcessor::evacuate_roots(G1ParScanThreadState*, unsigned
> int)+0x65
> > V  [libjvm.so+0x705b16]
> >  G1EvacuateRegionsTask::scan_roots(G1ParScanThreadState*, unsigned
> > int)+0x26
> > V  [libjvm.so+0x7062b7]  G1EvacuateRegionsBaseTask::work(unsigned
> > int)+0x87
> > V  [libjvm.so+0xf8e907]  GangWorker::loop()+0x67
> > V  [libjvm.so+0xf8e963]
> > V  [libjvm.so+0xedbe42]  Thread::call_run()+0xe2
> > V  [libjvm.so+0xc324f9]  thread_native_entry(Thread*)+0xe9
> >
> >
> > RAX=0x000000000000007a is an unknown value
> > RBX=0x00007f44a53f26f8 points into unknown readable memory:
> > 0x0000000000000001 | 01 00 00 00 00 00 00 00
> > RCX=0x0000000000000014 is an unknown value
> > RDX=0x00000000000031e6 is an unknown value
> > RSP=0x00007f44b1cc5ac0 points into unknown readable memory:
> > 0x00007f4488003ac8 | c8 3a 00 88 44 7f 00 00
> > RBP=0x00007f44b1cc5ae0 points into unknown readable memory:
> > 0x00007f44b1cc5b20 | 20 5b cc b1 44 7f 00 00
> > RSI=0x00000000f6110495 is pointing into object: java.lang.Class
> > {0x00000000f6110468} - klass: 'java/lang/Class'
> >  - ---- fields (total size 14 words):
> >  - private volatile transient 'classRedefinedCount' 'I' @12  0
> >  - private volatile transient 'cachedConstructor'
> > 'Ljava/lang/reflect/Constructor;' @40  NULL (0)
> >  - private transient 'name' 'Ljava/lang/String;' @44
> >
>  
> "javafx.scene.control.skin.MenuButtonSkinBase$$Lambda$2420/0x0000000100ff7248"{0x00000000f4078820}
>
> > (f4078820)
> >  - private transient 'module' 'Ljava/lang/Module;' @48  a
> > 'java/lang/Module'{0x00000000ea298020} (ea298020)
> >  - private final 'classLoader' 'Ljava/lang/ClassLoader;' @52  a
> > 'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x00000000ea975708}
> > (ea975708)
> >  - private transient 'classData' 'Ljava/lang/Object;' @56  NULL (0)
> >  - private transient 'packageName' 'Ljava/lang/String;' @60
> >  "javafx.scene.control.skin"{0x00000000ea279b50} (ea279b50)
> >  - private final 'componentType' 'Ljava/lang/Class;' @64  NULL (0)
> >  - private volatile transient 'reflectionData'
> > 'Ljava/lang/ref/SoftReference;' @68  NULL (0)
> >  - private volatile transient 'genericInfo'
> > 'Lsun/reflect/generics/repository/ClassRepository;' @72  NULL (0)
> >  - private volatile transient 'enumConstants' '[Ljava/lang/Object;'
> > @76  NULL (0)
> >  - private volatile transient 'enumConstantDirectory'
> > 'Ljava/util/Map;' @80  NULL (0)
> >  - private volatile transient 'annotationData'
> > 'Ljava/lang/Class$AnnotationData;' @84  NULL (0)
> >  - private volatile transient 'annotationType'
> > 'Lsun/reflect/annotation/AnnotationType;' @88  NULL (0)
> >  - transient 'classValueMap' 'Ljava/lang/ClassValue$ClassValueMap;'
> > @92  NULL (0)
> >  - signature:
> >
> Ljavafx/scene/control/skin/MenuButtonSkinBase$$Lambda$2420+0x0000000100ff7248;
> >  - fake entry for mirror:
> >
> 'javafx/scene/control/skin/MenuButtonSkinBase$$Lambda$2420+0x0000000100ff7248'
> >  - fake entry for array: NULL
> >  - fake entry for oop_size: 14
> >  - fake entry for static_oop_field_count: 0
>
>

Reply via email to