You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "guillaume delafosse (JIRA)" <ji...@apache.org> on 2010/09/09 10:37:33 UTC

[jira] Commented: (KARAF-189) Java endorsed dirs on AIX (IBM JVM)

    [ https://issues.apache.org/jira/browse/KARAF-189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12907560#action_12907560 ] 

guillaume delafosse commented on KARAF-189:
-------------------------------------------

I also reproduced with an empty main program running with the karaf/lib/endorsed file.
I recompiled your Exception class and commented some lines in order to isolate the trouble (see below). Finally I obtained to following exception :
Exception in thread "(unnamed thread)" java/lang/ExceptionInInitializerError
        at java/lang/J9VMInternals.initialize (J9VMInternals.java:222)
        at java/lang/J9VMInternals.initialize (J9VMInternals.java:167)
        at java/lang/Exception.<clinit> (Exception.java:82)
        at java/lang/J9VMInternals.initializeImpl (Native Method)
        at java/lang/J9VMInternals.initialize (J9VMInternals.java:200)
        at java/lang/J9VMInternals.initialize (J9VMInternals.java:167)
java/lang/NullPointerException
        at java/lang/SecurityManager.getRootGroup (SecurityManager.java:605)
        at java/lang/SecurityManager.<clinit> (SecurityManager.java:602)
        at java/lang/J9VMInternals.initializeImpl (Native Method)
        at java/lang/J9VMInternals.initialize (J9VMInternals.java:200)
        at java/lang/J9VMInternals.initialize (J9VMInternals.java:167)
        at java/lang/Exception.<clinit> (Exception.java:82)
        at java/lang/J9VMInternals.initializeImpl (Native Method)
        at java/lang/J9VMInternals.initialize (J9VMInternals.java:200)
        at java/lang/J9VMInternals.initialize (J9VMInternals.java:167)
JVMJ9VM015W Initialization error for library jclscar_24(14): JVMJ9VM009E J9VMDllMain failed
Could not create the Java virtual machine.

I had a look at SecurityManager.java:605, so it seems that IBM JVM 6 returns null for Thread.currentThread() at this moment.
It clearly looks an IBM bug.

/***************** My modified Exception class ***************************/

/*
 *  Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  See the NOTICE file distributed with
 *  this work for additional information regarding copyright ownership.
 *  The ASF licenses this file to You under the Apache License, Version 2.0
 *  (the "License"); you may not use this file except in compliance with
 *  the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

package java.lang;

/**
 * {@code Exception} is the superclass of all classes that represent recoverable
 * exceptions. When exceptions are thrown, they may be caught by application
 * code.
 * 
 * @see Throwable
 * @see Error
 * @see RuntimeException
 */
public class Exception extends Throwable {
	private static final long serialVersionUID = -3387516993124229948L;

	// private transient Class[] classContext = sm.getThrowableContext(this);

	/**
	 * Constructs a new {@code Exception} that includes the current stack trace.
	 */
	public Exception() {
		super();
	}

	/**
	 * Constructs a new {@code Exception} with the current stack trace and the
	 * specified detail message.
	 * 
	 * @param detailMessage
	 *            the detail message for this exception.
	 */
	public Exception(String detailMessage) {
		super(detailMessage);
	}

	/**
	 * Constructs a new {@code Exception} with the current stack trace, the
	 * specified detail message and the specified cause.
	 * 
	 * @param detailMessage
	 *            the detail message for this exception.
	 * @param throwable
	 *            the cause of this exception.
	 */
	public Exception(String detailMessage, Throwable throwable) {
		super(detailMessage, throwable);
	}

	/**
	 * Constructs a new {@code Exception} with the current stack trace and the
	 * specified cause.
	 * 
	 * @param throwable
	 *            the cause of this exception.
	 */
	public Exception(Throwable throwable) {
		super(throwable);
	}

	public Class[] getClassContext() {
		// return classContext;
		return null;
	}

	private static final SecurityManagerEx sm = new SecurityManagerEx();

	static class SecurityManagerEx extends SecurityManager {
		public Class[] getClassContext() {
			return super.getClassContext();
		}

		public Class[] getThrowableContext(Throwable t) {
			try {
				Class[] context = getClassContext();
				int nb = 0;
				for (;;) {
					if (context[context.length - 1 - nb] == t.getClass()) {
						break;
					}
					nb++;
				}
				Class[] nc = new Class[nb];
				System.arraycopy(context, context.length - nb, nc, 0, nb);
				return nc;
			} catch (Exception e) {
				return null;
			}
		}
		
	}

}

> Java endorsed dirs on AIX (IBM JVM)
> -----------------------------------
>
>                 Key: KARAF-189
>                 URL: https://issues.apache.org/jira/browse/KARAF-189
>             Project: Karaf
>          Issue Type: Bug
>    Affects Versions: 2.0.0
>         Environment: AIX 5.3, IBM jre 1.6 sr8, power-pc
> Ubuntu linux 10.04, IBM jre sr8, x86
>            Reporter: haedri
>            Priority: Minor
>
> I have troubles launching karaf 2.0 on AIX, using an IBM jre (1.6 sr8), here are the relevant lines of the output :
> IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 AIX ppc-32
> jvmap3260sr8-20100401_55940 (JIT enabled, AOT enabled)
> Unhandled exception
> Type=Segmentation error vmState=0x00000000
> (...)
> After trying everything possible (setting LDR_CTRL, LIBPATH, ulimit,...) it appears the problem is linked to the "-Djava.endorsed.dirs" parameter from the java startup command line, if I remove the "${KARAF_HOME}/lib/endorsed" entry, then karaf starts successfully.
> I've been able to reproduce the problem on a linux ubuntu on a x86 processor, using the same IBM jvm version (http://www.ibm.com/developerworks/java/jdk/linux/download.html)
> I think problem comes from IBM jre (because it works on a jre 1.6 sr0), but I din't investigate enough to be sure

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.