{"action":"created","issue":{"url":"https://api.github.com/repos/elastic/elasticsearch/issues/32985","repository_url":"https://api.github.com/repos/elastic/elasticsearch","labels_url":"https://api.github.com/repos/elastic/elasticsearch/issues/32985/labels{/name}","comments_url":"https://api.github.com/repos/elastic/elasticsearch/issues/32985/comments","events_url":"https://api.github.com/repos/elastic/elasticsearch/issues/32985/events","html_url":"https://github.com/elastic/elasticsearch/issues/32985","id":352124666,"node_id":"MDU6SXNzdWUzNTIxMjQ2NjY=","number":32985,"title":"JarHell check fails for Java 9 libraries (module-info.class)","user":{"login":"jamesdbaker","id":2686083,"node_id":"MDQ6VXNlcjI2ODYwODM=","avatar_url":"https://avatars3.githubusercontent.com/u/2686083?v=4","gravatar_id":"","url":"https://api.github.com/users/jamesdbaker","html_url":"https://github.com/jamesdbaker","followers_url":"https://api.github.com/users/jamesdbaker/followers","following_url":"https://api.github.com/users/jamesdbaker/following{/other_user}","gists_url":"https://api.github.com/users/jamesdbaker/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesdbaker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesdbaker/subscriptions","organizations_url":"https://api.github.com/users/jamesdbaker/orgs","repos_url":"https://api.github.com/users/jamesdbaker/repos","events_url":"https://api.github.com/users/jamesdbaker/events{/privacy}","received_events_url":"https://api.github.com/users/jamesdbaker/received_events","type":"User","site_admin":false},"labels":[{"id":144797810,"node_id":"MDU6TGFiZWwxNDQ3OTc4MTA=","url":"https://api.github.com/repos/elastic/elasticsearch/labels/:Core/Core","name":":Core/Core","color":"0e8a16","default":false},{"id":23173,"node_id":"MDU6TGFiZWwyMzE3Mw==","url":"https://api.github.com/repos/elastic/elasticsearch/labels/%3Ebug","name":">bug","color":"b60205","default":false}],"state":"open","locked":false,"assignee":{"login":"atorok","id":2565652,"node_id":"MDQ6VXNlcjI1NjU2NTI=","avatar_url":"https://avatars1.githubusercontent.com/u/2565652?v=4","gravatar_id":"","url":"https://api.github.com/users/atorok","html_url":"https://github.com/atorok","followers_url":"https://api.github.com/users/atorok/followers","following_url":"https://api.github.com/users/atorok/following{/other_user}","gists_url":"https://api.github.com/users/atorok/gists{/gist_id}","starred_url":"https://api.github.com/users/atorok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atorok/subscriptions","organizations_url":"https://api.github.com/users/atorok/orgs","repos_url":"https://api.github.com/users/atorok/repos","events_url":"https://api.github.com/users/atorok/events{/privacy}","received_events_url":"https://api.github.com/users/atorok/received_events","type":"User","site_admin":false},"assignees":[{"login":"atorok","id":2565652,"node_id":"MDQ6VXNlcjI1NjU2NTI=","avatar_url":"https://avatars1.githubusercontent.com/u/2565652?v=4","gravatar_id":"","url":"https://api.github.com/users/atorok","html_url":"https://github.com/atorok","followers_url":"https://api.github.com/users/atorok/followers","following_url":"https://api.github.com/users/atorok/following{/other_user}","gists_url":"https://api.github.com/users/atorok/gists{/gist_id}","starred_url":"https://api.github.com/users/atorok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atorok/subscriptions","organizations_url":"https://api.github.com/users/atorok/orgs","repos_url":"https://api.github.com/users/atorok/repos","events_url":"https://api.github.com/users/atorok/events{/privacy}","received_events_url":"https://api.github.com/users/atorok/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2018-08-20T13:01:17Z","updated_at":"2018-08-20T15:54:55Z","closed_at":null,"author_association":"NONE","body":"<!-- Bug report -->\r\n\r\n**Elasticsearch version**:\r\n\r\n6.3.2, Build: default/zip/053779d/2018-07-20T05:20:23.451332Z, JVM: 9.0.4\r\n\r\n**JVM version**:\r\n\r\njava version \"9.0.4\"\r\nJava(TM) SE Runtime Environment (build 9.0.4+11)\r\nJava HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)\r\n\r\n**OS version**:\r\n\r\nLinux dendesk-0260147 4.15.0-32-generic # 35~16.04.1-Ubuntu SMP Fri Aug 10 21:54:34 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux\r\n\r\n**Description of the problem including expected versus actual behavior**:\r\n\r\nI'm developing a new ingest processor that uses two libraries written for Java 9. As they're written for Java 9, both have a module-info.class in the default package, but the JarHell check is detecting this and throwing an error.\r\n\r\n```\r\njava.lang.RuntimeException: found jar hell in test classpath\r\n\r\n\tat org.elasticsearch.bootstrap.BootstrapForTesting.<clinit>(BootstrapForTesting.java:95)\r\n\tat org.elasticsearch.test.ESTestCase.<clinit>(ESTestCase.java:197)\r\n\tat java.base/java.lang.Class.forName0(Native Method)\r\n\tat java.base/java.lang.Class.forName(Class.java:375)\r\n\tat com.carrotsearch.randomizedtesting.RandomizedRunner$2.run(RandomizedRunner.java:592)\r\nCaused by: java.lang.IllegalStateException: jar hell!\r\nclass: module-info\r\njar1: /home/bakerj/.m2/repository/io/annot8/components/0.1-SNAPSHOT/components-0.1-SNAPSHOT.jar\r\njar2: /home/bakerj/.m2/repository/io/annot8/core/0.1-SNAPSHOT/core-0.1-SNAPSHOT.jar\r\n\tat org.elasticsearch.bootstrap.JarHell.checkClass(JarHell.java:273)\r\n\tat org.elasticsearch.bootstrap.JarHell.checkJarHell(JarHell.java:190)\r\n\tat org.elasticsearch.bootstrap.JarHell.checkJarHell(JarHell.java:86)\r\n\tat org.elasticsearch.bootstrap.BootstrapForTesting.<clinit>(BootstrapForTesting.java:93)\r\n\t... 4 more\r\n```\r\n\r\nAs it is expected that module-info.class is found in the same place in multiple JARs, a exemption from the check is probably needed.\r\n\r\nThis has also been flagged by other users here: https://stackoverflow.com/questions/51217252/elasticsearch-6-3-0-jarhell-module-info-class\r\n\r\n**Steps to reproduce**:\r\n\r\n 1. Clone the following project: https://github.com/jamesdbaker/es-extract\r\n 2. Run `mvn test`\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/elastic/elasticsearch/issues/comments/414367905","html_url":"https://github.com/elastic/elasticsearch/issues/32985#issuecomment-414367905","issue_url":"https://api.github.com/repos/elastic/elasticsearch/issues/32985","id":414367905,"node_id":"MDEyOklzc3VlQ29tbWVudDQxNDM2NzkwNQ==","user":{"login":"jamesdbaker","id":2686083,"node_id":"MDQ6VXNlcjI2ODYwODM=","avatar_url":"https://avatars3.githubusercontent.com/u/2686083?v=4","gravatar_id":"","url":"https://api.github.com/users/jamesdbaker","html_url":"https://github.com/jamesdbaker","followers_url":"https://api.github.com/users/jamesdbaker/followers","following_url":"https://api.github.com/users/jamesdbaker/following{/other_user}","gists_url":"https://api.github.com/users/jamesdbaker/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesdbaker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesdbaker/subscriptions","organizations_url":"https://api.github.com/users/jamesdbaker/orgs","repos_url":"https://api.github.com/users/jamesdbaker/repos","events_url":"https://api.github.com/users/jamesdbaker/events{/privacy}","received_events_url":"https://api.github.com/users/jamesdbaker/received_events","type":"User","site_admin":false},"created_at":"2018-08-20T15:54:55Z","updated_at":"2018-08-20T15:54:55Z","author_association":"NONE","body":"@atorok - Thanks, I will check when I'm back in the office tomorrow. In my case though, I'm not sure log4j was the problem as the two JARs it's referencing don't include log4j. I think it's a more generic Java 9 problem. That said, hopefully whatever fix you put in place will solve both.\r\n\r\nI'll let you know the outcome of the workaround tomorrow."}}
{"actor":{"display_login":"jamesdbaker"}}