Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 2064684

Summary: WARNING: An illegal reflective access operation has occurred
Product: Red Hat Enterprise Linux 7 Reporter: Ben <ben.argyle>
Component: tomcatAssignee: Coty Sutherland <csutherl>
Status: CLOSED WONTFIX QA Contact: tomcat-qe
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: aogburn
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-03-16 13:49:18 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ben 2022-03-16 10:45:17 UTC
Description of problem:
When (re)start Satellite 6.10.3 after upgrade from 6.9.8 the following is seen in /var/log/messages:

Mar 10 12:26:18 satellite1 server: Java virtual machine used: /usr/lib/jvm/jre-11/bin/java
Mar 10 12:26:18 satellite1 server: classpath used: /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar
Mar 10 12:26:18 satellite1 server: main class used: org.apache.catalina.startup.Bootstrap
Mar 10 12:26:18 satellite1 server: flags used: -Xms1024m -Xmx4096m -Djava.security.auth.login.config=/usr/share/tomcat/conf/login.config
Mar 10 12:26:18 satellite1 server: options used: -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat/temp -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Mar 10 12:26:18 satellite1 server: arguments used: start
Mar 10 12:26:23 satellite1 server: Mar 10, 2022 12:26:23 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
Mar 10 12:26:23 satellite1 server: INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
Mar 10 12:26:24 satellite1 server: Mar 10, 2022 12:26:24 PM org.apache.coyote.AbstractProtocol init
Mar 10 12:26:24 satellite1 server: INFO: Initializing ProtocolHandler ["http-bio-127.0.0.1-23443"]
Mar 10 12:26:24 satellite1 server: Mar 10, 2022 12:26:24 PM org.apache.catalina.startup.Catalina load
Mar 10 12:26:24 satellite1 server: INFO: Initialization processed in 3215 ms
Mar 10 12:26:24 satellite1 server: Mar 10, 2022 12:26:24 PM org.apache.catalina.core.StandardService startInternal
Mar 10 12:26:24 satellite1 server: INFO: Starting service Catalina
Mar 10 12:26:24 satellite1 server: Mar 10, 2022 12:26:24 PM org.apache.catalina.core.StandardEngine startInternal
Mar 10 12:26:24 satellite1 server: INFO: Starting Servlet Engine: Apache Tomcat/7.0.76
Mar 10 12:26:24 satellite1 server: Mar 10, 2022 12:26:24 PM org.apache.catalina.startup.HostConfig deployDirectory
Mar 10 12:26:24 satellite1 server: INFO: Deploying web application directory /var/lib/tomcat/webapps/candlepin

Mar 10 12:26:24 satellite1 server: WARNING: An illegal reflective access operation has occurred
Mar 10 12:26:24 satellite1 server: WARNING: Illegal reflective access by org.apache.catalina.loader.WebappClassLoaderBase$1 (file:/usr/share/java/tomcat/catalina.jar) to method java.lang.ClassLoader.registerAsParallelCapable()
Mar 10 12:26:24 satellite1 server: WARNING: Please consider reporting this to the maintainers of org.apache.catalina.loader.WebappClassLoaderBase$1
Mar 10 12:26:24 satellite1 server: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
Mar 10 12:26:24 satellite1 server: WARNING: All illegal access operations will be denied in a future release

Mar 10 12:26:24 satellite1 server: Mar 10, 2022 12:26:24 PM org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
Mar 10 12:26:24 satellite1 server: INFO: validateJarFile(/usr/share/tomcat/webapps/candlepin/WEB-INF/lib/javax.el-api-3.0.0.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/el/Expression.class
Mar 10 12:26:24 satellite1 server: Mar 10, 2022 12:26:24 PM org.apache.catalina.loader.WebappLoader buildClassPath
Mar 10 12:26:24 satellite1 server: INFO: Unknown loader jdk.internal.loader.ClassLoaders$AppClassLoader@55054057 class jdk.internal.loader.ClassLoaders$AppClassLoader
Mar 10 12:26:34 satellite1 server: Mar 10, 2022 12:26:34 PM org.apache.catalina.startup.TldConfig execute
Mar 10 12:26:34 satellite1 server: INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Mar 10 12:26:37 satellite1 server: Mar 10, 2022 12:26:37 PM com.google.inject.internal.ProxyFactory <init>
Mar 10 12:26:37 satellite1 server: WARNING: Method [public org.candlepin.model.Persisted org.candlepin.model.OwnerCurator.create(org.candlepin.model.Persisted)] is synthetic and is being intercepted by [com.google.inject.persist.jpa.JpaLocalTxnInterceptor@4499e4a3]. This could indicate a bug.  The method may be intercepted twice, or may not be intercepted at all.
Mar 10 12:26:37 satellite1 server: Mar 10, 2022 12:26:37 PM com.google.inject.internal.ProxyFactory <init>
Mar 10 12:26:37 satellite1 server: WARNING: Method [public org.candlepin.model.Persisted org.candlepin.model.ProductCurator.merge(org.candlepin.model.Persisted)] is synthetic and is being intercepted by [com.google.inject.persist.jpa.JpaLocalTxnInterceptor@4499e4a3]. This could indicate a bug.  The method may be intercepted twice, or may not be intercepted at all.
Mar 10 12:26:37 satellite1 server: Mar 10, 2022 12:26:37 PM com.google.inject.internal.ProxyFactory <init>
Mar 10 12:26:37 satellite1 server: WARNING: Method [public void org.candlepin.model.ProductCurator.delete(org.candlepin.model.Persisted)] is synthetic and is being intercepted by [com.google.inject.persist.jpa.JpaLocalTxnInterceptor@4499e4a3]. This could indicate a bug.  The method may be intercepted twice, or may not be intercepted at all.
Mar 10 12:26:37 satellite1 server: Mar 10, 2022 12:26:37 PM com.google.inject.internal.ProxyFactory <init>
Mar 10 12:26:37 satellite1 server: WARNING: Method [public org.candlepin.model.Persisted org.candlepin.model.ProductCurator.create(org.candlepin.model.Persisted)] is synthetic and is being intercepted by [com.google.inject.persist.jpa.JpaLocalTxnInterceptor@4499e4a3]. This could indicate a bug.  The method may be intercepted twice, or may not be intercepted at all.
Mar 10 12:26:37 satellite1 server: Mar 10, 2022 12:26:37 PM com.google.inject.internal.ProxyFactory <init>
Mar 10 12:26:37 satellite1 server: WARNING: Method [public void org.candlepin.model.EntitlementCurator.delete(org.candlepin.model.Persisted)] is synthetic and is being intercepted by [com.google.inject.persist.jpa.JpaLocalTxnInterceptor@4499e4a3]. This could indicate a bug.  The method may be intercepted twice, or may not be intercepted at all.
Mar 10 12:26:37 satellite1 server: Mar 10, 2022 12:26:37 PM com.google.inject.internal.ProxyFactory <init>
Mar 10 12:26:37 satellite1 server: WARNING: Method [public void org.candlepin.model.ConsumerCurator.delete(org.candlepin.model.Persisted)] is synthetic and is being intercepted by [com.google.inject.persist.jpa.JpaLocalTxnInterceptor@4499e4a3]. This could indicate a bug.  The method may be intercepted twice, or may not be intercepted at all.
Mar 10 12:26:37 satellite1 server: Mar 10, 2022 12:26:37 PM com.google.inject.internal.ProxyFactory <init>
Mar 10 12:26:37 satellite1 server: WARNING: Method [public org.candlepin.model.Persisted org.candlepin.model.ConsumerCurator.create(org.candlepin.model.Persisted,boolean)] is synthetic and is being intercepted by [com.google.inject.persist.jpa.JpaLocalTxnInterceptor@4499e4a3]. This could indicate a bug.  The method may be intercepted twice, or may not be intercepted at all.
Mar 10 12:26:37 satellite1 server: Mar 10, 2022 12:26:37 PM com.google.inject.internal.ProxyFactory <init>
Mar 10 12:26:37 satellite1 server: WARNING: Method [public void org.candlepin.model.CdnCurator.delete(org.candlepin.model.Persisted)] is synthetic and is being intercepted by [com.google.inject.persist.jpa.JpaLocalTxnInterceptor@4499e4a3]. This could indicate a bug.  The method may be intercepted twice, or may not be intercepted at all.
Mar 10 12:26:37 satellite1 server: Mar 10, 2022 12:26:37 PM com.google.inject.internal.ProxyFactory <init>
Mar 10 12:26:37 satellite1 server: WARNING: Method [public void org.candlepin.model.PoolCurator.delete(org.candlepin.model.Persisted)] is synthetic and is being intercepted by [com.google.inject.persist.jpa.JpaLocalTxnInterceptor@4499e4a3]. This could indicate a bug.  The method may be intercepted twice, or may not be intercepted at all.
Mar 10 12:26:37 satellite1 server: Mar 10, 2022 12:26:37 PM com.google.inject.internal.ProxyFactory <init>
Mar 10 12:26:37 satellite1 server: WARNING: Method [public void org.candlepin.model.RulesCurator.delete(org.candlepin.model.Persisted)] is synthetic and is being intercepted by [com.google.inject.persist.jpa.JpaLocalTxnInterceptor@4499e4a3]. This could indicate a bug.  The method may be intercepted twice, or may not be intercepted at all.
Mar 10 12:26:37 satellite1 server: Mar 10, 2022 12:26:37 PM com.google.inject.internal.ProxyFactory <init>
Mar 10 12:26:37 satellite1 server: WARNING: Method [public org.candlepin.model.Persisted org.candlepin.model.RulesCurator.create(org.candlepin.model.Persisted)] is synthetic and is being intercepted by [com.google.inject.persist.jpa.JpaLocalTxnInterceptor@4499e4a3]. This could indicate a bug.  The method may be intercepted twice, or may not be intercepted at all.
Mar 10 12:26:37 satellite1 server: Mar 10, 2022 12:26:37 PM com.google.inject.internal.ProxyFactory <init>
Mar 10 12:26:37 satellite1 server: WARNING: Method [public void org.candlepin.model.ContentCurator.delete(org.candlepin.model.Persisted)] is synthetic and is being intercepted by [com.google.inject.persist.jpa.JpaLocalTxnInterceptor@4499e4a3]. This could indicate a bug.  The method may be intercepted twice, or may not be intercepted at all.
Mar 10 12:26:37 satellite1 server: Mar 10, 2022 12:26:37 PM com.google.inject.internal.ProxyFactory <init>
Mar 10 12:26:37 satellite1 server: WARNING: Method [public void org.candlepin.model.EntitlementCertificateCurator.delete(org.candlepin.model.Persisted)] is synthetic and is being intercepted by [com.google.inject.persist.jpa.JpaLocalTxnInterceptor@4499e4a3]. This could indicate a bug.  The method may be intercepted twice, or may not be intercepted at all.
Mar 10 12:27:04 satellite1 server: Mar 10, 2022 12:27:04 PM org.apache.catalina.startup.HostConfig deployDirectory
Mar 10 12:27:04 satellite1 server: INFO: Deployment of web application directory /var/lib/tomcat/webapps/candlepin has finished in 40,285 ms
Mar 10 12:27:04 satellite1 server: Mar 10, 2022 12:27:04 PM org.apache.coyote.AbstractProtocol start
Mar 10 12:27:04 satellite1 server: INFO: Starting ProtocolHandler ["http-bio-127.0.0.1-23443"]
Mar 10 12:27:04 satellite1 server: Mar 10, 2022 12:27:04 PM org.apache.catalina.startup.Catalina start
Mar 10 12:27:04 satellite1 server: INFO: Server startup in 40352 ms


Version-Release number of selected component (if applicable):

Satellite 6.10.3

[root@satellite1 ~]# rpm -qa | grep apache
apache-commons-daemon-1.0.13-7.el7.x86_64
apache-commons-codec-1.8-7.el7.noarch
apache-commons-pool-1.6-9.el7.noarch
apache-commons-lang-2.6-15.el7.noarch
apache-commons-collections-3.2.1-22.el7_2.noarch
apache-commons-logging-1.1.2-7.el7.noarch
apache-commons-dbcp-1.4-17.el7.noarch

[root@satellite1 ~]# rpm -qa | grep tomcat
tomcat-7.0.76-16.el7_9.noarch
tomcat-jsp-2.2-api-7.0.76-16.el7_9.noarch
localhost-tomcat-1.0-1.noarch
tomcat-el-2.2-api-7.0.76-16.el7_9.noarch
tomcatjss-7.2.5-1.el7.noarch
tomcat-servlet-3.0-api-7.0.76-16.el7_9.noarch
tomcat-lib-7.0.76-16.el7_9.noarch


How reproducible:
Every startup


Steps to Reproduce:
1. Upgrade from 6.9.8 to 6.10.3
2. (re)Start Satellite with satellite-maintain [re]start
3. View /var/log/messages


Actual results:
WARNING lines for illegal reflective operation( and for synthetic methods, but those are a Candlepin issue)


Expected results:
No WARNING lines


Additional info:
Please ask

Comment 4 Coty Sutherland 2022-03-16 13:49:18 UTC
The warning messages do not have any functional impact and can be safely ignored.

You can reduce the warnings by using the --illegal-access=permit parameter (this will not be an option in Java 17+), permit the actions with no warning by adding the block from https://github.com/apache/tomcat/blob/7.0.x/bin/catalina.sh#L322 to your tomcat.conf, or avoid them completely by using Java version 6-8 instead with preference being the latter option because there were several enhancements made to Tomcat 7 regarding Java 9+ support that are not included in the RHEL version (https://tomcat.apache.org/tomcat-7.0-doc/changelog.html has more information).