Java Application crashes randomly

0

Our application crashes randomly. Platform is RedHat Linux, java version is jdk 1.6_17. It is a swing based application having lot of native code. The behavior is quite random. Sometimes it crashes in few minutes and some times it crashes after some hours or after long run. I the pid files sometimes points to ReferenceHandler thread where the crash happened. It is during free operation. Sometimes it crashes in EDT during malloc operation and each time our code is not involved. I will appreciate any help or clue in this regard as this is not always reproducible...

Providing couple of crash information below:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x0017c952, pid=21338, tid=3465239456
#
# JRE version: 6.0_17-b04
# Java VM: Java HotSpot(TM) Server VM (14.3-b01 mixed mode linux-x86 )
# Problematic frame:
# C  [libc.so.6+0x61952]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

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

Current thread (0x08142400):  JavaThread "Reference Handler" daemon [_thread_in_vm, id=21350, stack(0xce865000,0xce8b6000)]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0000002f

Registers:
EAX=0x00244878, EBX=0x00242ff4, ECX=0x00000041, EDX=0x085098a0
ESP=0xce8b4c6c, EBP=0xce8b4cdc, ESI=0x0000002b, EDI=0x00000040
EIP=0x0017c952, CR2=0x0000002f, EFLAGS=0x00010206

Top of Stack: (sp=0xce8b4c6c)
0xce8b4c6c:   08142400 00000001 f6bb87c0 08142400
0xce8b4c7c:   08143100 00237ab1 00237ab1 00237ab1
0xce8b4c8c:   00237ab1 08143100 f69b322e ffffffff
0xce8b4c9c:   f6a7f5db 003613b6 00000038 00000040
0xce8b4cac:   00244878 0000002b 00244864 00244860
0xce8b4cbc:   00244840 f6a7f511 f6bb87c0 08142400
0xce8b4ccc:   08144440 00242ff4 08c44830 00017118
0xce8b4cdc:   ce8b4d74 0017d030 08144450 00000000 

Instructions: (pc=0x0017c952)
0x0017c942:   56 08 89 3c 3e 8b 75 d4 85 f6 0f 84 dd 00 00 00
0x0017c952:   8b 46 04 8b 7e 08 89 c2 89 7d d4 83 e2 fa 8d 3c 

Stack: [0xce865000,0xce8b6000],  sp=0xce8b4c6c,  free space=319k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libc.so.6+0x61952]
C  [libc.so.6+0x62030]
C  [libc.so.6+0x6263a]  __libc_free+0x8a
V  [libjvm.so+0x529abc]
V  [libjvm.so+0x635947]
J  sun.misc.Unsafe.freeMemory(J)V
j  java.nio.DirectByteBuffer$Deallocator.run()V+17
j  sun.misc.Cleaner.clean()V+12

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J  sun.misc.Unsafe.freeMemory(J)V
j  java.nio.DirectByteBuffer$Deallocator.run()V+17
j  sun.misc.Cleaner.clean()V+12
J  java.lang.ref.Reference$ReferenceHandler.run()V
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0xceb0d400 JavaThread "TimerQueue" daemon [_thread_blocked, id=21382, stack(0xcb4bc000,0xcb50d000)]
  0xcb6a9c00 JavaThread "DestroyJavaVM" [_thread_blocked, id=21340, stack(0xf6451000,0xf64a2000)]
  0x085c0000 JavaThread "SELECT" [_thread_in_native, id=21370, stack(0xcbb5e000,0xcbbaf000)]
  0xcb391800 JavaThread "Thread-2" [_thread_blocked, id=21362, stack(0xcec52000,0xceca3000)]
  0xcbcb7800 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=21361, stack(0xcbbaf000,0xcbc00000)]
  0xcbcb6c00 JavaThread "AWT-Shutdown" [_thread_blocked, id=21360, stack(0xcbd34000,0xcbd85000)]
  0xcc162000 JavaThread "AWT-XAWT" daemon [_thread_in_native, id=21358, stack(0xcbe80000,0xcbed1000)]
  0x0814e800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=21357, stack(0xcc0af000,0xcc100000)]
  0xceb02c00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=21355, stack(0xce470000,0xce4c1000)]
  0xceb00800 JavaThread "CompilerThread1" daemon [_thread_blocked, id=21354, stack(0xce4c1000,0xce542000)]
  0x08158400 JavaThread "CompilerThread0" daemon [_thread_blocked, id=21353, stack(0xce542000,0xce5c3000)]
  0x08156800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=21352, stack(0xce5c3000,0xce614000)]
  0x08147000 JavaThread "Finalizer" daemon [_thread_blocked, id=21351, stack(0xce814000,0xce865000)]
=>0x08142400 JavaThread "Reference Handler" daemon [_thread_in_vm, id=21350, stack(0xce865000,0xce8b6000)]

Other Threads:
  0x0813e400 VMThread [stack: 0xce8b6000,0xce937000] [id=21349]
  0xceb04800 WatcherThread [stack: 0xce3ef000,0xce470000] [id=21356]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 PSYoungGen      total 50112K, used 2233K [0xefa40000, 0xf3300000, 0xf3320000)
  eden space 43264K, 2% used [0xefa40000,0xefb4e638,0xf2480000)
  from space 6848K, 16% used [0xf2480000,0xf25a0020,0xf2b30000)
  to   space 6400K, 0% used [0xf2cc0000,0xf2cc0000,0xf3300000)
 PSOldGen        total 81536K, used 56385K [0xd3320000, 0xd82c0000, 0xefa40000)
  object space 81536K, 69% used [0xd3320000,0xd6a30570,0xd82c0000)
 PSPermGen       total 30848K, used 22673K [0xcf320000, 0xd1140000, 0xd3320000)
  object space 30848K, 73% used [0xcf320000,0xd09446b0,0xd1140000)

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x0017c952, pid=13407, tid=2378705824
#
# JRE version: 6.0_17-b04
# Java VM: Java HotSpot(TM) Server VM (14.3-b01 mixed mode linux-x86 )
# Problematic frame:
# C  [libc.so.6+0x61952]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

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

Current thread (0x8db87c00):  JavaThread "AWT-EventQueue-0" [_thread_in_native, id=13430, stack(0x8dc32000,0x8dc83000)]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000005

Registers:
EAX=0x00244878, EBX=0x00242ff4, ECX=0x00000021, EDX=0x081f7148
ESP=0x8dc81088, EBP=0x8dc810f8, ESI=0x00000001, EDI=0x00000020
EIP=0x0017c952, CR2=0x00000005, EFLAGS=0x00210202

Top of Stack: (sp=0x8dc81088)
0x8dc81088:   945360d8 8e1bf010 b7bb8e68 8e1bf018
0x8dc81098:   906acac0 00237ab1 00237ab1 00237ab1
0x8dc810a8:   00237ab1 b7745a7a 90340158 b353b778
0x8dc810b8:   8dc810b8 908778be 00000020 00000020
0x8dc810c8:   00244878 00000001 00244864 00244860
0x8dc810d8:   00244840 0035d109 8e133cd0 00363ff4
0x8dc810e8:   0035d397 00242ff4 00244840 00000000
0x8dc810f8:   8dc811bc 0017d918 8dc81120 b79e9a17 

Instructions: (pc=0x0017c952)
0x0017c942:   56 08 89 3c 3e 8b 75 d4 85 f6 0f 84 dd 00 00 00
0x0017c952:   8b 46 04 8b 7e 08 89 c2 89 7d d4 83 e2 fa 8d 3c 

Stack: [0x8dc32000,0x8dc83000],  sp=0x8dc81088,  free space=316k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libc.so.6+0x61952]
C  [libc.so.6+0x62918]
C  [libc.so.6+0x646e1]  malloc+0x81
C  [libfontmanager.so+0x42d62]
C  [libfontmanager.so+0x43dc8]  Java_sun_java2d_loops_DrawGlyphListAA_DrawGlyphListAA+0x48
j  sun.java2d.loops.DrawGlyphListAA.DrawGlyphListAA(Lsun/java2d/SunGraphics2D;Lsun/java2d/SurfaceData;Lsun/font/GlyphList;)V+0
j  sun.java2d.pipe.AATextRenderer.drawGlyphList(Lsun/java2d/SunGraphics2D;Lsun/font/GlyphList;)V+13
j  sun.java2d.pipe.GlyphListPipe.drawChars(Lsun/java2d/SunGraphics2D;[CIIII)V+167
j  sun.java2d.pipe.ValidatePipe.drawChars(Lsun/java2d/SunGraphics2D;[CIIII)V+21
j  sun.java2d.SunGraphics2D.drawChars([CIIII)V+100
j  sun.swing.SwingUtilities2.drawChars(Ljavax/swing/JComponent;Ljava/awt/Graphics;[CIIII)I+313

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.java2d.loops.DrawGlyphListAA.DrawGlyphListAA(Lsun/java2d/SunGraphics2D;Lsun/java2d/SurfaceData;Lsun/font/GlyphList;)V+0
j  sun.java2d.pipe.AATextRenderer.drawGlyphList(Lsun/java2d/SunGraphics2D;Lsun/font/GlyphList;)V+13
j  sun.java2d.pipe.GlyphListPipe.drawChars(Lsun/java2d/SunGraphics2D;[CIIII)V+167
j  sun.java2d.pipe.ValidatePipe.drawChars(Lsun/java2d/SunGraphics2D;[CIIII)V+21
j  sun.java2d.SunGraphics2D.drawChars([CIIII)V+100
j  sun.swing.SwingUtilities2.drawChars(Ljavax/swing/JComponent;Ljava/awt/Graphics;[CIIII)I+313
J  javax.swing.text.Utilities.drawTabbedText(Ljavax/swing/text/View;Ljavax/swing/text/Segment;IILjava/awt/Graphics;Ljavax/swing/text/TabExpander;I[I)I
j  javax.swing.text.Utilities.drawTabbedText(Ljavax/swing/text/View;Ljavax/swing/text/Segment;IILjava/awt/Graphics;Ljavax/swing/text/TabExpander;I)I+11
j  javax.swing.text.PlainView.drawUnselectedText(Ljava/awt/Graphics;IIII)I+44
j  javax.swing.text.PlainView.drawElement(ILjavax/swing/text/Element;Ljava/awt/Graphics;II)I+135
j  javax.swing.text.PlainView.drawLine(ILjava/awt/Graphics;II)V+30
j  javax.swing.text.PlainView.paint(Ljava/awt/Graphics;Ljava/awt/Shape;)V+407
j  javax.swing.plaf.basic.BasicTextUI$RootView.paint(Ljava/awt/Graphics;Ljava/awt/Shape;)V+48
j  javax.swing.plaf.basic.BasicTextUI.paintSafely(Ljava/awt/Graphics;)V+65
j  javax.swing.plaf.basic.BasicTextUI.paint(Ljava/awt/Graphics;Ljavax/swing/JComponent;)V+45
j  javax.swing.plaf.basic.BasicTextUI.update(Ljava/awt/Graphics;Ljavax/swing/JComponent;)V+3
j  javax.swing.JComponent.paintComponent(Ljava/awt/Graphics;)V+26
j  javax.swing.JComponent.paint(Ljava/awt/Graphics;)V+290
j  javax.swing.JComponent.paintChildren(Ljava/awt/Graphics;)V+473
j  javax.swing.JComponent.paint(Ljava/awt/Graphics;)V+322
j  javax.swing.JViewport.paint(Ljava/awt/Graphics;)V+205
j  javax.swing.JComponent.paintChildren(Ljava/awt/Graphics;)V+473
j  javax.swing.JComponent.paint(Ljava/awt/Graphics;)V+322
j  javax.swing.JComponent.paintToOffscreen(Ljava/awt/Graphics;IIIIII)V+41
j  javax.swing.BufferStrategyPaintManager.paint(Ljavax/swing/JComponent;Ljavax/swing/JComponent;Ljava/awt/Graphics;IIII)Z+157
j  javax.swing.RepaintManager.paint(Ljavax/swing/JComponent;Ljavax/swing/JComponent;Ljava/awt/Graphics;IIII)V+52
j  javax.swing.JComponent._paintImmediately(IIII)V+679
j  javax.swing.JComponent.paintImmediately(IIII)V+83
j  javax.swing.RepaintManager.paintDirtyRegions(Ljava/util/Map;)V+199
j  javax.swing.RepaintManager.paintDirtyRegions()V+46
j  javax.swing.RepaintManager.seqPaintDirtyRegions()V+73
j  javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run()V+36
J  java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z
j  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j  java.awt.EventDispatchThread.run()V+9
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x088f7c00 JavaThread "Thread-6" [_thread_blocked, id=13530, stack(0x8ca5d000,0x8caae000)]
  0x0835c000 JavaThread "process reaper" daemon [_thread_in_native, id=13514, stack(0x8ca0c000,0x8ca5d000)]
  0x08402c00 JavaThread "wish Thread" [_thread_blocked, id=13512, stack(0x8caae000,0x8caff000)]
  0x8d904400 JavaThread "TimerQueue" daemon [_thread_blocked, id=13494, stack(0x8d816000,0x8d867000)]
  0x8fcd7c00 JavaThread "DestroyJavaVM" [_thread_blocked, id=13409, stack(0xb7467000,0xb74b8000)]
  0x8d7f4000 JavaThread "SELECT" [_thread_in_native, id=13451, stack(0x8da80000,0x8dad1000)]
  0x8d9c5c00 JavaThread "Thread-2" [_thread_blocked, id=13443, stack(0x8d88d000,0x8d8de000)]
=>0x8db87c00 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=13430, stack(0x8dc32000,0x8dc83000)]
  0x8db7f800 JavaThread "AWT-Shutdown" [_thread_blocked, id=13429, stack(0x8dc83000,0x8dcd4000)]
  0x8e136400 JavaThread "AWT-XAWT" daemon [_thread_in_native, id=13427, stack(0x8ddf2000,0x8de43000)]
  0x0820e800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=13426, stack(0x8e021000,0x8e072000)]
  0x8fc01c00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=13424, stack(0x8f570000,0x8f5c1000)]
  0x0815a400 JavaThread "CompilerThread1" daemon [_thread_blocked, id=13423, stack(0x8f5c1000,0x8f642000)]
  0x08158000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=13422, stack(0x8f642000,0x8f6c3000)]
  0x08156800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=13421, stack(0x8f6c3000,0x8f714000)]
  0x08146c00 JavaThread "Finalizer" daemon [_thread_blocked, id=13420, stack(0x8f914000,0x8f965000)]
  0x08142400 JavaThread "Reference Handler" daemon [_thread_blocked, id=13419, stack(0x8f965000,0x8f9b6000)]

Other Threads:
  0x0813e400 VMThread [stack: 0x8f9b6000,0x8fa37000] [id=13418]
  0x8fc03c00 WatcherThread [stack: 0x8f4ef000,0x8f570000] [id=13425]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 PSYoungGen      total 52288K, used 45814K [0xb0a60000, 0xb41e0000, 0xb4340000)
  eden space 48512K, 90% used [0xb0a60000,0xb3571ad8,0xb39c0000)
  from space 3776K, 45% used [0xb3e30000,0xb3fdc030,0xb41e0000)
  to   space 4160K, 0% used [0xb39c0000,0xb39c0000,0xb3dd0000)
 PSOldGen        total 47680K, used 32439K [0x94340000, 0x971d0000, 0xb0a60000)
  object space 47680K, 68% used [0x94340000,0x962edc20,0x971d0000)
 PSPermGen       total 42496K, used 21150K [0x90340000, 0x92cc0000, 0x94340000)
  object space 42496K, 49% used [0x90340000,0x917e7b48,0x92cc0000)
java
swing
memory-management
crash
asked on Stack Overflow Nov 20, 2014 by user2641186 • edited Aug 17, 2017 by Vadim Kotov

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0