You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Mohan Radhakrishnan <ra...@gmail.com> on 2018/12/08 13:39:46 UTC

--illegal-access-warn and --illegal-access-deny show different violations

Hi,
        When I use --illegal-access-warn I see these.

WARNING: Illegal reflective access by
org.apache.catalina.loader.WebappClassLoaderBase
(file:/C:/Users/476458/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/8.5.34/tomcat-embed-core-8.5.34.jar)
to field java.io.ObjectStreamClass$Caches.localDescs

but when I use --illegal-access-deny I see messages originating from Spring.
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at
org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(AbstractRunMojo.java:558)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalStateException: Cannot load configuration
class:
org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration

I thought Tomcats's messages would stop the JVM. Why does this happen ?

Thanks,
Mohan

Re: --illegal-access-warn and --illegal-access-deny show different violations

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Mohan,

On 12/9/18 02:55, Mohan Radhakrishnan wrote:
> Yes.  --illegal-access=warn
> 
> It doesn't stop the JVM.  I misunderstood.
> 
> But --illegal-access=deny shows the Spring violation first. While
> 'warn' showed Tomcat's first. So I assumed that 'deny' will first 
> show Tomcat's messages again.
> 
> Why does 'deny' not show Tomcat's messages first like 'warn' does ?
> How does 'deny' go ahead and try to load Spring when Tomcat's
> classloaders have a problem ?

I have no idea. It's possible that "denying" a call causes other
things to happen within Spring... or Tomcat. It's also possible that
Spring is catching the exceptions that "deny" might throw, and then
getting caught by something else.

- -chris

> On Sat, 8 Dec 2018 at 22:53, Christopher Schultz < 
> chris@christopherschultz.net> wrote:
> 
> Mohan,
> 
> On 12/8/18 08:39, Mohan Radhakrishnan wrote:
>>>> Hi, When I use --illegal-access-warn I see these.
>>>> 
>>>> WARNING: Illegal reflective access by 
>>>> org.apache.catalina.loader.WebappClassLoaderBase 
>>>> (file:/C:/Users/476458/.m2/repository/org/apache/tomcat/embed/tomca
t-e
>
>>>> 
mbed-core/8.5.34/tomcat-embed-core-8.5.34.jar)
>>>> 
>>>> 
> to field java.io.ObjectStreamClass$Caches.localDescs
>>>> 
>>>> but when I use --illegal-access-deny I see messages
>>>> originating from Spring.
>>>> java.lang.reflect.InvocationTargetException at 
>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Nat
ive
>>>>
>>>>
>
>>>> 
Method)
>>>> at 
>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nati
veM
>
>>>> 
ethodAccessorImpl.java:62)
>>>> 
>>>> 
> at
>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(
Del
>
>>>> 
egatingMethodAccessorImpl.java:43)
>>>> 
>>>> 
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>>>> at 
>>>> org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(Abs
tra
>
>>>> 
ctRunMojo.java:558)
>>>> 
>>>> 
> at java.base/java.lang.Thread.run(Thread.java:834)
>>>> Caused by: java.lang.IllegalStateException: Cannot load 
>>>> configuration class: 
>>>> org.springframework.boot.autoconfigure.context.PropertyPlaceholderA
uto
>
>>>> 
Configuration
>>>> 
>>>> I thought Tomcats's messages would stop the JVM. Why does
>>>> this happen ?
> 
> This will just throw an exception. It doesn't kill the JVM.
> 
> Also, I think it's --illegal-access=warn, not
> --illegal-access-warn... right?
> 
> -chris
>> 
>> ---------------------------------------------------------------------
>>
>> 
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>> 
>> 
> 
-----BEGIN PGP SIGNATURE-----
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlwOh+YACgkQHPApP6U8
pFgjUw/+KEtJyNW5rWm/KxL8fH8GL4LM+8nkomDdUeJICK5NhQKakMsuTbFgQZRi
CIR5h+L2rBUY4CerMGYoNcIzjd79IDkdWN/xdo6/E6UbyO7tZfC2x/X/WjX4eTGw
Fle3HzpC2A04UTvAN3LLNiUklwa7Ggj2QeZ6+BwogujnarCaNROZ/gYyHKehZ++0
Joq25i8Yl0sZLA8gJf98bIurfbzHH3+7ZBoNDvAtaQQi41IhJWh2a/6DL84Vfx2+
q4TLrZ7XnCwhMcHptJIqRUsQ5bEtoobrYYZoN6g6dIyVxwn2srsSu04HJcEwIM2Q
Dmi9cjsKPaMOjVy0nsARkjKPv9pfZfg2w+MNTyKY1wmgLQWY3PteweUwE4jns9Jp
js0/KKOe72UjMVKgDM0CBkurO6vRiiv1iebyOfaxxIfJBIK9/JOGmGDPwLHPsQp7
Wu5I+ubQQ13iBILgPzmXbDV/5aPcD5hPpn46MTJAx8aTRN6tpk0nA++8Ufo3yetv
Qh14iNcx5BEvr96wsg+M6wlX9taf9SculqCoh+UWaUAL6rbuyLGPFmtCqSQsvxXc
6OZNVQVDOoOS+L8C2DX2FidnIKlGjsCC7tla5c1l7622w+6pnJxnA2u+F7K2oFeX
+3PhZFUf+mtSsHaoPI8juPiT9/aPk3BVFNQnO3E9uZEKi/1Dc7k=
=Kcca
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: --illegal-access-warn and --illegal-access-deny show different violations

Posted by Mohan Radhakrishnan <ra...@gmail.com>.
Yes.  --illegal-access=warn

It doesn't stop the JVM.  I misunderstood.

But --illegal-access=deny shows the Spring violation first. While 'warn'
showed Tomcat's first. So I assumed that 'deny' will first
show Tomcat's messages again.

Why does 'deny' not show Tomcat's messages first like 'warn' does ? How
does 'deny' go ahead and try to load Spring when Tomcat's classloaders have
a problem ?


Thanks,
Mohan

On Sat, 8 Dec 2018 at 22:53, Christopher Schultz <
chris@christopherschultz.net> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> Mohan,
>
> On 12/8/18 08:39, Mohan Radhakrishnan wrote:
> > Hi, When I use --illegal-access-warn I see these.
> >
> > WARNING: Illegal reflective access by
> > org.apache.catalina.loader.WebappClassLoaderBase
> > (file:/C:/Users/476458/.m2/repository/org/apache/tomcat/embed/tomcat-e
> mbed-core/8.5.34/tomcat-embed-core-8.5.34.jar)
> >
> >
> to field java.io.ObjectStreamClass$Caches.localDescs
> >
> > but when I use --illegal-access-deny I see messages originating
> > from Spring. java.lang.reflect.InvocationTargetException at
> > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> >
> >
> Method)
> > at
> > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeM
> ethodAccessorImpl.java:62)
> >
> >
> at
> > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Del
> egatingMethodAccessorImpl.java:43)
> >
> >
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> > at
> > org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(Abstra
> ctRunMojo.java:558)
> >
> >
> at java.base/java.lang.Thread.run(Thread.java:834)
> > Caused by: java.lang.IllegalStateException: Cannot load
> > configuration class:
> > org.springframework.boot.autoconfigure.context.PropertyPlaceholderAuto
> Configuration
> >
> >  I thought Tomcats's messages would stop the JVM. Why does this
> > happen ?
>
> This will just throw an exception. It doesn't kill the JVM.
>
> Also, I think it's --illegal-access=warn, not --illegal-access-warn...
> right?
>
> - -chris
> -----BEGIN PGP SIGNATURE-----
> Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/
>
> iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlwL/iQACgkQHPApP6U8
> pFg2Mg//YG83Y9J44TF1pTRsMKijIpy1iYGWZfXPWPlIDKgnNzMYVVCeqs8pctGG
> Tg7v7tiartWEWdcos1GC3PJnckLWzL/Yh4k3cCUgkmedLj15aPNQ6PUeIkjPBNct
> OhTNRTLP0HMtPo0VCl6CtVpo0eYKxL0KlpLKUfZLuVcs/X+D5ABbA9HbcHsyOvjR
> RcIEfYq+r1u5sWr1LKsf0uG/DeMHT5suqU4yHrh7RG16BIbIdHl2/s+9aglEY8pw
> Y9eAYZ+G8olsGvMpoBbxYkO1WUiXPLDgSGBriH5LtgSidr1GzQlIdXgX1G/XrlM5
> Smk/YWgdy7PQ5GHJ9Curg26b2AY3E3QX75EgvNgIR0vACT15S+2M+ML9iTWc1JEk
> cTOVU29sPAZqhvhCE7jcxbNczfHb9IIJa4cNyO7WqygTCEYWgJtd3YK+wQMtXU27
> 3p5JplLNL5N6ixuMf5k+K2l/eOTitnirtErRnEhUcwgWKPkHE4HTnlfS0cJmfIJ5
> Jt5uxMVnybif2s3Sio5NFNkot9jEYvgvQclwybop3g4bBt4V4xhCcpaSogi/voii
> QlwMbgc8F9toXbsmg+e4Y0mhIBGzPZXfNDQK7zsnUkNzHlLY5I+3Hz+ghMpH+puc
> ggQgETDZEzmsu2+4mvUxPUESFJTp2fpgNG1vrYgp/WBfzTLLMYk=
> =xg7p
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Re: --illegal-access-warn and --illegal-access-deny show different violations

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Mohan,

On 12/8/18 08:39, Mohan Radhakrishnan wrote:
> Hi, When I use --illegal-access-warn I see these.
> 
> WARNING: Illegal reflective access by 
> org.apache.catalina.loader.WebappClassLoaderBase 
> (file:/C:/Users/476458/.m2/repository/org/apache/tomcat/embed/tomcat-e
mbed-core/8.5.34/tomcat-embed-core-8.5.34.jar)
>
> 
to field java.io.ObjectStreamClass$Caches.localDescs
> 
> but when I use --illegal-access-deny I see messages originating
> from Spring. java.lang.reflect.InvocationTargetException at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
>
> 
Method)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeM
ethodAccessorImpl.java:62)
>
> 
at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Del
egatingMethodAccessorImpl.java:43)
>
> 
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at 
> org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(Abstra
ctRunMojo.java:558)
>
> 
at java.base/java.lang.Thread.run(Thread.java:834)
> Caused by: java.lang.IllegalStateException: Cannot load
> configuration class: 
> org.springframework.boot.autoconfigure.context.PropertyPlaceholderAuto
Configuration
>
>  I thought Tomcats's messages would stop the JVM. Why does this
> happen ?

This will just throw an exception. It doesn't kill the JVM.

Also, I think it's --illegal-access=warn, not --illegal-access-warn...
right?

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlwL/iQACgkQHPApP6U8
pFg2Mg//YG83Y9J44TF1pTRsMKijIpy1iYGWZfXPWPlIDKgnNzMYVVCeqs8pctGG
Tg7v7tiartWEWdcos1GC3PJnckLWzL/Yh4k3cCUgkmedLj15aPNQ6PUeIkjPBNct
OhTNRTLP0HMtPo0VCl6CtVpo0eYKxL0KlpLKUfZLuVcs/X+D5ABbA9HbcHsyOvjR
RcIEfYq+r1u5sWr1LKsf0uG/DeMHT5suqU4yHrh7RG16BIbIdHl2/s+9aglEY8pw
Y9eAYZ+G8olsGvMpoBbxYkO1WUiXPLDgSGBriH5LtgSidr1GzQlIdXgX1G/XrlM5
Smk/YWgdy7PQ5GHJ9Curg26b2AY3E3QX75EgvNgIR0vACT15S+2M+ML9iTWc1JEk
cTOVU29sPAZqhvhCE7jcxbNczfHb9IIJa4cNyO7WqygTCEYWgJtd3YK+wQMtXU27
3p5JplLNL5N6ixuMf5k+K2l/eOTitnirtErRnEhUcwgWKPkHE4HTnlfS0cJmfIJ5
Jt5uxMVnybif2s3Sio5NFNkot9jEYvgvQclwybop3g4bBt4V4xhCcpaSogi/voii
QlwMbgc8F9toXbsmg+e4Y0mhIBGzPZXfNDQK7zsnUkNzHlLY5I+3Hz+ghMpH+puc
ggQgETDZEzmsu2+4mvUxPUESFJTp2fpgNG1vrYgp/WBfzTLLMYk=
=xg7p
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org