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

Crash on macOS in IntBgrDrawGlyphListLCD

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Incomplete
    • Icon: P3 P3
    • tbd
    • 11, 17, 20, 21, 22, 23, 24
    • client-libs
    • 2d
    • generic
    • os_x

      We see every few weeks crashes in IntBgrDrawGlyphListLCD.
      Those occur on macOS (both x86_64 and aarch64). On other platforms where the sam test is executed is it not seen for some reason.
      Unfortunately the test is a larger application that cannot be shared.

      #
      # SIGSEGV (0xb) at pc=0x0000000114f5be60, pid=52977, tid=41731
      #
      # JRE version: OpenJDK Runtime Environment (21.0) (build 21-internal-adhoc.openjdk.jdk-dev)
      # Java VM: OpenJDK 64-Bit Server VM (21-internal-adhoc.openjdk.jdk-dev, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-aarch64)
      # Problematic frame:
      # C [libawt.dylib+0x2fe60] IntBgrDrawGlyphListLCD+0x220
      #

      backtrace is :

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

      Current thread (0x000000012aa77800): JavaThread "Thread-0" [_thread_in_native, id=41731, stack(0x000000016e1e4000,0x000000016e3e7000)]

      Stack: [0x000000016e1e4000,0x000000016e3e7000], sp=0x000000016e3e58e0, free space=2054k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      C [libawt.dylib+0x2fe60] IntBgrDrawGlyphListLCD+0x220
      j sun.java2d.loops.DrawGlyphListLCD.DrawGlyphListLCD(Lsun/java2d/SunGraphics2D;Lsun/java2d/SurfaceData;Lsun/font/GlyphList;II)V+0 java.desktop@21-internal
      j sun.java2d.pipe.GlyphListLoopPipe.drawGlyphListSegment(Lsun/java2d/SunGraphics2D;Lsun/font/GlyphList;IIIZ)V+132 java.desktop@21-internal
      j sun.java2d.pipe.GlyphListLoopPipe.drawGlyphList(Lsun/java2d/SunGraphics2D;Lsun/font/GlyphList;I)V+84 java.desktop@21-internal
      j sun.java2d.pipe.LCDTextRenderer.drawGlyphList(Lsun/java2d/SunGraphics2D;Lsun/font/GlyphList;)V+4 java.desktop@21-internal
      j sun.java2d.pipe.GlyphListPipe.drawString(Lsun/java2d/SunGraphics2D;Ljava/lang/String;DD)V+165 java.desktop@21-internal
      j sun.java2d.pipe.ValidatePipe.drawString(Lsun/java2d/SunGraphics2D;Ljava/lang/String;DD)V+17 java.desktop@21-internal
      j sun.java2d.SunGraphics2D.drawString(Ljava/lang/String;FF)V+66 java.desktop@21-internal
      j com.crystaldecisions.MetafileRenderer.DeviceContext.drawText(Ljava/lang/String;Ljava/awt/Point;ILjava/awt/Rectangle;IFF)V+835
      j com.crystaldecisions.MetafileRenderer.EMR_TextOut.perform(Lcom/crystaldecisions/MetafileRenderer/DeviceContext;I)Z+47
      j com.crystaldecisions.MetafileRenderer.Metafile.render(Ljava/awt/Graphics2D;Ljava/awt/Rectangle;Z)V+79
      j com.crystaldecisions.MetafileRenderer.Metafile.renderAnisotropically(Ljava/awt/Graphics2D;Ljava/awt/Rectangle;)V+4
      j com.crystaldecisions.reports.common.MetafileImage.getScaledImage(Ljava/awt/Rectangle;Ljava/awt/Color;)Ljava/awt/Image;+143
      j com.crystaldecisions.reports.common.AbstractCrystalImage.getPngData(Ljava/awt/Rectangle;Ljava/awt/Color;)[B+41
      j com.crystaldecisions.reports.formatter.formatter.encapsulation.EncapsulatedObjectArchive.storeImageAsPNG(Lcom/crystaldecisions/reports/common/ICrystalImage;III)V+75
      j com.crystaldecisions.reports.formatter.formatter.encapsulation.EncapsulatedObjectArchive.storeObjectAsPNG(Lcom/crystaldecisions/reports/formatter/formatter/objectformatter/FormattedImageObject;I)V+22
      j com.crystaldecisions.reports.formatter.formatter.encapsulation.EncapsulatedObjectArchive.storeImageBlock(Lcom/crystaldecisions/reports/reportdefinition/IReportDefinition;I)V+233
      j com.crystaldecisions.reports.formatter.formatter.encapsulation.EncapsulatedObjectArchive.storeImages()V+8
      j com.crystaldecisions.reports.formatter.formatter.encapsulation.EncapsulatedObjectArchive.encapsulateHelper()V+194
      j com.crystaldecisions.reports.formatter.formatter.encapsulation.EncapsulatedObjectArchive.encapsulate()V+20
      j testapps.performance.TestCaseRunner.operationEncapsulateEPF(Lcom/crystaldecisions/reports/dataengine/IReportViewInfo;Lcom/crystaldecisions/reports/formatter/formatter/paginator/IFormattedPage;)Lcom/crystaldecisions/sdk/occa/report/lib/ByteArray;+70
      j testapps.performance.TestCaseRunner.actionGetPage()Lcom/crystaldecisions/sdk/occa/report/lib/ByteArray;+190
      j testapps.performance.TestCases.testGotoFirstPage()V+11
      j testapps.performance.TestCases.runTestCases()V+1
      j testapps.performance.Runner.run()V+87
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@21-internal
      j java.lang.Thread.run()V+19 java.base@21-internal
      v ~StubRoutines::call_stub 0x000000013f534140
      V [libjvm.dylib+0x4b8484] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x3a8
      V [libjvm.dylib+0x4b743c] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x140
      V [libjvm.dylib+0x4b7508] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x64
      V [libjvm.dylib+0x578174] thread_entry(JavaThread*, JavaThread*)+0x9c
      V [libjvm.dylib+0x4cbf00] JavaThread::thread_main_inner()+0x98
      V [libjvm.dylib+0x9d8cec] Thread::call_run()+0xc8
      V [libjvm.dylib+0x818094] thread_native_entry(Thread*)+0x158
      C [libsystem_pthread.dylib+0x7878] _pthread_start+0x140
      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      j sun.java2d.loops.DrawGlyphListLCD.DrawGlyphListLCD(Lsun/java2d/SunGraphics2D;Lsun/java2d/SurfaceData;Lsun/font/GlyphList;II)V+0 java.desktop@21-internal
      j sun.java2d.pipe.GlyphListLoopPipe.drawGlyphListSegment(Lsun/java2d/SunGraphics2D;Lsun/font/GlyphList;IIIZ)V+132 java.desktop@21-internal
      j sun.java2d.pipe.GlyphListLoopPipe.drawGlyphList(Lsun/java2d/SunGraphics2D;Lsun/font/GlyphList;I)V+84 java.desktop@21-internal
      j sun.java2d.pipe.LCDTextRenderer.drawGlyphList(Lsun/java2d/SunGraphics2D;Lsun/font/GlyphList;)V+4 java.desktop@21-internal
      j sun.java2d.pipe.GlyphListPipe.drawString(Lsun/java2d/SunGraphics2D;Ljava/lang/String;DD)V+165 java.desktop@21-internal
      j sun.java2d.pipe.ValidatePipe.drawString(Lsun/java2d/SunGraphics2D;Ljava/lang/String;DD)V+17 java.desktop@21-internal
      j sun.java2d.SunGraphics2D.drawString(Ljava/lang/String;FF)V+66 java.desktop@21-internal
      j com.crystaldecisions.MetafileRenderer.DeviceContext.drawText(Ljava/lang/String;Ljava/awt/Point;ILjava/awt/Rectangle;IFF)V+835
      j com.crystaldecisions.MetafileRenderer.EMR_TextOut.perform(Lcom/crystaldecisions/MetafileRenderer/DeviceContext;I)Z+47
      j com.crystaldecisions.MetafileRenderer.Metafile.render(Ljava/awt/Graphics2D;Ljava/awt/Rectangle;Z)V+79
      j com.crystaldecisions.MetafileRenderer.Metafile.renderAnisotropically(Ljava/awt/Graphics2D;Ljava/awt/Rectangle;)V+4
      j com.crystaldecisions.reports.common.MetafileImage.getScaledImage(Ljava/awt/Rectangle;Ljava/awt/Color;)Ljava/awt/Image;+143
      j com.crystaldecisions.reports.common.AbstractCrystalImage.getPngData(Ljava/awt/Rectangle;Ljava/awt/Color;)[B+41
      j com.crystaldecisions.reports.formatter.formatter.encapsulation.EncapsulatedObjectArchive.storeImageAsPNG(Lcom/crystaldecisions/reports/common/ICrystalImage;III)V+75
      j com.crystaldecisions.reports.formatter.formatter.encapsulation.EncapsulatedObjectArchive.storeObjectAsPNG(Lcom/crystaldecisions/reports/formatter/formatter/objectformatter/FormattedImageObject;I)V+22
      j com.crystaldecisions.reports.formatter.formatter.encapsulation.EncapsulatedObjectArchive.storeImageBlock(Lcom/crystaldecisions/reports/reportdefinition/IReportDefinition;I)V+233
      j com.crystaldecisions.reports.formatter.formatter.encapsulation.EncapsulatedObjectArchive.storeImages()V+8
      j com.crystaldecisions.reports.formatter.formatter.encapsulation.EncapsulatedObjectArchive.encapsulateHelper()V+194
      j com.crystaldecisions.reports.formatter.formatter.encapsulation.EncapsulatedObjectArchive.encapsulate()V+20
      j testapps.performance.TestCaseRunner.operationEncapsulateEPF(Lcom/crystaldecisions/reports/dataengine/IReportViewInfo;Lcom/crystaldecisions/reports/formatter/formatter/paginator/IFormattedPage;)Lcom/crystaldecisions/sdk/occa/report/lib/ByteArray;+70
      j testapps.performance.TestCaseRunner.actionGetPage()Lcom/crystaldecisions/sdk/occa/report/lib/ByteArray;+190
      j testapps.performance.TestCases.testGotoFirstPage()V+11
      j testapps.performance.TestCases.runTestCases()V+1
      j testapps.performance.Runner.run()V+87
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@21-internal
      j java.lang.Thread.run()V+19 java.base@21-internal
      v ~StubRoutines::call_stub 0x000000013f534140

            prr Philip Race
            mbaesken Matthias Baesken
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: