DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8026>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8026 Exceptions in StandardHostDeployer.addChild are lost through invokeMethod Summary: Exceptions in StandardHostDeployer.addChild are lost through invokeMethod Product: Tomcat 4 Version: Nightly Build Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: Other Component: Catalina AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] The value of "Method.invoke()" is not debatable. However, it has its issues, outside of pure performance questions. one annoyance with it is the "InvocationTargetException" that it can throw. The meaning of this is that the called method threw an exception. It doesn't note WHAT the exception was, just that it threw an exception. If the called method didn't log or print the exception in some way, there's no way to know what happened. This is what can happen when the Digester is parsing the Tomcat configuration files. I made a mistake in merging changes from my old 4.0.4b2 "server.xml" into the CVS latest "server.xml". I ended up putting the "manager" Context into the new "server.xml". I didn't notice the "manager.xml" in webapps. I guess that somehow takes the place of the Context in the "server.xml" (although I can't quite get "manager" to work yet). Anyway, when Tomcat starts up with the bad "manager" Context, I eventually get an error from "MethodUtils.invokeMethod", being an InvocationTargetException. This is all I get. I don't even know what method it was invoking. I eventually had to build the latest Tomcat from CVS, and I added a print statement in that method, showing every method it was calling. I noticed the last one before it died, which was "StandardHostDeployer.addChild()". When I broke in that method in the debugger, it pointed out the problem to me, as it attempted to throw an IllegalStateException, which would have been thrown away. I'm not certain whether this should be reported against Tomcat, or Commons. The real problem is that "Method.invoke()" can't record exceptions thrown from the called method, but I doubt that'll be changed anytime soon. In Tomcat, you could try to log all exceptions that "might" be called from the Digester, which is probably impractical. I would guess the best fix would be to have the direct or indirect caller of "MethodUtils.invokeMethod()" to log the ITE exception, indicating the method that was called. That would at least point someone to the method, which is better than nothing. -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>