Bug 197343

Summary: BEA 1.5 JVM crash on JBoss 4.0.4GA test case
Product: Red Hat Enterprise Linux 4 Reporter: Thomas Fitzsimmons <fitzsim>
Component: java-1.5.0-beaAssignee: Georges Saab <gsaab>
Status: CLOSED DUPLICATE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0CC: cilla, fnasser, johan.walles, ldimaggi, ryan.campbell
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-11-30 17:33:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 203681    
Attachments:
Description Flags
JRockit internal bug filing guidelines, for reference
none
jrockit dump file
none
Dump file
none
jrockit.NNN.dump file none

Description Thomas Fitzsimmons 2006-06-30 12:31:52 UTC
From Len DiMaggio:

Found a way to reliably cause the JVM to core dump with a single test from the
JBoss test suite - I'll submit this as a bug to BEA and copy JBoss.

-----------------------------------------------------
With this JDK:

java version "1.5.0_03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_03-b07)
BEA JRockit(R) (build dra-45238-20050523-2021-linux-x86_64, R25.2.0-28)

And this test from the JBoss 4.0.4/GA test suite (download from jboss.com) - the
test causes a code dump when it executes line 62.

     1	/*
     2	* JBoss, Home of Professional Open Source
     3	* Copyright 2005, JBoss Inc., and individual contributors as indicated
     4	* by the @authors tag. See the copyright.txt in the distribution for a
     5	* full listing of individual contributors.
     6	*
     7	* This is free software; you can redistribute it and/or modify it
     8	* under the terms of the GNU Lesser General Public License as
     9	* published by the Free Software Foundation; either version 2.1 of
    10	* the License, or (at your option) any later version.
    11	*
    12	* This software is distributed in the hope that it will be useful,
    13	* but WITHOUT ANY WARRANTY; without even the implied warranty of
    14	* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    15	* Lesser General Public License for more details.
    16	*
    17	* You should have received a copy of the GNU Lesser General Public
    18	* License along with this software; if not, write to the Free
    19	* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    20	* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
    21	*/
    22	package org.jboss.test.cmp2.batchcascadedelete.test;
    23	
    24	import org.jboss.test.JBossTestCase;
    25	import org.jboss.test.cmp2.batchcascadedelete.ejb.Child;
    26	import org.jboss.test.cmp2.batchcascadedelete.ejb.ChildHome;
    27	import org.jboss.test.cmp2.batchcascadedelete.ejb.ChildUtil;
    28	import org.jboss.test.cmp2.batchcascadedelete.ejb.GrandchildHome;
    29	import org.jboss.test.cmp2.batchcascadedelete.ejb.GrandchildUtil;
    30	import org.jboss.test.cmp2.batchcascadedelete.ejb.Parent;
    31	import org.jboss.test.cmp2.batchcascadedelete.ejb.ParentHome;
    32	import org.jboss.test.cmp2.batchcascadedelete.ejb.ParentUtil;
    33	import junit.framework.Test;
    34	
    35	/**
    36	 * @author <a href="alex">Alexey Loubyansky</a>
    37	 * @version <tt>$Revision: 1.1.2.2 $</tt>
    38	 */
    39	public class BatchCascadeDeleteUnitTestCase
    40	   extends JBossTestCase
    41	{
    42	   /**
    43	    * Constructor for the JBossTestCase object
    44	    *
    45	    * @param name Test case name
    46	    */
    47	   public BatchCascadeDeleteUnitTestCase(String name)
    48	   {
    49	      super(name);
    50	   }
    51	
    52	   public static Test suite() throws Exception
    53	   {
    54	      return
JBossTestCase.getDeploySetup(BatchCascadeDeleteUnitTestCase.class,
"cmp2-batchcascadedelete.jar");
    55	   }
    56	
    57	   public void testCase4540() throws Exception
    58	   {
    59	      ParentHome parentHome = ParentUtil.getHome();
    60	      Parent parent = parentHome.create("parent");
    61	
    62	      ChildHome childHome = ChildUtil.getHome();
    63	      Child child = childHome.create( parent, "child");
    64	
    65	      GrandchildHome grandchildHome = GrandchildUtil.getHome();
    66	
    67	      // If you comment out the next line, then the call to
child.remove() works fine.
    68	      grandchildHome.create(child.getId(), "grandchild");
    69	
    70	      this is the test for non-null foreign key
    71	      child.remove();
    72	   }
    73	}


Here's the dump file:

Linux x86_64-4as.lab.boston.redhat.com 2.6.9-39.ELsmp #1 SMP Thu Jun 1 18:01:55
EDT 2006 x86_64 x86_64 x86_64 GNU/Linux
===== BEGIN DUMP =============================================================
JRockit dump produced after 0 days, 00:29:38 on Wed Jun 21 13:56:36 2006

Additional information is available in:
  /opt/jboss-4.0.4.GA-src/build/output/jboss-4.0.4.GA/bin/jrockit.15362.dump
No core file will be created because core dumps have been
disabled. To enable core dumping, try "ulimit -c unlimited"
before starting JRockit again.
If you see this dump, please open a support case with BEA and
supply as much information as you can on your system setup and
the program you were running. You can also search for solutions
to your problem at http://forums.bea.com in
the forum jrockit.developer.interest.general.
Error Message: Illegal memory access. [54]
Signal info  : si_signo=12, si_code=-6
Version      : BEA JRockit(R) R25.2.0-28 dra-45238-20050523-2021-linux-x86_64
GC           : System optimized over throughput (initial strategy singleparpar)
             : GC strategy for GC 4 was genparpar
             : GC strategy for GC 5 was singleparpar
             : GC strategy for GC 6 was genparpar
             : GC strategy for GC 7 was singleparpar
             : GC strategy for GC 8 was genparpar
             : mmHeap->data = 0x20000000, mmHeap->top = 0x28000000
             : mmStartCompaction = 0x21800000, mmEndCompaction = 0x22000000
CPU          : Intel Pentium 4 SSE SSE2 NetBurst EM64T
Number CPUs  : 2
Tot Phys Mem : 4120244224
OS version   : Red Hat Enterprise Linux AS release 4 (Nahant Update 4 Beta)
Linux version 2.6.9-39.ELsmp (bhcompile.redhat.com) (gcc
version 3.4.6 20060404 (Red Hat 3.4.6-2)) #1 SMP Thu Jun 1 18:01:55 EDT 2006
State        : JVM is running (Main thread has finished)
Command Line : -Djrockit.launcher.type=jrockit.shipment -server -Xms128m
-Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000 -Dprogram.name=run.sh
-Djava.endorsed.dirs=/opt/jboss-4.0.4.GA-src/build/output/jboss-4.0.4.GA/lib/endorsed
org.jboss.Main -c all
Environment  : JAVA_HOME=(null),
java.home=/usr/lib/jvm/java-1.5.0-bea-1.5.0.03/jre,
java.class.path=/opt/jboss-4.0.4.GA-src/build/output/jboss-4.0.4.GA/bin/run.jar:/lib/tools.jar,
java.library.path=/usr/lib/jvm/java-1.5.0-bea-1.5.0.03/jre/lib/amd64/jrockit:/usr/lib/jvm/java-1.5.0-bea-1.5.0.03/jre/lib/amd64:/usr/lib/jvm/java-1.5.0-bea-1.5.0.03/jre/../lib/amd64
C Heap       : Good; no memory allocations have failed

Registers (from context struct at 0x40e899f8/0x40e89a70):
RAX = ffffffff00000010  RBX = 00000000f7bc5de8
RCX = 00000000f7bc5df8  RDX = 00000000ffcb1bf3
R8  = 000000000002feeb  R9  = 000000009090feeb
R10 = 0000002a9b7aeed0  R11 = 0000002a9577893c
R12 = 0000000040e89e58  R13 = 0000000000000001
R14 = 0000000000000001  R15 = 0000002a9b7aed08
RSI = 0000000020c8bb78  RDI = 00000000220b1108
RSP = 0000000040e89eb0  RIP = 00000001009ccec8
RBP = 00000000220b1108  RFL = 00000206

CS = 0000 GS = 0000 FS = 0000

Stack:
0000000040e89eb0: 0000000021ff0238 00000001009ccbb5 00000000220d6b28
0000000020c81130 0000000022078920 0000000021ff0238 
0000000040e89ee0: 0000000100000a22 0000000003c3d730 00000000220d6b40
0000000020c8bb48 0000000022078920 0000000021ff0238 
0000000040e89f10: 00000001009ca128 00000001009c9fdf 0000000022078920
0000000020c70cb0 00000000220b22a8 00000000220924a8 
0000000040e89f40: 0000000020c8bb48 0000000021ff0238 0000000022078920
0000000020c6ed78 00000001009c9c23 0000000020c6ee40 
0000000040e89f70: 0000000100000a45 000000000000001c 0000000021ff0238
0000000020c6ed78 0000000022078920 0000000021ff0238 
0000000040e89fa0: 00000001009c9b55 0000000020c137d8 00000001009c8e0f
0000000000000000 0000000022078920 0000000020b0b3b8 
0000000040e89fd0: 0000000021ff0238 0000000020c8b568 0000000000000000
0000000021ff0238 0000000020c137d8 0000000021ff0238 
0000000040e8a000: 0000000021ff0238 00000001009c8cb5 0000000020c0f3d8
00000001009c8bd4 0000000020c10a90 0000000003c064b0 
0000000040e8a030: 0000000021ff0238 0000000020c0f3d8 00000001009c8a8f
0000000003c057f0 0000000020a5ddb0 00000000220924a8 
0000000040e8a060: 00000001009c8296 0000000000000001 0000002a9b7aed08
000000010000090f 00000000005d7cd0 0000002a9b7aeed0 
0000000040e8a090: 00000000a6bf41f8 0000000020c0dca8 0000000021ff0238
0000000000000000 0000000020a5ddb0 0000000003bffb80 
0000000040e8a0c0: 0000000021ff0238 0000000000000000 0000000020a5ddb0
00000000220924a8 00000001009c7386 0000000020a5ddb0 
0000000040e8a0f0: 03c028209b7aed08 0000002a9b7aeed8 0000000020c0dca8
0000000000000000 00000000220924a8 0000000021ff0238 
0000000040e8a120: 0000000000000000 00000000220924a8 000000000000012c
0000002a9b7aeed0 0000000100000000 000000010002bdf0 
0000000040e8a150: 0000000020c08a38 0000000020a5ddb0 0000000100000a22
0000000003c00cf8 0000000000000001 00000000274b8c38 
0000000040e8a180: 0000000020c08a38 0000000021ff0238 00000001009c6da7
0000000100000a45 0000000020c0dca8 0000000021ff0238 
0000000040e8a1b0: 0000000000000000 0000000000000000 0000000021ff0238
00000001009c62a0 0000000021ff0238 0000000020c07368 
0000000040e8a1e0: 00000001009c612a 00000000005d7c90 0000000020c07368
0000000021ff0238 0000000021103b10 0000000000000000 
0000000040e8a210: 0000000021ff0238 0000000100000a45 000000000000001c
0000002a969f1010 0000000003bf6978 0000000020c05d48 
0000000040e8a240: 0000000021ff0238 00000001009c5b5f 0000000021ff0238
0000000000000000 0000000021ff4240 0000000020c05d48 
0000000040e8a270: 0000000021ff0238 0000000020b0b3b8 0000000021ff0238
00000001009c58b4 00000000210fb030 0000000040e8a3e0 
0000000040e8a2a0: 0000000020a5ddb0 00000001009c4f23 00000000269f9f90
0000000020b0b3b8 0000000021ff0238 0000000021033388 
0000000040e8a2d0: 0000010bf7bc5c80 00000000210fb030 0000002a00000001
0000000000000000 0000002a9b7aed08 0000002a956ad0b1 
0000000040e8a300: 000000000000029c 0000000002645f21 0000002a9b7aeec0
0000000040e8a598 0000000040e8a3e0 0000000040e8a560 
0000000040e8a330: 0000000100030068 0000000040e8a4f8 0000000040e8a3e0
00000001009c4b10 0000002a9b7aeb20 0000002a9b7aed08 
0000000040e8a360: 0000000000000001 0000000000000001 0000000040e8a3e0
0000002a9b7aed08 000000000064ca60 0000002a9560787a 
0000000040e8a390: 0000000000000002 0000002a956d3107 0000000103bb9370
000000000056aaa8 0000000040e8a500 0000002a9b7aee48 
0000000040e8a3c0: 0000002a9b7b3b00 0000002a956aca24 0000000003bb9370
0000000002643f80 0000002a9b7aee48 0000002a9b7aeec0 
0000000040e8a3f0: 0000000000000000 0000000100000000 0000000100000001
0000002a9b7aed28 0000000003bb9370 0000002a9b7aed08 
0000000040e8a420: 000000000056aaa8 0000000100000007 0000000200000001
0000000200000000 0000002a00000000 0000002a956c3228 
0000000040e8a450: 03bc261800000000 0000000002643f80 0000002a9b7aed08
0000002a9b7b3b00 0000002a9b7aee48 0000002a956c36f0 
0000000040e8a480: 0000000000000000 0000002a956c337c 0000002a956c36f0
0000000040e8a4f8 0000000040e8a500 0000000002643f80 
0000000040e8a4b0: 0000000000000001 0000002a9b7aee48 0000000000000000
0000002a9b7aed08 0000000002643f80 0000002a956c37c9 
0000000040e8a4e0: 011f3cc000000000 0000000040e8a4f8 000000010003af7a
0000002a9b7aeec8 0000000040e8a598 0000002a9b7aed08 
0000000040e8a510: 00000001001ecc8b 0000002a9b7aee58 0000002a9b7aeb20
0000000040e8a560 0000000000000001 0000000000000001 
0000000040e8a540: 0000002a9b7aed08 0000002a956cc14a 0000002a9b7aee48
000000010003c1e0 0000000000688b30 0000002a9b7aee48 
0000000040e8a570: 000000002192dec8 000000010003bfa7 0000000020b0b3b8
0000000021ff6d58 000000010003bea6 0000000021ff6be8 
0000000040e8a5a0: 0000000021ff6d58 0000000020b0b3b8 0000000021ff6be8
0000000100000001 0000000020b0b3b8 0000000020b0b3b8 
0000000040e8a5d0: 0000000021ff6be8 000000010005db3e 0000000021ff6be8
0000000021ff6d58 0000000020b0b3b8 0000000021ff6d98 
0000000040e8a600: 000000010003bd09 0000000021ff6be8 0000000021ff6be8
0000000021ff6be8 0000000020fa8d58 000000010003b2d5 
0000000040e8a630: 0000000021ff6be8 0000000020b0b3b8 0000000001939c68
0000000100003945 00000000200a1118 0000000025179958 
0000000040e8a660: 0000000000000001 000000000193de20 0000000021ff6c80
0000000020fa8d58 000000010023c5c8 0000000021ff6be8 
0000000040e8a690: 00000000ffffffff 0000000021ff6d10 0000000020ffd028
0000000021ff6c80 0000000020fa8d58 0000000020b0b3b8 

Code:
00000001009ccdc8: 894890ff672533e8 c3d2f8252c8b48f3 0001025188b84803
ff6362c8e8000000 0e7ee82824748948 482824748b48ff67 
00000001009ccdf8: 00002a9b7ca2b8bf 26048b273c8b4800 7c8b48ff670fa3e8
0e16e826048b0824 0f0ee826048bff69 ee8948f78948ff67 
00000001009cce28: 90004d8b241c8948 50b848ff6bef21e8 9000000000010531
df8948ff63626be8 25048b4864f38948 28468948000000d8 
00000001009cce58: de8948ff647717e8 894890ff67249be8 ede81024748b48f3
85e8de8948ff6364 cccccccc90ff6724 8bfe8948f38948cf 
00000001009cce88: ffffffe0b848260c 480114ffffffffff 67b8c189c389de89
c1c889e9f7666666 89c2011fe8c104fa c82928c96bd189d8 
00000001009cceb8: 08768b48137fc085 1776084639d8f748 48c35b10c6748b48
127608463908768b 48c35b10c6748b48 000001009ccec6b8 
00000001009ccee8: 009cced6b848f400 ccccccf400000001 cccccccccccccccc
8b4840ec83485553 854820408b483846 4800000213840fc0 
00000001009ccf18: 4de838768b48f389 05e8f58948000002 8948c18948ff75bb
314830244c8948d8 44894838708b48db 0c8b20768b480824 
00000001009ccf48: e8ffff43e1e89026 24548b48ff63622c 89480824448b4830
244c8948ee8948f1 0093e910768b4828 8948304e8b480000 
00000001009ccf78: 8948d58948382474 8948cd2948302454 0c8b0824448948c6
48ffe4d635e89020 d53948d88948c289 480774c08548737c 
00000001009ccfa8: b84826eb38245c8b 00000000011df298 f38948ff6360f3e8
5c8948ff66b3dbe8 481024448b481024 48df894838245c8b 

Loaded modules:
(* denotes the module causing the exception)
0x400000-0x411037  /usr/lib/jvm/java-1.5.0-bea-1.5.0.03/jre/bin/java
0x3a5dc00000-0x3a5dc0eff9  /lib64/tls/libpthread.so.0
0x3a5d400000-0x3a5d48459b  /lib64/tls/libm.so.6
0x3a5cf00000-0x3a5cf01c73  /lib64/libdl.so.2
0x3a5d100000-0x3a5d22ac59  /lib64/tls/libc.so.6
0x3a5cd00000-0x3a5cd1434f  /lib64/ld-linux-x86-64.so.2
0x2a95588000-0x2a957a660f 
/usr/lib/jvm/java-1.5.0-bea-1.5.0.03/jre/lib/amd64/jrockit/libjvm.so
0x2a959e3000-0x2a959ecf13  /lib64/libnss_files.so.2
0x2a96c6f000-0x2a96c93473 
/usr/lib/jvm/java-1.5.0-bea-1.5.0.03/jre/lib/amd64/libjava.so
0x2a96d99000-0x2a96da5627 
/usr/lib/jvm/java-1.5.0-bea-1.5.0.03/jre/lib/amd64/libverify.so
0x3a62e00000-0x3a62e134eb  /lib64/libnsl.so.1
0x2a99d9f000-0x2a99db3fcf 
/usr/lib/jvm/java-1.5.0-bea-1.5.0.03/jre/lib/amd64/libnet.so
0x2a99eb6000-0x2a99ebed33  /lib64/libnss_nis.so.2
0x2a99fc0000-0x2a99fc38a3  /lib64/libnss_dns.so.2
0x3a5e200000-0x3a5e210d9b  /lib64/libresolv.so.2
0x2a9b5c8000-0x2a9b5c897b 
/usr/lib/jvm/java-1.5.0-bea-1.5.0.03/jre/lib/amd64/librmi.so


"RMI TCP Connection(4)-192.168.7" id=149 idx=0xc8 tid=1088993632 lastJavaFrame=(nil)

Thread Stack Trace:

Additional information is available in:
  /opt/jboss-4.0.4.GA-src/build/output/jboss-4.0.4.GA/bin/jrockit.15362.dump
No core file will be created because core dumps have been
disabled. To enable core dumping, try "ulimit -c unlimited"
before starting JRockit again.
If you see this dump, please open a support case with BEA and
supply as much information as you can on your system setup and
the program you were running. You can also search for solutions
to your problem at http://forums.bea.com in
the forum jrockit.developer.interest.general.
Extended, platform specific info:
libc release: 2.3.4-stable
Elf headers:
libc       ehdrs: EI: 7f454c46020101000000000000000000 ET: 3 EM: 62 V: 1 ENTRY:
0x3a5d11c4a0 PHOFF: 0x40 SHOFF: 0x13d5a8 EF: 0x0 HS: 64 PS: 56 PHN; 10 SS: 64
SHN: 69 STIDX: 66
libpthread ehdrs: EI: 7f454c46020101000000000000000000 ET: 3 EM: 62 V: 1 ENTRY:
0x3a5dc05620 PHOFF: 0x40 SHOFF: 0x12980 EF: 0x0 HS: 64 PS: 56 PHN; 9 SS: 64 SHN:
38 STIDX: 35
libjvm     ehdrs: EI: 7f454c46020101000000000000000000 ET: 3 EM: 62 V: 1 ENTRY:
0x36c80 PHOFF: 0x40 SHOFF: 0x3106f0 EF: 0x0 HS: 64 PS: 56 PHN; 3 SS: 64 SHN: 22
STIDX: 19
===== END DUMP ===============================================================

Comment 1 Len DiMaggio 2006-06-30 14:56:31 UTC
Modified Summary only - added version #'s

Comment 2 Johan Walles 2006-07-11 11:13:06 UTC
Created attachment 132227 [details]
JRockit internal bug filing guidelines, for reference

BEA's internal JRockit bug filing guidelines.  Some of this talks about
internal systems that you obviously cannot access, but the questions asked
should be easy enough to answer.

Comment 3 Johan Walles 2006-07-11 11:17:25 UTC
Here's the reply I wrote in our internal bug tracking system.  This case is
CR284516 to us.  This answer is really directed at support (which is from where
I usually get bug reports), but I prefer to post an exact copy here rather than
re-writing it.  We'll see for how long I manage to keep the two bug trackers
consistent :-).

"
Hi!

1. Having core dumps, as well as .dump files from the Dragon crashes as well 
would be excellent!

2. How reproducable is this?  That's one of the questions asked by 
http://wiki.jrpg.bea.com/display/SUPPORT/Create+a+JRockit+CR.  Please follow 
those instructions when filing bugs for CCE.

3. I'd like to eliminate code-gc as a reason for these problems.  Please run 
R26.4 with -XXnocodegc and see if you can still reproduce.

4. I'd like to eliminate code optimizations as a reason for these problems.  
Please run with -Xnoopt and see if you can still reproduce.  If you can't, 
please run with -Xverbose:opt and try to find which method gets mis-optimized 
by creating an opt file from the last optimized methods before the crash.  
Run with -Xnoopt and put +themethodsyouwantoptimized in the opt file:

"
Directives are used for saying that certain methods should not be optimized, 
or should be forced optimized. By specifying a file with 
-Djrockit.optfile=<filename> this file is used for reading directives to the 
optimizer. The file contains lines with methods and directives.

    * + means: preoptimize this method and allow the hotspot detector to 
optimize it.
    * - means: never optimize this method.

An optfile could look something like this:
"
- bm/time/StaticFactorialTest.fact(I)I
+ java/lang/FloatingDecimal.dtoa
+ java/lang/Object
- sun/awt/windows/WComponentPeer.set*
"
"
"

Comment 4 Len DiMaggio 2006-07-11 19:19:18 UTC
I added responses between lines of ---- characters below - I haven't been able
to locate any output from -Xverbose:opt - where should it be visible?



------ Additional Comments From johan.walles  2006-07-11 07:17 EST -------
Here's the reply I wrote in our internal bug tracking system.  This case is
CR284516 to us.  This answer is really directed at support (which is from where
I usually get bug reports), but I prefer to post an exact copy here rather than
re-writing it.  We'll see for how long I manage to keep the two bug trackers
consistent  :-) .

"
Hi!

1. Having core dumps, as well as .dump files from the Dragon crashes as well 
would be excellent!

The core files are not being created - any ideas why?

------------------------------------------------------------------
.qa.[root@x86_64-4as bin]# more  jrockit.26635.dump
===== BEGIN DUMP =============================================================
JRockit dump produced after 0 days, 00:00:47 on Tue Jul 11 13:45:13 2006

Additional information is available in:
  /opt/jboss-4.0.4.GA-src/build/output/jboss-4.0.4.GA/bin/jrockit.26635.dump
  /opt/jboss-4.0.4.GA-src/build/output/jboss-4.0.4.GA/bin/core or core.26635
If you see this dump, please open a support case with BEA and
supply as much information as you can on your system setup and
the program you were running. You can also search for solutions
to your problem at http://forums.bea.com in
the forum jrockit.developer.interest.general.

Error Message: Illegal memory access. [54]
Signal info  : si_signo=11, si_code=1 si_addr=0x229c6813e0
Version      : BEA JRockit(R) R26.4.0-63-63688-1.5.0_06-20060626-2259-linux-x86_64
GC           : System optimized over throughput (initial strategy singleparpar)

.qa.[root@x86_64-4as bin]# ulimit 
unlimited

.qa.[root@x86_64-4as bin]# ls -lt
total 360
-rw-r--r--  1 root root 16562 Jul 11 13:45 jrockit.26635.dump

No idea why core files are not being written.

------------------------------------------------------------------

2. How reproducible is this?  That's one of the questions asked by 
http://wiki.jrpg.bea.com/display/SUPPORT/Create+a+JRockit+CR.  Please follow 
those instructions when filing bugs for CCE.

------------------------------------------------------------------
100% reproducible
------------------------------------------------------------------

3. I'd like to eliminate code-gc as a reason for these problems.  Please run 
R26.4 with -XXnocodegc and see if you can still reproduce.

------------------------------------------------------------------
The above dump is with that switch set.
------------------------------------------------------------------

4. I'd like to eliminate code optimizations as a reason for these problems.  
Please run with -Xnoopt and see if you can still reproduce. 

------------------------------------------------------------------
It's still reproducible with -Xnoopt.
------------------------------------------------------------------

If you can't, 
please run with -Xverbose:opt and try to find which method gets mis-optimized 
by creating an opt file from the last optimized methods before the crash.  
Run with -Xnoopt and put +themethodsyouwantoptimized in the opt file:

------------------------------------------------------------------
I tried running with -Xverbose:opt, but I can't see any verbose output being
generated or written to a file - where should it be?
------------------------------------------------------------------

"
Directives are used for saying that certain methods should not be optimized, 
or should be forced optimized. By specifying a file with 
-Djrockit.optfile=<filename> this file is used for reading directives to the 
optimizer. The file contains lines with methods and directives.

    * + means: preoptimize this method and allow the hotspot detector to 
optimize it.
    * - means: never optimize this method.

An optfile could look something like this:
"
- bm/time/StaticFactorialTest.fact(I)I
+ java/lang/FloatingDecimal.dtoa
+ java/lang/Object
- sun/awt/windows/WComponentPeer.set*
"
"




Comment 5 Len DiMaggio 2006-07-11 19:31:43 UTC
The test that is causing the failure is:
org.jboss.test.cmp2.audit.test.AuditUnitTestCase

This is the test following the test originally listed in this bug -
org.jboss.test.cmp2.batchcascadedelete.test.BatchCascadeDeleteUnitTestCase

I'm attaching a jrockit dump file with this failure. I'm not sure why the test
that causes the failure changed - the server in question has not been reinstalled.



Comment 6 Len DiMaggio 2006-07-11 19:32:50 UTC
Created attachment 132265 [details]
jrockit dump file

Comment 7 Johan Walles 2006-07-12 06:56:17 UTC
I don't understand either why core files aren't being generated.  It usually
depends on not having write access (but you do, otherwise you wouldn't get the
.dump file), having limited the core file size using ulimit (but then the .dump
file should say so), not having enough disk space (but that should give you a
truncated core file).

1. Can you try "ulimit -a" before running?  Doing just "ulimit" reports only one
limit, and it's not the core file size one.
2. I have a vague feeling that I've heard that core files don't get dumped onto
NFS file systems.  Could that be the case here?
3. Try doing "export JROCKIT_DUMP_PATH=/tmp" before running and see if you get a
core file in /tmp.

4. Please attach the full .dump file from running with -XXnocodegc to the bugzilla.

5. If / when you get core file(s), please post *both* the core file and the
corresponding .dump file.  Core files compress well, bzip2 is your friend :-).

The output from -Xverbose:opt goes to stderr.  But if no methods are optimized
(which is definitely possible), you won't get any output.

I've numbered a couple of requests above to make them easier to answer.


Comment 8 Len DiMaggio 2006-07-12 17:14:43 UTC
Setting the tmp dir env variable fixed the no-core file problem. I have a 40+MB
bzip2'ed core file. It's too large to attach to this bugzilla - I'm looking for
an externally visible place to store the file.
 

Comment 9 Len DiMaggio 2006-07-12 17:17:18 UTC
Also - I've been trying to find a subset of the test suite that can run
successfully without a core dump - not much luck yet - I've eliminated these
tests from the test suite but am still seeing core dumps:

          <exclude name="**/AuditUnitTestCase.class"/> 
          <exclude name="**/cmp2/**/*UnitTestCase.class"/>
          <exclude name="**/cts/**/*UnitTestCase.class"/>
          <exclude name="**/deployers/**/*UnitTestCase.class"/>
          <exclude name="**/dbtest/**/*UnitTestCase.class"/>



Comment 10 Len DiMaggio 2006-07-12 19:16:42 UTC
Added Ryan Campbell to cc: list.

Comment 11 Len DiMaggio 2006-07-12 19:56:29 UTC
Created attachment 132329 [details]
Dump file

Ryan Campbell putting the corresponding core file on a JBoss server.

Comment 12 Ryan Campbell 2006-07-12 19:59:13 UTC
Here is the file for download: http://testsuite.jboss.com/core.1526.bz2

Comment 13 Johan Walles 2006-07-13 14:44:05 UTC
Thanks, I got the core file and it looks good.  Will get back to you with an
analysis when I have one.


Comment 14 Georges Saab 2006-07-14 12:44:55 UTC
This is being tracked at BEA as CR284516

Comment 15 Len DiMaggio 2006-07-19 01:32:32 UTC
George and Johan - have you found anything yet? The core dumping is still
blocking our testing. Thanks!

Comment 16 Johan Walles 2006-07-20 06:33:09 UTC
I'm sorry for not getting back to you.

This issue has just gotten its BEA-internal priority raised, but it may still be
a couple of days before you get any update here.


Comment 20 Georges Saab 2006-08-16 09:02:15 UTC
The original bug report and dump file were against JRockit R26.4.  Unfortunately
the core file you supplied is produced with an older version (R26.3).  We want
to make sure that we are analysing the right problem - could you produce and
provide us with a core file obtained running on R26.4, please?

Comment 21 Len DiMaggio 2006-08-17 13:11:56 UTC
Sorry about the mixup - the server that was used to generate the core file has
since been reinstalled. Can you send me a pointer to a URL from which I can
download the correct version of the JDK/JVM? Thanks!

Comment 22 Georges Saab 2006-08-17 13:21:31 UTC
Follow the JRockit 5.0 link from

http://commerce.bea.com/products/weblogicjrockit/jrockit_prod_fam.jsp 



Comment 23 Len DiMaggio 2006-08-17 15:01:00 UTC
Just to be certain - this is the JRockit version, right?

BEA JRockit(R) 1.4.2_08 JVM R24.5.0-61

http://download2.bea.com/pub/jrockit/142_08/jrockit-24.5.0-j2sdk1.4.2_08-linux-ia32.bin


Comment 24 Georges Saab 2006-08-18 07:33:09 UTC
No, that is a fairly old 1.4.2 VM!

You want the 1.5 (marketing name 5.0) VM, the correct version is (as shown in
the dump above)

BEA JRockit(R) R26.4.0-63-63688-1.5.0_06-20060626-2259-linux-x86_64

If you downloaded from the link I added above, then check your path, because
what you are running is not what I directed you to...

Comment 25 Len DiMaggio 2006-08-18 13:55:41 UTC
Thanks - I'm retrying the test with this download:

http://download2.bea.com/pub/jrockit/50/jrockit-R26.4.0-jdk1.5.0_06-linux-ia32.bin

Comment 26 Len DiMaggio 2006-08-18 13:58:11 UTC
It's this version:

[root@dl385-02 opt]# ./jrockit-R26.4.0-jdk1.5.0_06/bin/java -version
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
BEA JRockit(R) (build R26.4.0-63-63688-1.5.0_06-20060626-2259-linux-ia32, )


Comment 27 Len DiMaggio 2006-08-18 18:04:30 UTC
Created attachment 134461 [details]
jrockit.NNN.dump file

Comment 28 Len DiMaggio 2006-08-18 18:08:29 UTC
Test results - on an x86_64 system:

---> 32-bit JDK
java version "1.5.0_06" Java(TM) 2 Runtime Environment, Standard Edition (build
1.5.0_06-b05) BEA JRockit(R) (build
R26.4.0-63-63688-1.5.0_06-20060626-2259-linux-ia32, )
http://download2.bea.com/pub/jrockit/50/jrockit-R26.4.0-jdk1.5.0_06-linux-ia32.bin

   Results = JBoss 4.0.4GA test suite runs to completion - no core dumps, pass
rate = 94%

---> 64-bit JDK
java version "1.5.0_06" Java(TM) 2 Runtime Environment, Standard Edition (build
1.5.0_06-b05)BEA JRockit(R) (build
R26.4.0-63-63688-1.5.0_06-20060626-2259-linux-x86_64, )
http://download2.bea.com/pub/jrockit/50/jrockit-R26.4.0-jdk1.5.0_06-linux-x64.bin

Core dump with test: org.jboss.test.cmp2.audit.test.AuditUnitTestCase

This is the same problem as is listed above. I'll attach the jrockit.NNN.dump
file to this bugzilla and will add a pointer to the core file as soon as I can
get it onto an externally visible http server.

Comment 29 Len DiMaggio 2006-08-18 20:09:14 UTC
The core file can be accessed here:

server: ftp.jboss.com
user: public
password: st@pl3r 

Just login and do a "get bea.tar.gz"



Comment 30 Johan Walles 2006-09-26 07:54:04 UTC
Got a very short and simple repro from Vivek Lakshmanan in bug 203681.

Patched builds available at:
ftp://jrpgftp.jrpg.bea.com/cce/patches/CR284516/R26.4.0

java -version should yield:
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
BEA JRockit(R) (build 
R26.4.0-63_CR284516-68626-1.5.0_06-20060926-0859-linux-x86_64, )

Please let us know if they fix this problem.


Comment 31 Thomas Fitzsimmons 2006-11-30 17:33:29 UTC

*** This bug has been marked as a duplicate of 203681 ***