valgrind reveal bug of openjdk during pressure test

David Holmes David.Holmes at
Thu Oct 14 19:35:05 PDT 2010

Feng.Da at said the following on 10/15/10 11:08:
> I’m doing a pressure test and find openjdk thrashed suse10 and crashed. 
> The following is the valgrind report and hs_error file.

Ok I belatedly found the 7z command to access the original rar archive.

The hs_err log shows:

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

Current thread (0x06ea4000):  GCTaskThread [stack: 
0x0bf9b000,0x0c01c000] [id=31719]

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

EAX=0x06f5c1e8, EBX=0x16840fc0, ECX=0x06f5c1e8, EDX=0xfffff032
ESP=0x00000000, EBP=0x0c01b088, ESI=0x0c01b0b0, EDI=0x00000001
EIP=0x077febc1, CR2=0xfffff032, EFLAGS=0x00200000

Top of Stack: (sp=0x00000000)
[error occurred during error reporting (printing registers, top of 
stack, instructions near pc), id 0xb]

Stack: [0x0bf9b000,0x0c01c000]
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, 
C=native code)
V  [];; 
V  [];; 
V  [];; 
V  [];; 
V  [];; 
V  [];;  _ZN10JavaThread7oops_doEP10OopClosure+0xea
V  [];;  _ZN15ThreadRootsTask5do_itEP13GCTaskManagerj+0x8d
V  [];;  _ZN12GCTaskThread3runEv+0x12b
V  [];;  _Z10java_startP6Thread+0x14e
C  []

The valgrind log shows the original error as:

==31714== Thread 6:
==31714== Invalid read of size 4
==31714==    at 0x77FEBC1: void 
oopDesc**) (in /opt/java/jdk1.6.0_17/jre/lib/i386/server/

and the secondary error during error reporting as:

==31714== Invalid read of size 4
==31714==    at 0x77B1D06: os::print_hex_dump(outputStream*, unsigned 
char*, unsigned char*, int) (in 
==31714==    by 0x77BBE35: os::print_context(outputStream*, void*) (in 
==31714==    by 0x78D72ED: VMError::report(outputStream*) (in 

which I suspect is caused by the fact the sp = 0 (which is obviously not 

What program were you running? can you reproduce the crash outside of 

David Holmes

More information about the hotspot-dev mailing list