import org.apache.catalina.security.SecurityClassLoad;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
-import org.apache.tomcat.util.ExceptionUtils;
/**
catalinaLoader = createClassLoader("server", commonLoader);
sharedLoader = createClassLoader("shared", commonLoader);
} catch (Throwable t) {
- ExceptionUtils.handleThrowable(t);
+ handleThrowable(t);
log.error("Class loader creation threw exception", t);
System.exit(1);
}
try {
bootstrap.init();
} catch (Throwable t) {
- ExceptionUtils.handleThrowable(t);
+ handleThrowable(t);
t.printStackTrace();
return;
}
log.warn("Bootstrap: command \"" + command + "\" does not exist.");
}
} catch (Throwable t) {
- ExceptionUtils.handleThrowable(t);
+ handleThrowable(t);
t.printStackTrace();
}
}
+ // Copied from ExceptionUtils since that class is not visible during start
+ private static void handleThrowable(Throwable t) {
+ if (t instanceof ThreadDeath) {
+ throw (ThreadDeath) t;
+ }
+ if (t instanceof VirtualMachineError) {
+ throw (VirtualMachineError) t;
+ }
+ // All other instances of Throwable will be silently swallowed
+ }
}
<bug>50018</bug>: Fix some minor Javadoc errors in Jasper source.
Based on a patch by sebb. (timw)
</fix>
+ <fix>
+ <bug>50021</bug>: Correct a regression in the fix for <bug>46844</bug>
+ that may have caused additional problems during a failure at start up.
+ (markt)
+ </fix>
</changelog>
</subsection>
<subsection name="Coyote">