Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8266749

AArch64: Backtracing broken on PAC enabled systems

    XMLWordPrintable

Details

    • Enhancement
    • Status: Resolved
    • P4
    • Resolution: Fixed
    • None
    • 17
    • hotspot
    • b26
    • aarch64

    Backports

      Description

        On Fedora 33, all distro provided applications are built with -mbranch-protection=standard, causing them to built with PAC protection.

        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

        Attachments

          Issue Links

            Activity

              People

                ahayward Alan Hayward
                ahayward Alan Hayward
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Time Tracking

                    Estimated:
                    Original Estimate - 1 week
                    1w
                    Remaining:
                    Remaining Estimate - 1 week
                    1w
                    Logged:
                    Time Spent - Not Specified
                    Not Specified