-
Enhancement
-
Resolution: Fixed
-
P4
-
None
-
Due to the low availability of AArch64 systems with PAC, the easiest way to test this is currently by running Fedora 33 in QMEU/Parallels/Docker on an M1 Mac.
Install OpenJDK latest fastdebug via yum.
- gdb --args java myjavaapp
- handle SIGSEGV noprint nostop pass
handle SIGILL noprint nostop pass - break init_globals
- run
- call (int)pns($sp, $fp, $pc)
- break PosixSignals::pd_hotspot_signal_handler
- c
- call (int)pns($sp, $fp, $pc)
Due to the low availability of AArch64 systems with PAC, the easiest way to test this is currently by running Fedora 33 in QMEU/Parallels/Docker on an M1 Mac. Install OpenJDK latest fastdebug via yum. gdb --args java myjavaapp handle SIGSEGV noprint nostop pass handle SIGILL noprint nostop pass break init_globals run call (int)pns($sp, $fp, $pc) break PosixSignals::pd_hotspot_signal_handler c call (int)pns($sp, $fp, $pc)
-
b26
-
aarch64
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8269702 | 11.0.13 | Christoph Langer | P4 | Resolved | Fixed | b01 |
JDK-8278797 | openjdk8u332 | Ningsheng Jian | P4 | Resolved | Fixed | b01 |
JDK-8271571 | na | Monica Beckwith | P4 | Closed | Duplicate | b01 |
When this is run on a system with PAC support, OpenJDK is unable to backtrace across native functions:
pns() called from init_globals():
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xe26fe4] init_globals()+0x10
C 0x006ffffff74750c4
C 0x0042fffff6a7f84c
C 0x0037fffff7fa0954
C 0x0030fffff7fa4540
C 0x0078fffff7d980c8
pns() called from pd_hotspot_signal_handler():
"Executing pns"
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1592534] PosixSignals::pd_hotspot_signal_handler(int, siginfo_t*, ucontext_t*, JavaThread*)+0x0
C 0x0006fffff7ffc80c
j java.lang.String.indexOf(II)I+1 java.base@16.0.1
j java.lang.String.indexOf(I)I+3 java.base@16.0.1
j java.util.StringTokenizer.skipDelimiters(I)I+61 java.base@16.0.1
j java.util.StringTokenizer.countTokens()I+17 java.base@16.0.1
j sun.util.cldr.CLDRLocaleProviderAdapter.createLanguageTagSet(Ljava/lang/String;)Ljava/util/Set;+92 java.base@16.0.1
j sun.util.locale.provider.JRELocaleProviderAdapter.getLanguageTagSet(Ljava/lang/String;)Ljava/util/Set;+20 java.base@16.0.1
j sun.util.locale.provider.JRELocaleProviderAdapter.lambda$getDecimalFormatSymbolsProvider$4()Ljava/text/spi/DecimalFormatSymbolsProvider;+12 java.base@16.0.1
j sun.util.locale.provider.JRELocaleProviderAdapter$$Lambda$57+0x80000005d.run()Ljava/lang/Object;+4 java.base@16.0.1
j java.security.AccessController.executePrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/lang/Class;)Ljava/lang/Object;+29 java.base@16.0.1
j java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object;+5 java.base@16.0.1
j sun.util.locale.provider.JRELocaleProviderAdapter.getDecimalFormatSymbolsProvider()Ljava/text/spi/DecimalFormatSymbolsProvider;+13 java.base@16.0.1
j sun.util.locale.provider.JRELocaleProviderAdapter.getLocaleServiceProvider(Ljava/lang/Class;)Ljava/util/spi/LocaleServiceProvider;+397 java.base@16.0.1
j sun.util.locale.provider.LocaleProviderAdapter.findAdapter(Ljava/lang/Class;Ljava/util/Locale;)Lsun/util/locale/provider/LocaleProviderAdapter;+42 java.base@16.0.1
j sun.util.locale.provider.LocaleProviderAdapter.getAdapter(Ljava/lang/Class;Ljava/util/Locale;)Lsun/util/locale/provider/LocaleProviderAdapter;+55 java.base@16.0.1
j java.text.DecimalFormatSymbols.getInstance(Ljava/util/Locale;)Ljava/text/DecimalFormatSymbols;+3 java.base@16.0.1
j java.text.DecimalFormat.<init>(Ljava/lang/String;)V+130 java.base@16.0.1
j FPAdder.main([Ljava/lang/String;)V+55
v ~StubRoutines::call_stub
V [libjvm.so+0xe7a774] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x664
C 0x0023fffff6a79008
C 0x005cfffff6a7ed08
C 0x0027fffff7fa1540
C 0x0006fffff7fa4540
C 0x0021fffff7d980c8
- backported by
-
JDK-8269702 AArch64: Backtracing broken on PAC enabled systems
-
- Resolved
-
-
JDK-8278797 AArch64: Backtracing broken on PAC enabled systems
-
- Resolved
-
-
JDK-8271571 AArch64: Backtracing broken on PAC enabled systems
-
- Closed
-
-
JDK-8281142 AArch64: Backtracing broken on PAC enabled systems
-
- Closed
-
- relates to
-
JDK-8269687 pauth_aarch64.hpp include name is incorrect
-
- Resolved
-
- links to
-
Commit openjdk/jdk11u-dev/02bfc220
-
Commit openjdk/jdk/ae986bc8
-
Review openjdk/jdk11u-dev/39
-
Review openjdk/jdk/4029