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

SIGILL in _os_unfair_lock_recursive_abort on MacOSX

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • 16.0.2, 17, 18
    • hotspot
    • x86_64
    • os_x_10.15

      The following test failed in the JDK17 CI:

      vmTestbase/vm/compiler/regression/b4268494/b4268494.java

      Here's a snippet from the log file:

      ----------System.out:(20/1196)----------
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # SIGILL (0x4) at pc=0x00007fff676ab63c, pid=20472, tid=40195
      #
      # JRE version: Java(TM) SE Runtime Environment (17.0+16) (fastdebug build 17-ea+16-LTS-1312)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 17-ea+16-LTS-1312, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-amd64)
      # Problematic frame:
      # C [libsystem_platform.dylib+0x663c] _os_unfair_lock_recursive_abort+0x17
      #
      # Core dump will be written. Default location: core.20472
      #
      # An error report file with more information is saved as:
      # /System/Volumes/Data/mesos/work_dir/slaves/3c846bae-ce30-4a97-93ee-9fef4497ccb6-S31860/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fbe39585-eaf4-4fbd-bfeb-dc6f7e49f517/runs/67c35ec6-a978-4efc-9326-2a2488fe5eb4/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_vmTestbase_vm_compiler_regression/scratch/5/hs_err_pid20472.log
      #
      # If you would like to submit a bug report, please visit:
      # https://bugreport.java.com/bugreport/crash.jsp
      # The crash happened outside the Java Virtual Machine in native code.
      # See problematic frame for where to report the bug.
      #
      ----------System.err:(3/396)----------

      Here's the crashing thread's stack:

      --------------- T H R E A D ---------------

      Current thread (0x00007f8568028420): JavaThread "MainThread" [_thread_in_native, id=40195, stack(0x0000700010377000,0x0000700010477000)]

      Stack: [0x0000700010377000,0x0000700010477000], sp=0x0000700010473e98, free space=1011k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      C [libsystem_platform.dylib+0x663c] _os_unfair_lock_recursive_abort+0x17
      C [CoreText+0x10f93] TDescriptorSource::CopySplicedDescriptorForName(__CFString const*, __CFString const*, __CFString const*, __CFNumber const*, CTFontLegibilityWeight, __CFNumber const*, __CFString const*, __CFNumber const*) const+0xcd
      C [CoreText+0xd35bd] TDescriptorSource::CopyFontDescriptorPerPostScriptName(__CFString const*, unsigned long, unsigned long, __CFString const*, __CFNumber const*, CTFontLegibilityWeight) const+0x23d
      C [CoreText+0x60b9d] TDescriptorSource::CopySystemFontDescriptorByName(__CFString const*, UIFontFlag, unsigned long) const+0x47
      C [CoreText+0xd5e9d] TDescriptorSource::CopyLastResort() const::$_3::__invoke(void*)+0x43
      C [libdispatch.dylib+0x2658] _dispatch_client_callout+0x8
      C [libdispatch.dylib+0x37de] _dispatch_once_callout+0x14
      C [CoreText+0xd280c] TDescriptorSource::CopyLastResort() const+0x64
      C [CoreText+0x97ed9] TDescriptorSource::CreateDefaultDescriptor(UIFontFlag) const+0xcb
      C [CoreText+0xdcb1] TBaseFont::CopyNativeFont() const+0x113
      C [CoreText+0xa676] TBaseFont::CopyVariationAxes() const+0xf0
      C [CoreText+0x1620f] TTenuousComponentFont::CopyVariationAxes() const+0x23
      C [CoreText+0xa488] TBaseFont::CopyOpticalSizeAxis() const+0x36
      C [CoreText+0x15d77] TTenuousComponentFont::TTenuousComponentFont(__CFDictionary const*, unsigned int, TSplicedFontDict const&)+0xc7
      C [CoreText+0x15bb9] TSplicedFont::CreateDescriptor(__CFDictionary const*, unsigned int, TSplicedFontDict const&)+0x211
      C [CoreText+0x156a7] TSplicedFont::CreateCascadeList(TSplicedFontDict const&)+0x11f
      C [CoreText+0x154ec] TSplicedFont::Create(__CFURL const*, adopted_t const&, __CFDictionary const*)+0x30
      C [CoreText+0x15461] CreateSplicedFontFromStash(__CFDictionary const*, __CFURL const*)+0x25
      C [CoreText+0x12abf] MakeSpliceDescriptor(__CFString const*, __CFNumber const*, __CFString const*, __CFString const*, __CFNumber const*, __CFNumber const*, CTFontLegibilityWeight)+0x136c
      C [CoreText+0x116a3] TDescriptorSource::CopySpliceFontForName(__CFString const*, __CFString const*, __CFNumber const*, CTFontLegibilityWeight, __CFNumber const*, __CFString const*, __CFNumber const*)+0x203
      C [CoreText+0x10fc8] TDescriptorSource::CopySplicedDescriptorForName(__CFString const*, __CFString const*, __CFString const*, __CFNumber const*, CTFontLegibilityWeight, __CFNumber const*, __CFString const*, __CFNumber const*) const+0x102
      C [CoreText+0x468f] TDescriptor::CreateMatchingDescriptorInternal(__CFSet const*, unsigned long) const+0x7c5
      C [CoreText+0x17c43] TDescriptor::InitBaseFont(unsigned long, double)+0x3d
      C [CoreText+0x3b25] TDescriptor::CreateMatchingDescriptor(__CFSet const*, double, unsigned long) const+0x12f
      C [CoreText+0x7f60] CTFontCreateWithFontDescriptor+0x46
      C [CoreText+0x5960f] CTFontCreateUIFontForLanguage+0x26
      C [libawt_lwawt.dylib+0x4f14] addFont+0x24
      C [libawt_lwawt.dylib+0x4246] Java_sun_font_CFontManager_loadNativeFonts+0x436
      j sun.font.CFontManager.loadNativeFonts()V+0 java.desktop@17-ea
      j sun.font.CFontManager$1.run()Ljava/lang/Object;+14 java.desktop@17-ea
      J 1452 c1 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; java.base@17-ea (9 bytes) @ 0x000000010fa084cc [0x000000010fa08220+0x00000000000002ac]
      j sun.font.CFontManager.loadFonts()V+19 java.desktop@17-ea
      j sun.font.SunFontManager.findFont2D(Ljava/lang/String;II)Lsun/font/Font2D;+690 java.desktop@17-ea
      j java.awt.Font.getFont2D()Lsun/font/Font2D;+22 java.desktop@17-ea
      j java.awt.Font$FontAccessImpl.getFont2D(Ljava/awt/Font;)Lsun/font/Font2D;+1 java.desktop@17-ea
      j sun.font.FontUtilities.getFont2D(Ljava/awt/Font;)Lsun/font/Font2D;+4 java.desktop@17-ea
      j sun.font.FontDesignMetrics.initMatrixAndMetrics()V+4 java.desktop@17-ea
      j sun.font.FontDesignMetrics.<init>(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)V+62 java.desktop@17-ea
      j sun.font.FontDesignMetrics.getMetrics(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lsun/font/FontDesignMetrics;+128 java.desktop@17-ea
      j sun.swing.SwingUtilities2.getFontMetrics(Ljavax/swing/JComponent;Ljava/awt/Font;)Ljava/awt/FontMetrics;+15 java.desktop@17-ea
      j javax.swing.JComponent.getFontMetrics(Ljava/awt/Font;)Ljava/awt/FontMetrics;+2 java.desktop@17-ea
      j javax.swing.plaf.basic.BasicLabelUI.getPreferredSize(Ljavax/swing/JComponent;)Ljava/awt/Dimension;+144 java.desktop@17-ea
      j javax.swing.JComponent.getPreferredSize()Ljava/awt/Dimension;+26 java.desktop@17-ea
      j javax.swing.plaf.basic.BasicComboBoxRenderer.getPreferredSize()Ljava/awt/Dimension;+38 java.desktop@17-ea
      j javax.swing.plaf.basic.BasicListUI.updateLayoutState()V+162 java.desktop@17-ea
      j javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState()V+8 java.desktop@17-ea
      j javax.swing.plaf.basic.BasicListUI$Handler.valueChanged(Ljavax/swing/event/ListSelectionEvent;)V+4 java.desktop@17-ea
      j javax.swing.DefaultListSelectionModel.fireValueChanged(IIZ)V+64 java.desktop@17-ea
      j javax.swing.DefaultListSelectionModel.fireValueChanged(II)V+7 java.desktop@17-ea
      j javax.swing.DefaultListSelectionModel.fireValueChanged()V+70 java.desktop@17-ea
      j javax.swing.DefaultListSelectionModel.changeSelection(IIIIZ)V+92 java.desktop@17-ea
      j javax.swing.DefaultListSelectionModel.changeSelection(IIII)V+7 java.desktop@17-ea
      j javax.swing.DefaultListSelectionModel.setSelectionInterval(II)V+59 java.desktop@17-ea
      j javax.swing.JList.setSelectedIndex(I)V+20 java.desktop@17-ea
      j javax.swing.plaf.basic.BasicComboPopup.setListSelection(I)V+20 java.desktop@17-ea
      j javax.swing.plaf.basic.BasicComboPopup$Handler.itemStateChanged(Ljava/awt/event/ItemEvent;)V+24 java.desktop@17-ea
      j javax.swing.JComboBox.fireItemStateChanged(Ljava/awt/event/ItemEvent;)V+35 java.desktop@17-ea
      j javax.swing.JComboBox.selectedItemChanged()V+64 java.desktop@17-ea
      j javax.swing.JComboBox.contentsChanged(Ljavax/swing/event/ListDataEvent;)V+28 java.desktop@17-ea
      j javax.swing.AbstractListModel.fireContentsChanged(Ljava/lang/Object;II)V+64 java.desktop@17-ea
      j javax.swing.DefaultComboBoxModel.setSelectedItem(Ljava/lang/Object;)V+38 java.desktop@17-ea
      j javax.swing.DefaultComboBoxModel.addElement(Ljava/lang/Object;)V+55 java.desktop@17-ea
      j javax.swing.JComboBox.addItem(Ljava/lang/Object;)V+12 java.desktop@17-ea
      j vm.compiler.regression.b4268494.b4268494e.<init>(Lvm/compiler/regression/b4268494/b4268494c;)V+400
      j vm.compiler.regression.b4268494.b4268494b.<init>(Ljava/lang/Object;)V+74
      j vm.compiler.regression.b4268494.b4268494a.<init>(Ljava/lang/String;)V+126
      j vm.compiler.regression.b4268494.b4268494.<init>()V+18
      j vm.compiler.regression.b4268494.b4268494.run([Ljava/lang/String;Ljava/io/PrintStream;)I+4
      j vm.compiler.regression.b4268494.b4268494.main([Ljava/lang/String;)V+4
      v ~StubRoutines::call_stub
      V [libjvm.dylib+0x8c2af1] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x541
      V [libjvm.dylib+0xef74a5] invoke(InstanceKlass*, methodHandle const&, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*)+0x1595
      V [libjvm.dylib+0xef5dca] Reflection::invoke_method(oop, Handle, objArrayHandle, Thread*)+0x2da
      V [libjvm.dylib+0x9fb62e] JVM_InvokeMethod+0x52e
      j jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base@17-ea
      j jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+146 java.base@17-ea
      j jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 java.base@17-ea
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+59 java.base@17-ea
      j com.sun.javatest.regtest.agent.MainWrapper$MainThread.run()V+172
      j java.lang.Thread.run()V+11 java.base@17-ea
      v ~StubRoutines::call_stub
      V [libjvm.dylib+0x8c2af1] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x541
      V [libjvm.dylib+0x8c17bc] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x2bc
      V [libjvm.dylib+0x8c19d1] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, Thread*)+0x71
      V [libjvm.dylib+0x9f4669] thread_entry(JavaThread*, Thread*)+0x179
      V [libjvm.dylib+0x1072add] JavaThread::thread_main_inner()+0x26d
      V [libjvm.dylib+0x106f6f7] Thread::call_run()+0x177
      V [libjvm.dylib+0xe3690f] thread_native_entry(Thread*)+0x15f
      C [libsystem_pthread.dylib+0x6109] _pthread_start+0x94
      C [libsystem_pthread.dylib+0x1b8b] thread_start+0xf

      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      j sun.font.CFontManager.loadNativeFonts()V+0 java.desktop@17-ea
      j sun.font.CFontManager$1.run()Ljava/lang/Object;+14 java.desktop@17-ea
      J 1452 c1 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; java.base@17-ea (9 bytes) @ 0x000000010fa084cc [0x000000010fa08220+0x00000000000002ac]
      j sun.font.CFontManager.loadFonts()V+19 java.desktop@17-ea
      j sun.font.SunFontManager.findFont2D(Ljava/lang/String;II)Lsun/font/Font2D;+690 java.desktop@17-ea
      j java.awt.Font.getFont2D()Lsun/font/Font2D;+22 java.desktop@17-ea
      j java.awt.Font$FontAccessImpl.getFont2D(Ljava/awt/Font;)Lsun/font/Font2D;+1 java.desktop@17-ea
      j sun.font.FontUtilities.getFont2D(Ljava/awt/Font;)Lsun/font/Font2D;+4 java.desktop@17-ea
      j sun.font.FontDesignMetrics.initMatrixAndMetrics()V+4 java.desktop@17-ea
      j sun.font.FontDesignMetrics.<init>(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)V+62 java.desktop@17-ea
      j sun.font.FontDesignMetrics.getMetrics(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lsun/font/FontDesignMetrics;+128 java.desktop@17-ea
      j sun.swing.SwingUtilities2.getFontMetrics(Ljavax/swing/JComponent;Ljava/awt/Font;)Ljava/awt/FontMetrics;+15 java.desktop@17-ea
      j javax.swing.JComponent.getFontMetrics(Ljava/awt/Font;)Ljava/awt/FontMetrics;+2 java.desktop@17-ea
      j javax.swing.plaf.basic.BasicLabelUI.getPreferredSize(Ljavax/swing/JComponent;)Ljava/awt/Dimension;+144 java.desktop@17-ea
      j javax.swing.JComponent.getPreferredSize()Ljava/awt/Dimension;+26 java.desktop@17-ea
      j javax.swing.plaf.basic.BasicComboBoxRenderer.getPreferredSize()Ljava/awt/Dimension;+38 java.desktop@17-ea
      j javax.swing.plaf.basic.BasicListUI.updateLayoutState()V+162 java.desktop@17-ea
      j javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState()V+8 java.desktop@17-ea
      j javax.swing.plaf.basic.BasicListUI$Handler.valueChanged(Ljavax/swing/event/ListSelectionEvent;)V+4 java.desktop@17-ea
      j javax.swing.DefaultListSelectionModel.fireValueChanged(IIZ)V+64 java.desktop@17-ea
      j javax.swing.DefaultListSelectionModel.fireValueChanged(II)V+7 java.desktop@17-ea
      j javax.swing.DefaultListSelectionModel.fireValueChanged()V+70 java.desktop@17-ea
      j javax.swing.DefaultListSelectionModel.changeSelection(IIIIZ)V+92 java.desktop@17-ea
      j javax.swing.DefaultListSelectionModel.changeSelection(IIII)V+7 java.desktop@17-ea
      j javax.swing.DefaultListSelectionModel.setSelectionInterval(II)V+59 java.desktop@17-ea
      j javax.swing.JList.setSelectedIndex(I)V+20 java.desktop@17-ea
      j javax.swing.plaf.basic.BasicComboPopup.setListSelection(I)V+20 java.desktop@17-ea
      j javax.swing.plaf.basic.BasicComboPopup$Handler.itemStateChanged(Ljava/awt/event/ItemEvent;)V+24 java.desktop@17-ea
      j javax.swing.JComboBox.fireItemStateChanged(Ljava/awt/event/ItemEvent;)V+35 java.desktop@17-ea
      j javax.swing.JComboBox.selectedItemChanged()V+64 java.desktop@17-ea
      j javax.swing.JComboBox.contentsChanged(Ljavax/swing/event/ListDataEvent;)V+28 java.desktop@17-ea
      j javax.swing.AbstractListModel.fireContentsChanged(Ljava/lang/Object;II)V+64 java.desktop@17-ea
      j javax.swing.DefaultComboBoxModel.setSelectedItem(Ljava/lang/Object;)V+38 java.desktop@17-ea
      j javax.swing.DefaultComboBoxModel.addElement(Ljava/lang/Object;)V+55 java.desktop@17-ea
      j javax.swing.JComboBox.addItem(Ljava/lang/Object;)V+12 java.desktop@17-ea
      j vm.compiler.regression.b4268494.b4268494e.<init>(Lvm/compiler/regression/b4268494/b4268494c;)V+400
      j vm.compiler.regression.b4268494.b4268494b.<init>(Ljava/lang/Object;)V+74
      j vm.compiler.regression.b4268494.b4268494a.<init>(Ljava/lang/String;)V+126
      j vm.compiler.regression.b4268494.b4268494.<init>()V+18
      j vm.compiler.regression.b4268494.b4268494.run([Ljava/lang/String;Ljava/io/PrintStream;)I+4
      j vm.compiler.regression.b4268494.b4268494.main([Ljava/lang/String;)V+4
      v ~StubRoutines::call_stub
      j jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base@17-ea
      j jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+146 java.base@17-ea
      j jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 java.base@17-ea
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+59 java.base@17-ea
      j com.sun.javatest.regtest.agent.MainWrapper$MainThread.run()V+172
      j java.lang.Thread.run()V+11 java.base@17-ea
      v ~StubRoutines::call_stub

      siginfo: si_signo: 4 (SIGILL), si_code: 1 (ILL_ILLOPC), si_addr: 0x00007fff676ab63c

      I'm starting this bug off in hotspot/compiler ONLY because the
      last sighting of SIGILL in _os_unfair_lock_recursive_abort is
      associated with this hotspot/compiler bug:

          JDK-8259508 CtwOfSpecJvm.java fails on MacOSX with _os_unfair_lock_recursive_abort in TDescriptorSource::CopySplicedDescriptorForName

      JDK-8259508 was closed as "External" because of something
      to do with the test machine where the failure occurred, but I
      couldn't quite nail down what was wrong with the machine.

            Unassigned Unassigned
            dcubed Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated: