JavaFX 19-ea+11 Crashes
Thiago Milczarek Sayão
thiago.sayao at gmail.com
Thu Sep 15 12:25:15 UTC 2022
Hi,
I'm using java 17.0.4 (ubuntu 20.04 default build).
Random crashes also happen with graalvm 22.2 (the logs look different).
It does not crash constantly, they're somewhat rare random crashes.
I can check other versions of java to explore the problem, but in
deployment I have to stick with 17.
By looking at my log (I'm not an expert on this), it seems to be a crash on
the G1 garbage collector thread.
But thanks for the tips, It's something I can try (disable the
optimization).
Em qui., 15 de set. de 2022 às 03:03, Daniel Peintner <
daniel.peintner at gmail.com> escreveu:
> 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.rushforth at 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
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20220915/b78b75e9/attachment.htm>
More information about the openjfx-dev
mailing list