Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

org.pitest.util.PitError: zip END header not found #1224

Closed
mauricioaniche opened this issue May 30, 2023 · 1 comment
Closed

org.pitest.util.PitError: zip END header not found #1224

mauricioaniche opened this issue May 30, 2023 · 1 comment

Comments

@mauricioaniche
Copy link

I have been having a strange exception in Pitest: org.pitest.util.PitError: zip END header not found (/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/boot/plexus-classworlds.license).

I followed Pitest's code with the debugger, it seems like it's looking for the org.pitest.boot.HotSwapAgent class, as soon as the code gets to CompoundClassPathRoot#getData, it loops through the classpath dependencies, it finds this .license file and crashes with this exception. Maybe the code thinks this is a JAR? This license file is included by IntelliJ when running a maven task.

Stack trace:

Please copy and paste the information and the complete stacktrace below when reporting an issue
VM : OpenJDK 64-Bit Server VM
Vendor : Eclipse Adoptium
Version : 17.0.6+10
Uptime : 2533
Input -> 
 1 : -Dmaven.multiModuleProjectDirectory=/Users/mauricio/workspace/andy/assignments/domain-and-structural-testing/adding-lists-of-digits
 2 : -Djansi.passthrough=true
 3 : -Dmaven.home=/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3
 4 : -Dclassworlds.conf=/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/bin/m2.conf
 5 : -Dmaven.ext.class.path=/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven-event-listener.jar
 6 : -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=51119:/Applications/IntelliJ IDEA.app/Contents/bin
 7 : -Dfile.encoding=UTF-8
BootClassPathSupported : false

	at org.pitest.util.Unchecked.translateCheckedException(Unchecked.java:25)
	at org.pitest.classpath.ArchiveClassPathRoot.getRoot(ArchiveClassPathRoot.java:117)
	at org.pitest.classpath.ArchiveClassPathRoot.classNames(ArchiveClassPathRoot.java:87)
	at org.pitest.classpath.NameCachingRoot.classNames(NameCachingRoot.java:51)
	at org.pitest.classpath.NameCachingRoot.getData(NameCachingRoot.java:36)
	at org.pitest.classpath.CompoundClassPathRoot.getData(CompoundClassPathRoot.java:27)
	at org.pitest.classpath.ClassPath.getClassData(ClassPath.java:101)
	at org.pitest.classpath.ClassPathByteArraySource.getBytes(ClassPathByteArraySource.java:41)
	at org.pitest.mutationtest.tooling.JarCreatingJarFinder.classBytes(JarCreatingJarFinder.java:118)
	at org.pitest.mutationtest.tooling.JarCreatingJarFinder.addClass(JarCreatingJarFinder.java:113)
	at org.pitest.mutationtest.tooling.JarCreatingJarFinder.createJarFromClassPathResources(JarCreatingJarFinder.java:98)
	at org.pitest.mutationtest.tooling.JarCreatingJarFinder.createJar(JarCreatingJarFinder.java:74)
	at org.pitest.mutationtest.tooling.JarCreatingJarFinder.getJarLocation(JarCreatingJarFinder.java:63)
	at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:96)
	at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:57)

I have a weird setup here, which might be confusing pitest even more. The code starts in a Maven task that we wrote ourselves. The task calls more code written by us, which calls pitest manually. (It's a tool to grade students, and pitest's outcome is one of the variables we use).

Any idea how to fix this?

@hcoles
Copy link
Owner

hcoles commented May 31, 2023

Pitest is treating any file added to the classpath as an openable archive. This doesn't seem to cause any problems when used via standard build tools, but results in an error in your case. #1225 should fix it by no longer treating trying to open non archive files as an error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants