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

java.lang.IllegalStateException: Bytecode creation for the 'net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector in JeoAndOpeoTest.compilesAlreadyCompiledAndAssembles:84 #355

Closed
h1alexbel opened this issue Jul 31, 2024 · 7 comments
Assignees
Labels
bug Something isn't working

Comments

@h1alexbel
Copy link
Contributor

Failures:
[ERROR]   JeoAndOpeoTest.compilesAlreadyCompiledAndAssembles:84 We expect that the pipeline 'already-compiled-xmir' -> (compile) -> (assemble) ->'.class' will not throw any exceptions. ==> Unexpected exception thrown: java.lang.IllegalStateException: Bytecode creation for the 'net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector' class is not possible due to unmet preconditions. To reproduce the problem, you can write the following test:
AllLabels labels = new AllLabels();
new BytecodeClass("net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector")
.withMethod("j$consider", "(Ljava/lang/Class;Z)V", 4)
//max stack: 0 max locals 0
.label("6cc08c7e-4f43-431e-861a-d154d83eb0ad")
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.INVOKESTATIC, "net/bytebuddy/utility/JavaModule", "ofType", "(Ljava/lang/Class;)Lnet/bytebuddy/utility/JavaModule;", false)
.opcode(Opcodes.ASTORE, 3)
.label("acfb1609-1045-4546-a3ec-65fc2e7477e6")
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.GETFIELD, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "poolStrategy", "Lnet/bytebuddy/agent/builder/AgentBuilder$PoolStrategy;")
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.GETFIELD, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "locationStrategy", "Lnet/bytebuddy/agent/builder/AgentBuilder$LocationStrategy;")
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.INVOKEVIRTUAL, "java/lang/Class", "getClassLoader", "()Ljava/lang/ClassLoader;", false)
.opcode(Opcodes.ALOAD, 3)
.opcode(Opcodes.INVOKEINTERFACE, "net/bytebuddy/agent/builder/AgentBuilder$LocationStrategy", "classFileLocator", "(Ljava/lang/ClassLoader;Lnet/bytebuddy/utility/JavaModule;)Lnet/bytebuddy/dynamic/ClassFileLocator;", true)
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.INVOKEVIRTUAL, "java/lang/Class", "getClassLoader", "()Ljava/lang/ClassLoader;", false)
.opcode(Opcodes.INVOKEINTERFACE, "net/bytebuddy/agent/builder/AgentBuilder$PoolStrategy", "typePool", "(Lnet/bytebuddy/dynamic/ClassFileLocator;Ljava/lang/ClassLoader;)Lnet/bytebuddy/pool/TypePool;", true)
.opcode(Opcodes.ASTORE, 4)
.label("1b9e21a7-7211-4073-a1b6-efaa59625760")
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.GETFIELD, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "matcher", "Lnet/bytebuddy/agent/builder/AgentBuilder$RawMatcher;")
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.GETFIELD, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "listener", "Lnet/bytebuddy/agent/builder/AgentBuilder$Listener;")
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.GETFIELD, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "descriptionStrategy", "Lnet/bytebuddy/agent/builder/AgentBuilder$DescriptionStrategy;")
.opcode(Opcodes.ALOAD, 1)
.label("73770c3a-31a3-4125-b942-5fdaee663e1b")
.opcode(Opcodes.INVOKESTATIC, "net/bytebuddy/description/type/TypeDescription$ForLoadedType", "getName", "(Ljava/lang/Class;)Ljava/lang/String;", false)
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.ALOAD, 4)
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.GETFIELD, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "circularityLock", "Lnet/bytebuddy/agent/builder/AgentBuilder$CircularityLock;")
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.INVOKEVIRTUAL, "java/lang/Class", "getClassLoader", "()Ljava/lang/ClassLoader;", false)
.opcode(Opcodes.ALOAD, 3)
.opcode(Opcodes.INVOKEINTERFACE, "net/bytebuddy/agent/builder/AgentBuilder$DescriptionStrategy", "apply", "(Ljava/lang/String;Ljava/lang/Class;Lnet/bytebuddy/pool/TypePool;Lnet/bytebuddy/agent/builder/AgentBuilder$CircularityLock;Ljava/lang/ClassLoader;Lnet/bytebuddy/utility/JavaModule;)Lnet/bytebuddy/description/type/TypeDescription;", true)
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.ALOAD, 3)
.opcode(Opcodes.ILOAD, 2)
.label("80f29858-6a2c-4325-820f-ffb872d111a6")
.opcode(Opcodes.INVOKESPECIAL, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "doConsider", "(Lnet/bytebuddy/agent/builder/AgentBuilder$RawMatcher;Lnet/bytebuddy/agent/builder/AgentBuilder$Listener;Lnet/bytebuddy/description/type/TypeDescription;Ljava/lang/Class;Ljava/lang/Class;Lnet/bytebuddy/utility/JavaModule;Z)V", false)
.label("24456fb9-5543-4d3b-80a0-fec433f60fd2")
.opcode(Opcodes.GOTO, labels.label("c01afe8d-8521-4b24-87b3-b6bf42f38c3b"))
.label("f972d953-aaef-4da0-aeaa-e191d2a1050b")
.opcode(Opcodes.ASTORE, 5)
.label("5ac14d92-2c1d-4874-a643-7cdd29a9abd8")
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.GETFIELD, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "descriptionStrategy", "Lnet/bytebuddy/agent/builder/AgentBuilder$DescriptionStrategy;")
.opcode(Opcodes.INVOKEINTERFACE, "net/bytebuddy/agent/builder/AgentBuilder$DescriptionStrategy", "isLoadedFirst", "()Z", true)
.opcode(Opcodes.IFEQ, labels.label("e9d8ba20-d009-42df-9234-a147f6a6ad03"))
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.GETFIELD, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "fallbackStrategy", "Lnet/bytebuddy/agent/builder/AgentBuilder$FallbackStrategy;")
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.ALOAD, 5)
.opcode(Opcodes.INVOKEINTERFACE, "net/bytebuddy/agent/builder/AgentBuilder$FallbackStrategy", "isFallback", "(Ljava/lang/Class;Ljava/lang/Throwable;)Z", true)
.opcode(Opcodes.IFEQ, labels.label("e9d8ba20-d009-42df-9234-a147f6a6ad03"))
.label("f732950a-bedf-47d7-9c29-4609b34569a5")
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.GETFIELD, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "matcher", "Lnet/bytebuddy/agent/builder/AgentBuilder$RawMatcher;")
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.GETFIELD, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "listener", "Lnet/bytebuddy/agent/builder/AgentBuilder$Listener;")
.opcode(Opcodes.ALOAD, 4)
.opcode(Opcodes.ALOAD, 1)
.label("2ca68baf-e78a-480f-9a34-dcce7b4e7ba5")
.opcode(Opcodes.INVOKESTATIC, "net/bytebuddy/description/type/TypeDescription$ForLoadedType", "getName", "(Ljava/lang/Class;)Ljava/lang/String;", false)
.opcode(Opcodes.INVOKEINTERFACE, "net/bytebuddy/pool/TypePool", "describe", "(Ljava/lang/String;)Lnet/bytebuddy/pool/TypePool$Resolution;", true)
.opcode(Opcodes.INVOKEINTERFACE, "net/bytebuddy/pool/TypePool$Resolution", "resolve", "()Lnet/bytebuddy/description/type/TypeDescription;", true)
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.ACONST_NULL)
.opcode(Opcodes.ALOAD, 3)
.opcode(Opcodes.ICONST_1)
.label("149f4e5b-529d-4d86-9a82-7364a95875f5")
.opcode(Opcodes.INVOKESPECIAL, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "doConsider", "(Lnet/bytebuddy/agent/builder/AgentBuilder$RawMatcher;Lnet/bytebuddy/agent/builder/AgentBuilder$Listener;Lnet/bytebuddy/description/type/TypeDescription;Ljava/lang/Class;Ljava/lang/Class;Lnet/bytebuddy/utility/JavaModule;Z)V", false)
.opcode(Opcodes.GOTO, labels.label("c01afe8d-8521-4b24-87b3-b6bf42f38c3b"))
.label("e9d8ba20-d009-42df-9234-a147f6a6ad03")
.opcode(Opcodes.ALOAD, 5)
.opcode(Opcodes.ATHROW)
.label("c01afe8d-8521-4b24-87b3-b6bf42f38c3b")
.opcode(Opcodes.GOTO, labels.label("7996580c-4089-463b-9736-c82786a3b5c3"))
.label("5cbc9b1d-3dab-42fe-bf88-1e1e1249afef")
.opcode(Opcodes.ASTORE, 4)
.label("cc01824a-099e-4364-91d9-0f66e5576036")
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.GETFIELD, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "listener", "Lnet/bytebuddy/agent/builder/AgentBuilder$Listener;")
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.INVOKESTATIC, "net/bytebuddy/description/type/TypeDescription$ForLoadedType", "getName", "(Ljava/lang/Class;)Ljava/lang/String;", false)
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.INVOKEVIRTUAL, "java/lang/Class", "getClassLoader", "()Ljava/lang/ClassLoader;", false)
.opcode(Opcodes.ALOAD, 3)
.opcode(Opcodes.ICONST_1)
.opcode(Opcodes.INVOKEINTERFACE, "net/bytebuddy/agent/builder/AgentBuilder$Listener", "onDiscovery", "(Ljava/lang/String;Ljava/lang/ClassLoader;Lnet/bytebuddy/utility/JavaModule;Z)V", true)
.label("0b6df276-55e7-4cac-bcfe-ac40c8ed700e")
.opcode(Opcodes.JSR, labels.label("5f012ede-c409-4dd8-b01d-6757f7953068"))
.label("e0259916-6d61-476a-8a2f-63ae0fef40f3")
.opcode(Opcodes.GOTO, labels.label("6cbd981b-702f-493d-ac3a-bb9b195a50e2"))
.label("b04b693e-27da-47f6-860c-d1853c040d12")
.opcode(Opcodes.ASTORE, 6)
.opcode(Opcodes.JSR, labels.label("5f012ede-c409-4dd8-b01d-6757f7953068"))
.label("195aefa9-dcb1-4d66-b964-16c6f6534d5f")
.opcode(Opcodes.ALOAD, 6)
.opcode(Opcodes.ATHROW)
.label("5f012ede-c409-4dd8-b01d-6757f7953068")
.opcode(Opcodes.ASTORE, 7)
.label("609a3458-a255-41b4-83b1-4bfd968710fe")
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.GETFIELD, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "listener", "Lnet/bytebuddy/agent/builder/AgentBuilder$Listener;")
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.INVOKESTATIC, "net/bytebuddy/description/type/TypeDescription$ForLoadedType", "getName", "(Ljava/lang/Class;)Ljava/lang/String;", false)
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.INVOKEVIRTUAL, "java/lang/Class", "getClassLoader", "()Ljava/lang/ClassLoader;", false)
.opcode(Opcodes.ALOAD, 3)
.opcode(Opcodes.ICONST_1)
.opcode(Opcodes.ALOAD, 4)
.opcode(Opcodes.INVOKEINTERFACE, "net/bytebuddy/agent/builder/AgentBuilder$Listener", "onError", "(Ljava/lang/String;Ljava/lang/ClassLoader;Lnet/bytebuddy/utility/JavaModule;ZLjava/lang/Throwable;)V", true)
.label("2838fc16-51e0-4019-b563-2266b817b5a2")
.opcode(Opcodes.JSR, labels.label("749dbae3-eb19-4149-86d5-26d446c40a81"))
.label("5a3e67e7-9491-46d8-8c34-905a2e222f5b")
.opcode(Opcodes.GOTO, labels.label("3e33eac9-7c14-4b91-b35b-0f28b5910adb"))
.label("950ecaba-73c8-436a-839e-19a840fdb048")
.opcode(Opcodes.ASTORE, 8)
.opcode(Opcodes.JSR, labels.label("749dbae3-eb19-4149-86d5-26d446c40a81"))
.label("0371df95-4da3-4221-b0ab-39f19020f21b")
.opcode(Opcodes.ALOAD, 8)
.opcode(Opcodes.ATHROW)
.label("749dbae3-eb19-4149-86d5-26d446c40a81")
.opcode(Opcodes.ASTORE, 9)
.label("7d1a5d80-acd7-43aa-816f-26fe79f9120a")
.opcode(Opcodes.ALOAD, 0)
.opcode(Opcodes.GETFIELD, "net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector", "listener", "Lnet/bytebuddy/agent/builder/AgentBuilder$Listener;")
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.INVOKESTATIC, "net/bytebuddy/description/type/TypeDescription$ForLoadedType", "getName", "(Ljava/lang/Class;)Ljava/lang/String;", false)
.opcode(Opcodes.ALOAD, 1)
.opcode(Opcodes.INVOKEVIRTUAL, "java/lang/Class", "getClassLoader", "()Ljava/lang/ClassLoader;", false)
.opcode(Opcodes.ALOAD, 3)
.opcode(Opcodes.ICONST_1)
.opcode(Opcodes.INVOKEINTERFACE, "net/bytebuddy/agent/builder/AgentBuilder$Listener", "onComplete", "(Ljava/lang/String;Ljava/lang/ClassLoader;Lnet/bytebuddy/utility/JavaModule;Z)V", true)
.opcode(Opcodes.RET, 9)
.label("3e33eac9-7c14-4b91-b35b-0f28b5910adb")
.opcode(Opcodes.RET, 7)
.label("6cbd981b-702f-493d-ac3a-bb9b195a50e2")
.opcode(Opcodes.GOTO, labels.label("7996580c-4089-463b-9736-c82786a3b5c3"))
.label("0d800e05-3e15-45af-b889-4128a276cf68")
.opcode(Opcodes.ASTORE, 5)
.label("7996580c-4089-463b-9736-c82786a3b5c3")
.opcode(Opcodes.RETURN)
.label("d7cfb3df-89f4-44d9-9399-57c1c619bb58")
.up()
.bytecode();
@h1alexbel h1alexbel changed the title java.lang.IllegalStateException: Bytecode creation for the 'net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector in JeoAndOpeoTest.compilesAlreadyCompiledAndAssembles:84 java.lang.IllegalStateException: Bytecode creation for the 'net/bytebuddy/agent/builder/AgentBuilder$RedefinitionStrategy$Collector in JeoAndOpeoTest.compilesAlreadyCompiledAndAssembles:84 Jul 31, 2024
@h1alexbel
Copy link
Contributor Author

@volodya-lombrozo looks like a bug in the master branch

@h1alexbel
Copy link
Contributor Author

this issue blocks #356

@volodya-lombrozo volodya-lombrozo self-assigned this Jul 31, 2024
@volodya-lombrozo volodya-lombrozo added the bug Something isn't working label Jul 31, 2024
@volodya-lombrozo
Copy link
Member

@h1alexbel Thank you for the reporting. I'll solve it soon.

@0crat
Copy link

0crat commented Jul 31, 2024

@h1alexbel Thanks for reporting a new bug! You've earned +15 points. By reporting bugs, you help our project improve its quality. If you find anything else in the repository that doesn't look as good as you might expect, do not hesitate to report it. Your running balance is +63.

volodya-lombrozo added a commit to volodya-lombrozo/opeo-maven-plugin that referenced this issue Jul 31, 2024
volodya-lombrozo added a commit to volodya-lombrozo/opeo-maven-plugin that referenced this issue Jul 31, 2024
volodya-lombrozo added a commit to volodya-lombrozo/opeo-maven-plugin that referenced this issue Jul 31, 2024
volodya-lombrozo added a commit to volodya-lombrozo/opeo-maven-plugin that referenced this issue Jul 31, 2024
volodya-lombrozo added a commit to volodya-lombrozo/opeo-maven-plugin that referenced this issue Jul 31, 2024
volodya-lombrozo added a commit to volodya-lombrozo/opeo-maven-plugin that referenced this issue Jul 31, 2024
@0pdd
Copy link

0pdd commented Jul 31, 2024

@h1alexbel the puzzle #358 is still not solved.

@volodya-lombrozo
Copy link
Member

@h1alexbel Could you try to update your branch according with the new changes, please? These changes should solve the problem you faced with.

@h1alexbel
Copy link
Contributor Author

@volodya-lombrozo yeah, thanks. Can be closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants