Created attachment 34018 [details] Circular Relationship Test Example We're experiencing a situation with tomcat 8.5.3 where if two jars each possess a Class-Path entry to the other jar in their MANIFEST.MF file, the server hangs at startup. We can reproduce this problem on both Ubuntu and Windows. I've created two jars for testing purposes which contain manifests pointing to each other. It is only necessary to drop these jars into the server lib folder and attempt to start the server to cause the problem to occur. We encountered this issue because the IBM MQ libraries have a similar circular relationship in their manifest.mf class-path entries.
(I'm surprised Tomcat even consults Class-Path entries... does it?) Can you post a thread dump of such a hung Tomcat?
Created attachment 34019 [details] Thread dump I could reproduce the problem using the circular jar files.
Created attachment 34020 [details] Thread dump I've attached a thread dump that tipped us off to the problem. This was NOT generated using my test case, this was generated using the IBM MQ libraries which caused a heap dump as well and emitted this thread dump at the same time. Like the thread dump generated by HyunWoo Jo, org.apache.tomcat.util.scan.StandardJarScanner.process makes an appearance.
Hi, Thanks for the report. This has been fixed in - 9.0.x for 9.0.0.M10 onwards, - 8.5.x for 8.5.5 onwards and - 8.0.x for 8.0.37 onwards. Regards, Violeta