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

CI integration tests don't fail on non-fatal mixin errors #3339

Open
zml2008 opened this issue Mar 18, 2021 · 0 comments
Open

CI integration tests don't fail on non-fatal mixin errors #3339

zml2008 opened this issue Mar 18, 2021 · 0 comments
Assignees
Labels
status: accepted a confirmation that this is either an issue caused by us or something that should be added status: blocked there is another issue / pr that MUST be merged before this one system: test version: 1.16 (u) API: 8

Comments

@zml2008
Copy link
Member

zml2008 commented Mar 18, 2021

It seems some Mixin errors are considered 'non-fatal' and won't actually kill the process. Will need to hook into Mixin error handling to properly fail the build for these.

Example (from #3332):

[21:43:23] [main/INFO] [c.mod.mod.LaunchServiceHandler/MODLAUNCHER]: Launching target 'sponge_server_it' with arguments [--nogui]
[21:43:25] [main/ERROR] [mixin]: mixins.sponge.api.json:mcp.server.ServerScoreboardMixin_API: getObjective does not exist in target interface org.spongepowered.api.scoreboard.Scoreboard
org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException: getObjective does not exist in target interface org.spongepowered.api.scoreboard.Scoreboard
	at org.spongepowered.asm.mixin.transformer.InterfaceInfo.renameMethod(InterfaceInfo.java:188) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.prepareSoftImplements(MixinPreProcessorStandard.java:224) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.prepareMethod(MixinPreProcessorStandard.java:205) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.prepare(MixinPreProcessorStandard.java:184) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at org.spongepowered.asm.mixin.transformer.MixinInfo$State.validateChanges(MixinInfo.java:438) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at org.spongepowered.asm.mixin.transformer.MixinInfo$State.validate(MixinInfo.java:340) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at org.spongepowered.asm.mixin.transformer.MixinInfo.validate(MixinInfo.java:903) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at org.spongepowered.asm.mixin.transformer.MixinConfig.postInitialise(MixinConfig.java:672) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:542) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:439) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:415) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:285) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:223) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at org.spongepowered.asm.mixin.transformer.MixinTransformationHandler.processClass(MixinTransformationHandler.java:121) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at org.spongepowered.asm.launch.MixinLaunchPlugin.processClass(MixinLaunchPlugin.java:131) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown]
	at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:154) ~[modlauncher-8.0.9.jar:8.0.9+86+master.3cf110c]
	at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:85) ~[modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.TransformingClassLoader$DelegatedClassLoader.findClass(TransformingClassLoader.java:265) ~[modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:136) ~[modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:98) ~[modlauncher-8.0.9.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
	at java.lang.Class.forName0(Native Method) ~[?:?]
	at java.lang.Class.forName(Class.java:468) ~[?:?]
	at org.spongepowered.vanilla.applaunch.handler.test.ServerTestLaunchHandler.launchService0(ServerTestLaunchHandler.java:42) ~[spongevanilla-1.16.5-8.0.0-RC0-universal.jar:1.16.5-8.0.0-RC0]
	at org.spongepowered.vanilla.applaunch.handler.AbstractVanillaLaunchHandler.lambda$launchService$1(AbstractVanillaLaunchHandler.java:162) ~[spongevanilla-1.16.5-8.0.0-RC0-universal.jar:1.16.5-8.0.0-RC0]
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) ~[modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) ~[modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) ~[modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) ~[modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) ~[modlauncher-8.0.9.jar:?]
	at org.spongepowered.vanilla.applaunch.Main.run(Main.java:91) ~[spongevanilla-1.16.5-8.0.0-RC0-universal.jar:1.16.5-8.0.0-RC0]
	at org.spongepowered.vanilla.applaunch.Main.main(Main.java:62) ~[spongevanilla-1.16.5-8.0.0-RC0-universal.jar:1.16.5-8.0.0-RC0]
	... suppressed 3 lines
	at java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
	at org.spongepowered.vanilla.installer.InstallerMain.invokeMain(InstallerMain.java:107) ~[spongevanilla-1.16.5-8.0.0-RC0-universal.jar:1.16.5-8.0.0-RC0]
	at org.spongepowered.vanilla.installer.InstallerMain.run(InstallerMain.java:100) ~[spongevanilla-1.16.5-8.0.0-RC0-universal.jar:1.16.5-8.0.0-RC0]
	at org.spongepowered.vanilla.installer.InstallerMain.main(InstallerMain.java:64) ~[spongevanilla-1.16.5-8.0.0-RC0-universal.jar:1.16.5-8.0.0-RC0]
@zml2008 zml2008 added status: accepted a confirmation that this is either an issue caused by us or something that should be added version: 1.16 (u) API: 8 system: test labels Mar 18, 2021
@zml2008 zml2008 self-assigned this Mar 18, 2021
@zml2008 zml2008 added the status: blocked there is another issue / pr that MUST be merged before this one label Mar 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: accepted a confirmation that this is either an issue caused by us or something that should be added status: blocked there is another issue / pr that MUST be merged before this one system: test version: 1.16 (u) API: 8
Projects
None yet
Development

No branches or pull requests

1 participant