-
Bug
-
Resolution: Incomplete
-
P3
-
11, 17, 20, 21, 22, 23, 24
-
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
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