| Summary: | valgrind causes jvm to crash | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Mike Millson <mmillson> | ||||||||||||
| Component: | valgrind | Assignee: | Jakub Jelinek <jakub> | ||||||||||||
| Status: | CLOSED ERRATA | QA Contact: | qe-baseos-tools-bugs | ||||||||||||
| Severity: | unspecified | Docs Contact: | |||||||||||||
| Priority: | unspecified | ||||||||||||||
| Version: | 6.3 | CC: | mfranc | ||||||||||||
| Target Milestone: | rc | ||||||||||||||
| Target Release: | --- | ||||||||||||||
| Hardware: | x86_64 | ||||||||||||||
| OS: | Linux | ||||||||||||||
| Whiteboard: | |||||||||||||||
| Fixed In Version: | valgrind-3.6.0-4.el6 | Doc Type: | Bug Fix | ||||||||||||
| Doc Text: | Story Points: | --- | |||||||||||||
| Clone Of: | |||||||||||||||
| : | 767244 (view as bug list) | Environment: | |||||||||||||
| Last Closed: | 2011-12-06 16:28:06 UTC | Type: | --- | ||||||||||||
| Regression: | --- | Mount Type: | --- | ||||||||||||
| Documentation: | --- | CRM: | |||||||||||||
| Verified Versions: | Category: | --- | |||||||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||||||
| Bug Depends On: | |||||||||||||||
| Bug Blocks: | 767244 | ||||||||||||||
| Attachments: |
|
||||||||||||||
|
Description
Mike Millson
2011-06-16 21:31:53 UTC
Created attachment 505150 [details]
Reproducer data.
Created attachment 505151 [details]
valgrind output from reproducer.
This is apparently due to this (valgrind.log): vex amd64->IR: unhandled instruction bytes: 0x48 0xF 0xAE 0x4 0x24 0x49 Compiling and running the latest valgrind 3.6.1 resolves this issue. JBoss will not run on vagrind 3.6.1 or the valgrind trunk. It progresses much farther, but still causes the JVM to crash with the following in valgrind.log: vex amd64->IR: unhandled instruction bytes: 0x66 0x48 0xF 0x38 0x17 0xC9 0x75 0x5C ==24209== valgrind: Unrecognised instruction at address 0x5c601b6. And the following in the fatal error log: # # A fatal error has been detected by the Java Runtime Environment: # # SIGILL (0x4) at pc=0x0000000005c601b6, pid=24209, tid=339650304 # # JRE version: 6.0_26-b03 # Java VM: Java HotSpot(TM) 64-Bit Server VM (20.1-b02 mixed mode linux-amd64 compressed oops) # Problematic frame: # J java.util.jar.Manifest.getAttributes(Ljava/lang/String;)Ljava/util/jar/Attributes; # # 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 (0x000000000d6cc800): JavaThread "main" [_thread_in_Java, id=24224, stack(0x00000000142ea000,0x00000000143eb000)] siginfo:si_signo=SIGILL: si_errno=0, si_code=1 (ILL_ILLOPC), si_addr=0x0000000005c601b6 Registers: RAX=0x000000000000000a, RBX=0x00000000a1206f60, RCX=0xffffffffffffffb0, RDX=0x0000000000000000 RSP=0x00000000143e7bd0, RBP=0x00000000a1207740, RSI=0x00000000a1206fc0, RDI=0x000000009f4eb9d8 R8 =0x000000009f4eb9e8, R9 =0x00000000a92e0e83, R10=0x0000000000000000, R11=0x000000000000002d R12=0x0000000000000000, R13=0x00000000143e7c18, R14=0x0000000000000000, R15=0x000000000d6cc800 RIP=0x0000000005c601b6, EFLAGS=0x0000000000000081, CSGSFS=0x0000000000000000, ERR=0x0000000000000000 TRAPNO=0x0000000000000000 Top of Stack: (sp=0x00000000143e7bd0) 0x00000000143e7bd0: 000000009f4eb9e8 00000000143e7c20 0x00000000143e7be0: 00000000f01fa038 0000000000000000 0x00000000143e7bf0: 00000000f01f9328 0000000000000000 0x00000000143e7c00: 00000000143e7c68 0000000005bb2929 0x00000000143e7c10: 0000000005bb2929 000000009f4eb9e8 0x00000000143e7c20: 00000000a12060d8 00000000143e7c28 0x00000000143e7c30: 00000000f02859b3 00000000143e7cc0 0x00000000143e7c40: 00000000f02865e0 0000000000000000 0x00000000143e7c50: 00000000f0285ad8 00000000143e7c18 0x00000000143e7c60: 00000000143e7cb0 00000000143e7d08 0x00000000143e7c70: 0000000005bb2a82 0000000000000000 0x00000000143e7c80: 0000000000000000 0000000000000000 0x00000000143e7c90: 0000000000000000 0000000000000000 0x00000000143e7ca0: 0000000000000000 0000000000000000 0x00000000143e7cb0: 000000009f4eba48 000000009f4eb9e8 0x00000000143e7cc0: 000000009f4ed050 00000000143e7cc8 0x00000000143e7cd0: 00000000f027b48e 00000000143e7d38 0x00000000143e7ce0: 00000000f027d7e8 0000000000000000 0x00000000143e7cf0: 00000000f027b4c8 00000000143e7cb0 0x00000000143e7d00: 00000000143e7d28 00000000143e7d80 0x00000000143e7d10: 0000000005bb2a82 0000000000000000 0x00000000143e7d20: 000000009f4eb9e8 000000009f4ed050 0x00000000143e7d30: 000000009f4eba48 00000000a11ea1a0 0x00000000143e7d40: 00000000143e7d40 00000000f04b14dc 0x00000000143e7d50: 00000000143e7db0 00000000f04b1d38 0x00000000143e7d60: 0000000000000000 00000000f04b1510 0x00000000143e7d70: 00000000143e7d28 00000000143e7d90 0x00000000143e7d80: 00000000143e7e10 0000000005bb2a82 0x00000000143e7d90: 00000000a11ea1a0 000000009f4ec6b0 0x00000000143e7da0: 000000009f4eba48 00000000a12060d8 0x00000000143e7db0: 000000009f4ec660 000000009f4ec660 0x00000000143e7dc0: 0000000000000001 00000000a11ead08 Instructions: (pc=0x0000000005c601b6) 0x0000000005c60196: e0 0f 83 e1 f0 74 45 48 8d 3c 0f 48 8d 34 0e 48 0x0000000005c601a6: f7 d9 f3 0f 6f 0c 0f f3 0f 6f 04 0e 66 0f ef c8 0x0000000005c601b6: 66 48 0f 38 17 c9 75 5c 48 83 c1 10 75 e4 85 c0 0x0000000005c601c6: 74 4b f3 0f 6f 4c 07 f0 f3 0f 6f 44 06 f0 66 0f Register to memory mapping: RAX=0x000000000000000a is an unknown value RBX=0x00000000a1206f60 is an oop [C - klass: {type array char} - length: 45 RCX=0xffffffffffffffb0 is an unknown value RDX=0x0000000000000000 is an unknown value RSP=0x00000000143e7bd0 is pointing into the stack for thread: 0x000000000d6cc800 RBP=0x00000000a1207740 is an oop java.util.HashMap$Entry - klass: 'java/util/HashMap$Entry' RSI=0x00000000a1206fc0 is an oop [C - klass: {type array char} - length: 45 RDI=0x000000009f4eb9d8 is an oop [C - klass: {type array char} - length: 45 R8 =0x000000009f4eb9e8 is an oop java.lang.String - klass: 'java/lang/String' R9 =0x00000000a92e0e83 is an unallocated location in the heap R10=0x0000000000000000 is an unknown value R11=0x000000000000002d is an unknown value R12=0x0000000000000000 is an unknown value R13=0x00000000143e7c18 is pointing into the stack for thread: 0x000000000d6cc800 R14=0x0000000000000000 is an unknown value R15=0x000000000d6cc800 is a thread Stack: [0x00000000142ea000,0x00000000143eb000], sp=0x00000000143e7bd0, free space=1014k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) J java.util.jar.Manifest.getAttributes(Ljava/lang/String;)Ljava/util/jar/Attributes; Created attachment 505155 [details]
Fatal error log running JBoss under valgrind trunk.
Created attachment 505156 [details]
valgrind output from running JBoss on valgrind trunk.
To reproduce on JBoss EAP 5.1.0: 1) Make copy of JBOSS_HOME/server/SERVERCONF/product called "tmp". 2) /opt/valgrind-trunk/bin/valgrind --trace-children=yes --leak-check=full --log-file=valgrind.log /etc/alternatives/java_sdk/bin/java -Dprogram.name=run.sh -server -Xms1303m -Xmx1303m -XX:MaxPermSize=256m -XX:MaxTenuringThreshold=0 -XX:+UseConcMarkSweepGC -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.lang.ClassLoader.allowArraySyntax=true -Djava.net.preferIPv4Stack=true -Djava.endorsed.dirs=/home/mmillson/jboss/eap-5.1.0/jboss-as/lib/endorsed -classpath /home/mmillson/jboss/eap-5.1.0/jboss-as/bin/run.jar:/etc/alternatives/java_sdk/lib/tools.jar org.jboss.Main -c tmp The first issue is KDE#194402, already fixed in valgrind 3.6.1. The second issue is IMNSHO a JDK bug, see Fedora bug #720854, butit is possible to work around it in valgrind too, see KDE#279071. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2011-1651.html |