{"action":"created","issue":{"url":"https://api.github.com/repos/policeman-tools/forbidden-apis/issues/108","repository_url":"https://api.github.com/repos/policeman-tools/forbidden-apis","labels_url":"https://api.github.com/repos/policeman-tools/forbidden-apis/issues/108/labels{/name}","comments_url":"https://api.github.com/repos/policeman-tools/forbidden-apis/issues/108/comments","events_url":"https://api.github.com/repos/policeman-tools/forbidden-apis/issues/108/events","html_url":"https://github.com/policeman-tools/forbidden-apis/issues/108","id":169889112,"number":108,"title":"Forbiddent-apis throws ArrayIndexOutOfBoundsException when executing testCheck goal","user":{"login":"MEZk","id":7242568,"avatar_url":"https://avatars.githubusercontent.com/u/7242568?v=3","gravatar_id":"","url":"https://api.github.com/users/MEZk","html_url":"https://github.com/MEZk","followers_url":"https://api.github.com/users/MEZk/followers","following_url":"https://api.github.com/users/MEZk/following{/other_user}","gists_url":"https://api.github.com/users/MEZk/gists{/gist_id}","starred_url":"https://api.github.com/users/MEZk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MEZk/subscriptions","organizations_url":"https://api.github.com/users/MEZk/orgs","repos_url":"https://api.github.com/users/MEZk/repos","events_url":"https://api.github.com/users/MEZk/events{/privacy}","received_events_url":"https://api.github.com/users/MEZk/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-08-08T10:17:22Z","updated_at":"2016-08-08T19:41:22Z","closed_at":null,"body":"Hello!\r\n\r\nWe use forbidden-apis check goal to perform validation against Checkstyle source codes and it works ok. However, we want to use testCheck goal in order to check our test input files too. I made an attempt to allow testCheck goal to scan and validate our test input files, but forbidden-apis threw ArrayIndexOutOfBoundsException.\r\n\r\nOur current forbidden-apis Maven plugin config:\r\nhttps://github.com/checkstyle/checkstyle/blob/master/pom.xml#L966\r\n\r\nChanges in config in my attempt to use testCheck goal:\r\nhttps://github.com/checkstyle/checkstyle/pull/3402/files#diff-600376dffeb79835ede4a0b285078036R966\r\n\r\nStack trace after execution of ```mvn forbidden-apis:testCheck``` command:\r\n```\r\n[INFO] --- forbiddenapis:2.2:testCheck (default) @ checkstyle ---\r\n[DEBUG] Configuring mojo de.thetaphi:forbiddenapis:2.2:testCheck from plugin realm ClassRealm[plugin>de.thetaphi:forbiddenapis:2.2, parent: sun.misc.Launcher$AppClassLoader@5c647e05]\r\n[DEBUG] Configuring mojo 'de.thetaphi:forbiddenapis:2.2:testCheck' with basic configurator -->\r\n[DEBUG]   (f) bundledSignatures = [jdk-unsafe, jdk-deprecated, jdk-system-out, jdk-non-portable]\r\n[DEBUG]   (f) classesDirectory = /Touro/IDEA_Projects/checkstyle/target/test-classes\r\n[DEBUG]   (f) classpathElements = [/Touro/IDEA_Projects/checkstyle/target/test-classes, /Touro/IDEA_Projects/checkstyle/target/classes, /home/andreiselkin/.m2/repository/antlr/antlr/2.7.7/antlr-2.7.7.jar, /home/andreiselkin/.m2/repository/org/antlr/antlr4-runtime/4.5.3/antlr4-runtime-4.5.3.jar, /home/andreiselkin/.m2/repository/commons-beanutils/commons-beanutils/1.9.2/commons-beanutils-1.9.2.jar, /home/andreiselkin/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar, /home/andreiselkin/.m2/repository/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar, /home/andreiselkin/.m2/repository/commons-cli/commons-cli/1.3.1/commons-cli-1.3.1.jar, /home/andreiselkin/.m2/repository/com/google/guava/guava/19.0/guava-19.0.jar, /home/andreiselkin/.m2/repository/org/apache/ant/ant/1.9.7/ant-1.9.7.jar, /home/andreiselkin/.m2/repository/org/apache/ant/ant-launcher/1.9.7/ant-launcher-1.9.7.jar, /home/andreiselkin/.m2/repository/junit/junit/4.12/junit-4.12.jar, /home/andreiselkin/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar, /home/andreiselkin/.m2/repository/com/github/stefanbirkner/system-rules/1.16.0/system-rules-1.16.0.jar, /home/andreiselkin/.m2/repository/nl/jqno/equalsverifier/equalsverifier/2.1.3/equalsverifier-2.1.3.jar, /home/andreiselkin/.m2/repository/org/powermock/powermock-api-mockito/1.6.5/powermock-api-mockito-1.6.5.jar, /home/andreiselkin/.m2/repository/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar, /home/andreiselkin/.m2/repository/org/objenesis/objenesis/2.1/objenesis-2.1.jar, /home/andreiselkin/.m2/repository/org/powermock/powermock-api-mockito-common/1.6.5/powermock-api-mockito-common-1.6.5.jar, /home/andreiselkin/.m2/repository/org/powermock/powermock-api-support/1.6.5/powermock-api-support-1.6.5.jar, /home/andreiselkin/.m2/repository/org/powermock/powermock-module-junit4/1.6.5/powermock-module-junit4-1.6.5.jar, /home/andreiselkin/.m2/repository/org/powermock/powermock-module-junit4-common/1.6.5/powermock-module-junit4-common-1.6.5.jar, /home/andreiselkin/.m2/repository/org/powermock/powermock-core/1.6.5/powermock-core-1.6.5.jar, /home/andreiselkin/.m2/repository/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA.jar, /home/andreiselkin/.m2/repository/org/powermock/powermock-reflect/1.6.5/powermock-reflect-1.6.5.jar, /home/andreiselkin/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar, /home/andreiselkin/.m2/repository/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r.jar, /home/andreiselkin/.m2/repository/com/jcraft/jsch/0.1.53/jsch-0.1.53.jar, /home/andreiselkin/.m2/repository/com/googlecode/javaewah/JavaEWAH/0.7.9/JavaEWAH-0.7.9.jar, /home/andreiselkin/.m2/repository/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6.jar, /home/andreiselkin/.m2/repository/org/apache/httpcomponents/httpcore/4.3.3/httpcore-4.3.3.jar, /home/andreiselkin/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar, /home/andreiselkin/.m2/repository/org/slf4j/slf4j-api/1.7.2/slf4j-api-1.7.2.jar, /home/andreiselkin/.m2/repository/org/slf4j/slf4j-simple/1.7.21/slf4j-simple-1.7.21.jar, /home/andreiselkin/.m2/repository/org/jacoco/org.jacoco.agent/0.7.7.201606060606/org.jacoco.agent-0.7.7.201606060606-runtime.jar, /usr/lib/jvm/java-8-oracle/jre/../lib/tools.jar]\r\n[DEBUG]   (f) disableClassloadingCache = false\r\n[DEBUG]   (f) excludes = [**/Main.class, **/GeneratedJavaLexer.class, **/JavadocParser.class]\r\n[DEBUG]   (f) failOnMissingClasses = true\r\n[DEBUG]   (f) failOnUnresolvableSignatures = true\r\n[DEBUG]   (f) failOnUnsupportedJava = false\r\n[DEBUG]   (f) failOnViolation = true\r\n[DEBUG]   (f) internalRuntimeForbidden = false\r\n[DEBUG]   (f) localRepository =       id: local\r\n      url: file:///home/andreiselkin/.m2/repository/\r\n   layout: default\r\nsnapshots: [enabled => true, update => always]\r\n releases: [enabled => true, update => always]\r\n\r\n[DEBUG]   (f) packaging = jar\r\n[DEBUG]   (f) remoteRepositories = [      id: sonatype-nexus-snapshots\r\n      url: https://oss.sonatype.org/content/repositories/snapshots\r\n   layout: default\r\nsnapshots: [enabled => true, update => daily]\r\n releases: [enabled => false, update => daily]\r\n,       id: central\r\n      url: https://repo.maven.apache.org/maven2\r\n   layout: default\r\nsnapshots: [enabled => false, update => daily]\r\n releases: [enabled => true, update => daily]\r\n]\r\n[DEBUG]   (f) skip = false\r\n[DEBUG]   (f) targetVersion = 1.8\r\n[DEBUG] -- end configuration --\r\n[INFO] Scanning for classes to check...\r\n[INFO] Reading bundled API signatures: jdk-unsafe-1.8\r\n[INFO] Reading bundled API signatures: jdk-deprecated-1.8\r\n[INFO] Reading bundled API signatures: jdk-system-out\r\n[INFO] Reading bundled API signatures: jdk-non-portable\r\n[INFO] Loading classes to check...\r\n[INFO] Scanning classes for violations...\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD FAILURE\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 02:55 min\r\n[INFO] Finished at: 2016-08-06T21:16:24+03:00\r\n[INFO] Final Memory: 139M/738M\r\n[INFO] ------------------------------------------------------------------------\r\n[ERROR] Failed to execute goal de.thetaphi:forbiddenapis:2.2:testCheck (default) on project checkstyle: Execution default of goal de.thetaphi:forbiddenapis:2.2:testCheck failed: 65535 -> [Help 1]\r\norg.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal de.thetaphi:forbiddenapis:2.2:testCheck (default) on project checkstyle: Execution default of goal de.thetaphi:forbiddenapis:2.2:testCheck failed: 65535\r\n    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)\r\n    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)\r\n    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)\r\n    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)\r\n    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)\r\n    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)\r\n    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)\r\n    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)\r\n    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)\r\n    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)\r\n    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)\r\n    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)\r\n    at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)\r\n    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n    at java.lang.reflect.Method.invoke(Method.java:498)\r\n    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)\r\n    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)\r\n    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)\r\n    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)\r\nCaused by: org.apache.maven.plugin.PluginExecutionException: Execution default of goal de.thetaphi:forbiddenapis:2.2:testCheck failed: 65535\r\n    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)\r\n    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)\r\n    ... 20 more\r\nCaused by: java.lang.ArrayIndexOutOfBoundsException: 65535\r\n    at de.thetaphi.forbiddenapis.asm.ClassReader.readLabel(Unknown Source)\r\n    at de.thetaphi.forbiddenapis.asm.ClassReader.a(Unknown Source)\r\n    at de.thetaphi.forbiddenapis.asm.ClassReader.a(Unknown Source)\r\n    at de.thetaphi.forbiddenapis.asm.ClassReader.b(Unknown Source)\r\n    at de.thetaphi.forbiddenapis.asm.ClassReader.accept(Unknown Source)\r\n    at de.thetaphi.forbiddenapis.asm.ClassReader.accept(Unknown Source)\r\n    at de.thetaphi.forbiddenapis.Checker.checkClass(Checker.java:602)\r\n    at de.thetaphi.forbiddenapis.Checker.run(Checker.java:619)\r\n    at de.thetaphi.forbiddenapis.maven.AbstractCheckMojo.execute(AbstractCheckMojo.java:444)\r\n    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)\r\n    ... 21 more\r\n[ERROR] \r\n```\r\n\r\nSorry, but I am not able to get the full stack trace even with mvn verify -e -X.\r\nIf you need more details, please contact me."},"comment":{"url":"https://api.github.com/repos/policeman-tools/forbidden-apis/issues/comments/238352286","html_url":"https://github.com/policeman-tools/forbidden-apis/issues/108#issuecomment-238352286","issue_url":"https://api.github.com/repos/policeman-tools/forbidden-apis/issues/108","id":238352286,"user":{"login":"uschindler","id":1005388,"avatar_url":"https://avatars.githubusercontent.com/u/1005388?v=3","gravatar_id":"","url":"https://api.github.com/users/uschindler","html_url":"https://github.com/uschindler","followers_url":"https://api.github.com/users/uschindler/followers","following_url":"https://api.github.com/users/uschindler/following{/other_user}","gists_url":"https://api.github.com/users/uschindler/gists{/gist_id}","starred_url":"https://api.github.com/users/uschindler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/uschindler/subscriptions","organizations_url":"https://api.github.com/users/uschindler/orgs","repos_url":"https://api.github.com/users/uschindler/repos","events_url":"https://api.github.com/users/uschindler/events{/privacy}","received_events_url":"https://api.github.com/users/uschindler/received_events","type":"User","site_admin":false},"created_at":"2016-08-08T19:41:22Z","updated_at":"2016-08-08T19:41:22Z","body":"FYI, the class name where the Exception happens in is not forbidden's code, it's part of Asm, but shaded."}}
{"actor":{"display_login":"uschindler"}}