https://bz.apache.org/bugzilla/show_bug.cgi?id=58519

Konstantin Kolinko <knst.koli...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|trunk                       |8.0.28

--- Comment #1 from Konstantin Kolinko <knst.koli...@gmail.com> ---
Ack.

1) Tomcat side.

> 1314        } catch (IllegalStateException ise) {
> 1315            ClassNotFoundException cnfe = new ClassNotFoundException();
> 1316            cnfe.initCause(ise);
> 1317            throw cnfe;
> 1318        }

initCause() usually is used for compatibility for 1.3 and earlier versions of
java that did not have a Throwable(Throwable cause) constructor. There is no
ClassNotFoundException(Throwable) constructor, but there is (String, Throwable)
one.

Calling initCause() here is a recent code, introduced in r1596004 (17 months
ago) with additional refactoring in r1640087.

> 
> I belive the problem is caused by setting initcause on created class when
> constructor
> new ClassNotFoundException()
> 
> has explicty stated:
> 
> 71     public ClassNotFoundException() {
> 72         super((Throwable)null);  // Disallow initCause
> 73     }

The above nasty trick in JRE is old. E.g. 5u20 already has it...



2) The trigger for this behaviour is a bug in your own web application.

You cannot load classes when the web application (and its class loader) has
already been stopped.

If you need help with fixing this bug in your application, ask on the users
mailing list. Don't forget to provide version numbers and full stack trace.

http://tomcat.apache.org/lists.html#tomcat-users
http://markmail.org/message/ntwrtxeke4agdexj

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to