Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SubstrateSegfaultHandler caught a segfault in thread 0x00000211435422c0 #7

Open
sparrow2015 opened this issue Oct 31, 2023 · 1 comment

Comments

@sparrow2015
Copy link

sparrow2015 commented Oct 31, 2023

I have crash in the segfault error.
I develop a simple java gui program base on javafx. It works well on jvm. After I compile into binary by Liberica Native Image Kit 23.0.1, then run it, segfault error occur,
Is there someone help me?

environment:
os: windows 10 21H2
jdk : bellsoft-liberica-vm-full-openjdk17-23.0.1
ide: idea ce 2023.2.2

compile command:

  1. mvn clean package
  2. mvn -Pnative -Dagent exec:exec@java-agent
  3. mvn -Pnative -Dagent package
    reference : https://www.graalvm.org/22.2/reference-manual/native-image/guides/use-native-image-maven-plugin/

full error below:

PS D:\projects\ScreenCutter-FX\target> .\ScreenCutter-FX.exe
init..

[ [ SubstrateSegfaultHandler caught a segfault in thread 0x00000211435422c0 ] ]
siginfo: ExceptionCode: -1073741819, reading address 0x0000000000000000
Current timestamp: 1698714381281

General purpose register values:
RAX 0x00007ff756cf5878 is an unknown value
RBX 0x0000000000000002 is an unknown value
RCX 0x0000000000000000
RDX 0x000000af187ff580 points into the stack for thread 0x00000211435422c0
RBP 0x0000000000000000
RSI 0x0000000000000001 is an unknown value
RDI 0x0000021143541410 is an unknown value
RSP 0x000000af187ff550 points into the stack for thread 0x00000211435422c0
R8 0x0000000000010002 is an unknown value
R9 0x0000000000000032 is an unknown value
R10 0x0000000000000000
R11 0x00112012b0002d00 is an unknown value
R12 0x00007ff75571b3a0 points into AOT compiled code com.sun.glass.ui.win.WinApplication._init(Native Method)
R13 0x000000af187ff610 points into the stack for thread 0x00000211435422c0
R14 0x0000021144e00000 is the heap base
R15 0x00000211435422c0 is a thread
EFL 0x0000000000010206 is an unknown value
RIP 0x00007ff756cafef6 is an unknown value

Printing Instructions (ip=0x00007ff756cafef6):
0x00007ff756cafed6: 0xcc 0xcc 0xcc 0xcc 0xcc 0xcc 0xcc 0xcc 0xcc 0xcc 0x48 0x83 0xec 0x28 0x48 0x8b
0x00007ff756cafee6: 0x0d 0x35 0x60 0x06 0x00 0x48 0x8d 0x54 0x24 0x30 0x41 0xb8 0x02 0x00 0x01 0x00
0x00007ff756cafef6: 0x48 0x8b 0x01 0xff 0x50 0x30 0x48 0x8b 0x44 0x24 0x30 0x48 0x83 0xc4 0x28 0xc3
0x00007ff756caff06: 0xcc 0xcc 0xcc 0xcc 0xcc 0xcc 0xcc 0xcc 0xcc 0xcc 0x48 0x8b 0x05 0x09 0x60 0x06

Top of stack (sp=0x000000af187ff550):
0x000000af187ff550: 0x0000000000000048 0x00007ff75558daed
0x000000af187ff560: 0x0000c1a5f11d7360 0x00007ff755591a25
0x000000af187ff570: 0x0000000000000002 0x00007ff756cb4911
0x000000af187ff580: 0x0000021147401030 0x0000000000000002
0x000000af187ff590: 0x0000000000bcb0c8 0x00007ff755591e00
0x000000af187ff5a0: 0x0000000000000000 0x0000021147401030
0x000000af187ff5b0: 0x0000001043460000 0x00007ff7555e7015
0x000000af187ff5c0: 0x0000000000100800 0x0000016200000000
0x000000af187ff5d0: 0x0000000000000004 0x00007ff75571b3b3
0x000000af187ff5e0: 0x0000000000000001 0x0000000000bc6cd0
0x000000af187ff5f0: 0x0000000000000000 0x0000000000000000
0x000000af187ff600: 0x000002114719ed30 0x0000021146ec68c8
0x000000af187ff610: 0x00007ff75571b3a0 0x000000af187ff5e0
0x000000af187ff620: 0x0000000000000000 0x00007ff7556534d2
0x000000af187ff630: 0x0000000200000001 0x00007ff75571d870
0x000000af187ff640: 0x0000000000000000 0x0000021146ec68c8
0x000000af187ff650: 0x0000021146ec7ba8 0x00007ff75571a5a9
0x000000af187ff660: 0x0000021145c572e0 0x00007ff756052ce2
0x000000af187ff670: 0x0000000018800000 0x00007ff7556564d1
0x000000af187ff680: 0x000000af187ff660 0x0000021100000000
0x000000af187ff690: 0x0000021146ec7c68 0x0000021145e3b990
0x000000af187ff6a0: 0x0000000000000005 0x00007ff755661c30
0x000000af187ff6b0: 0x0000000100000000 0x00007ff7556582f9
0x000000af187ff6c0: 0x0000021144e00000 0x0000000000000005
0x000000af187ff6d0: 0x00000000000003c0 0x00007ff75555c450
0x000000af187ff6e0: 0x0000000000000000 0x0000000000000000
0x000000af187ff6f0: 0x0000000000000000 0x000002114719ed30
0x000000af187ff700: 0x0000000000000000 0x0000000000000000
0x000000af187ff710: 0x0000000000000000 0x0000000000000000
0x000000af187ff720: 0x0000000000000000 0x0000000000000000
0x000000af187ff730: 0x0000000000000000 0x0000000000000000
0x000000af187ff740: 0x0000000000000000 0x0000000000000000

Top frame info:
Does not look like a Java Frame. Use JavaFrameAnchors to find LastJavaSP:
Found matching Anchor:0x000000af187ff610
LastJavaSP 0x000000af187ff5e0
LastJavaIP 0x00007ff75571b3a0

Threads:
0x000002114352ea80 STATUS_IN_NATIVE (ALLOW_SAFEPOINT) "InvokeLaterDispatcher" - 0x0000021146ec6928, daemon, stack(0x000000af18600000,0x000000af18700000)
0x00000211435422c0 STATUS_IN_JAVA (PREVENT_VM_FROM_REACHING_SAFEPOINT) "WindowsNativeRunloopThread" - 0x0000021146ec7c68, stack(0x000000af18700000,0x000000af18800000)
0x0000021143514680 STATUS_IN_NATIVE (ALLOW_SAFEPOINT) "QuantumRenderer-0" - 0x0000021146eb5fc0, daemon, stack(0x000000af18500000,0x000000af18600000)
0x00000211434f5c00 STATUS_IN_NATIVE (ALLOW_SAFEPOINT) "JavaFX-Launcher" - 0x0000021146a08628, stack(0x000000af18400000,0x000000af18500000)
0x00000211434eb240 STATUS_IN_NATIVE (ALLOW_SAFEPOINT) "Reference Handler" - 0x0000021145c986d8, daemon, stack(0x000000af18300000,0x000000af18400000)
0x00000211434ef780 STATUS_IN_NATIVE (ALLOW_SAFEPOINT) "main" - 0x0000021145c98528, stack(0x000000af17ca0000,0x000000af17da0000)

VM thread locals for the failing thread 0x00000211435422c0:
0 (8 bytes): JNIThreadLocalEnvironment.jniFunctions = (bytes)
0x00000211435422c0: 0x0000021145866010
8 (8 bytes): StackOverflowCheckImpl.stackBoundaryTL = (Word) 1 (0x0000000000000001)
16 (4 bytes): Safepoint.safepointRequested = (int) 2147466673 (0x7fffbdb1)
20 (4 bytes): StatusSupport.statusTL = (int) 1 (0x00000001)
24 (32 bytes): ThreadLocalAllocation.regularTLAB = (bytes)
0x00000211435422d8: 0x0000021147400000 0x0000021147500000
0x00000211435422e8: 0x0000021147401238 0x0000000000000000
56 (8 bytes): PlatformThreads.currentThread = (Object) java.lang.Thread (0x0000021146ec7c68)
64 (8 bytes): JavaFrameAnchors.lastAnchor = (Word) 752030316048 (0x000000af187ff610)
72 (8 bytes): PlatformThreads.currentVThreadId = (long) 50 (0x0000000000000032)
80 (8 bytes): AccessControlContextStack = (Object) null
88 (8 bytes): ExceptionUnwind.currentException = (Object) null
96 (8 bytes): IdentityHashCodeSupport.hashCodeGeneratorTL = (Object) null
104 (8 bytes): IsolatedCompileClient.currentClient = (Object) null
112 (8 bytes): IsolatedCompileContext.currentContext = (Object) null
120 (8 bytes): JNIObjectHandles.handles = (Object) com.oracle.svm.core.handles.ThreadLocalHandles (0x0000021147401030)
128 (8 bytes): JNIThreadLocalPendingException.pendingException = (Object) null
136 (8 bytes): JNIThreadLocalPinnedObjects.pinnedObjectsListHead = (Object) null
144 (8 bytes): JNIThreadOwnedMonitors.ownedMonitors = (Object) null
152 (8 bytes): NoAllocationVerifier.openVerifiers = (Object) null
160 (8 bytes): ThreadingSupportImpl.activeTimer = (Object) null
168 (8 bytes): SubstrateDiagnostics.threadOnlyAttachedForCrashHandler = (bytes)
0x0000021143542368: 0x0000000000000000
176 (8 bytes): ThreadLocalAllocation.allocatedBytes = (Word) 0 (0x0000000000000000)
184 (8 bytes): VMThreads.IsolateTL = (Word) 2273193230336 (0x0000021144e00000)
192 (8 bytes): VMThreads.OSThreadHandleTL = (Word) 964 (0x00000000000003c4)
200 (8 bytes): VMThreads.OSThreadIdTL = (Word) 2172 (0x000000000000087c)
208 (8 bytes): VMThreads.StackBase = (Word) 752030318592 (0x000000af18800000)
216 (8 bytes): VMThreads.StackEnd = (Word) 752029270016 (0x000000af18700000)
224 (8 bytes): VMThreads.StartedByCurrentIsolate = (bytes)
0x00000211435423a0: 0x0000000000000001
232 (8 bytes): VMThreads.nextTL = (Word) 2273167099520 (0x0000021143514680)
240 (8 bytes): VMThreads.unalignedIsolateThreadMemoryTL = (Word) 2273167286944 (0x00000211435422a0)
248 (4 bytes): ActionOnExitSafepointSupport.actionTL = (int) 0 (0x00000000)
252 (4 bytes): ActionOnTransitionToJavaSupport.actionTL = (int) 0 (0x00000000)
256 (4 bytes): ImplicitExceptions.implicitExceptionsAreFatal = (int) 0 (0x00000000)
260 (4 bytes): StackOverflowCheckImpl.yellowZoneStateTL = (int) 2130640638 (0x7efefefe)
264 (4 bytes): StatusSupport.safepointBehaviorTL = (int) 1 (0x00000001)
268 (4 bytes): ThreadingSupportImpl.currentPauseDepth = (int) 0 (0x00000000)

No VMOperation in progress

The 15 most recent VM operation status changes (oldest first):

Counters:

Java frame anchors for the failing thread 0x00000211435422c0:
Anchor 0x000000af187ff610 LastJavaSP 0x000000af187ff5e0 LastJavaIP 0x00007ff75571b3a0

Stacktrace for the failing thread 0x00000211435422c0:
SP 0x000000af187ff550 IP 0x00007ff756cafef6 IP is not within Java code. Trying frame anchor of last Java frame instead.
SP 0x000000af187ff5e0 IP 0x00007ff75571b3a0 [image code] com.sun.glass.ui.win.WinApplication._init(Native Method)
SP 0x000000af187ff640 IP 0x00007ff75571d870 [image code] com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:183)
SP 0x000000af187ff660 IP 0x00007ff75571a5a9 [image code] com.sun.glass.ui.win.WinApplication$$Lambda$d50d83fb978dca219ba176fffb492bc5ef0b971f.run(Unknown Source)
SP 0x000000af187ff670 IP 0x00007ff756052ce2 [image code] java.lang.Thread.run(Thread.java:833)
SP 0x000000af187ff680 IP 0x00007ff7556564d1 [image code] com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:838)
SP 0x000000af187ff6b0 IP 0x00007ff755661c30 [image code] com.oracle.svm.core.windows.WindowsPlatformThreads.osThreadStartRoutine(WindowsPlatformThreads.java:210)
SP 0x000000af187ff6e0 IP 0x00007ff75555c450 [image code] com.oracle.svm.core.code.IsolateEnterStub.WindowsPlatformThreads_osThreadStartRoutine_f4fafac97a2a1cec9ad0f558081a3e37efc7fb96(IsolateEnterStub.java:0)

VM mutexes:
mutex "thread" is unlocked.
mutex "referencePendingList" is unlocked.
mutex "mainVMOperationControlWorkQueue" is unlocked.

AOT compiled code is mapped at 0x00007ff7554e1000 - 0x00007ff756c6c1af

Heap settings and statistics:
Supports isolates: true
Heap base: 0x0000021144e00000
Object reference size: 8
Aligned chunk size: 1048576
Incremental collections: 0
Complete collections: 0

Native image heap boundaries:
ReadOnly Primitives: 0x0000021144f01030 - 0x00000211454d84d8
ReadOnly References: 0x00000211454d84d8 - 0x00000211458653b8
ReadOnly Relocatables: 0x0000021145866000 - 0x0000021145a63b58
Writable Primitives: 0x0000021145a64000 - 0x0000021145b9f460
Writable References: 0x0000021145b9f460 - 0x00000211460d9348
Writable Huge: 0x0000021146100038 - 0x00000211461989b8
ReadOnly Huge: 0x0000021146199038 - 0x00000211469723b0

Heap:
Young generation:
Eden:
edenSpace:
aligned: 0/0 unaligned: 0/0
Survivors:
Survivor-1 From:
aligned: 0/0 unaligned: 0/0
Survivor-1 To:
aligned: 0/0 unaligned: 0/0
Survivor-2 From:
aligned: 0/0 unaligned: 0/0
Survivor-2 To:
aligned: 0/0 unaligned: 0/0
Survivor-3 From:
aligned: 0/0 unaligned: 0/0
Survivor-3 To:
aligned: 0/0 unaligned: 0/0
Survivor-4 From:
aligned: 0/0 unaligned: 0/0
Survivor-4 To:
aligned: 0/0 unaligned: 0/0
Survivor-5 From:
aligned: 0/0 unaligned: 0/0
Survivor-5 To:
aligned: 0/0 unaligned: 0/0
Survivor-6 From:
aligned: 0/0 unaligned: 0/0
Survivor-6 To:
aligned: 0/0 unaligned: 0/0
Survivor-7 From:
aligned: 0/0 unaligned: 0/0
Survivor-7 To:
aligned: 0/0 unaligned: 0/0
Survivor-8 From:
aligned: 0/0 unaligned: 0/0
Survivor-8 To:
aligned: 0/0 unaligned: 0/0
Survivor-9 From:
aligned: 0/0 unaligned: 0/0
Survivor-9 To:
aligned: 0/0 unaligned: 0/0
Survivor-10 From:
aligned: 0/0 unaligned: 0/0
Survivor-10 To:
aligned: 0/0 unaligned: 0/0
Survivor-11 From:
aligned: 0/0 unaligned: 0/0
Survivor-11 To:
aligned: 0/0 unaligned: 0/0
Survivor-12 From:
aligned: 0/0 unaligned: 0/0
Survivor-12 To:
aligned: 0/0 unaligned: 0/0
Survivor-13 From:
aligned: 0/0 unaligned: 0/0
Survivor-13 To:
aligned: 0/0 unaligned: 0/0
Survivor-14 From:
aligned: 0/0 unaligned: 0/0
Survivor-14 To:
aligned: 0/0 unaligned: 0/0
Survivor-15 From:
aligned: 0/0 unaligned: 0/0
Survivor-15 To:
aligned: 0/0 unaligned: 0/0
Old generation:
oldFromSpace:
aligned: 0/0 unaligned: 0/0
oldToSpace:
aligned: 0/0 unaligned: 0/0

Unused:
aligned: 0/0

Segfault detected, aborting process. Use '-XX:-InstallSegfaultHandler' to disable the segfault handler at run time and create a core dump instead. Rebuild with '-R:-InstallSegfaultHandler' to disable the handler permanently at build time.

@petermz
Copy link
Collaborator

petermz commented Oct 31, 2023

Could you please use the following flags to enable logging:

-Djavafx.verbose=true -Dcom.sun.javafx.application.debug=true ​-Dprism.debug=true -Dprism.debugfonts=true -Dprism.verbose=true

and run both JVM and native image with these flags?

@bell-sw bell-sw transferred this issue from bell-sw/Liberica Feb 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants