[
https://issues.apache.org/jira/browse/WICKET-7005?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Tzvetanov Grigorov resolved WICKET-7005.
-----------------------------------------------
Fix Version/s: 10.0.0
9.13.0
Assignee: Martin Tzvetanov Grigorov
Resolution: Fixed
[~renoth] Please open an issue at ByteBuddy Github repo if you think there is a
bug or a room for improvement in it.
Or comment here if you think Wicket should be improved.
Thank you all!
> ByteBuddy IllegalStateException: Cannot inject already loaded type
> ------------------------------------------------------------------
>
> Key: WICKET-7005
> URL: https://issues.apache.org/jira/browse/WICKET-7005
> Project: Wicket
> Issue Type: Bug
> Components: wicket-ioc
> Affects Versions: 9.12.0
> Reporter: Miroslav Silhavy
> Assignee: Martin Tzvetanov Grigorov
> Priority: Major
> Fix For: 10.0.0, 9.13.0
>
> Attachments: WICKET-7005.zip
>
>
> Sometimes we get following exception in our application. It happens during
> our regression application tests running on parallel.
> We're running Wicket 9.11.0 with byteBuddy enabled
> (-Dwicket.ioc.useByteBuddy=true) on Java 17. We applied a workaround by
> changing this spring component to extend a single interface instead of being
> sole class. When using cglib there was no issue.
>
>
> {code:java}
> Caused by: java.lang.RuntimeException: error while injecting object [[Page
> class = com.project.core.web.page.login.LoginPage, id = 1, render count = 0]]
> of type [com.project.core.web.page.login.LoginPage]
> at org.apache.wicket.injection.Injector.inject(Injector.java:122)
> at
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
> at
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
> at
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
> at
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
> at
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:81)
> at
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
> at org.apache.wicket.Component.<init>(Component.java:691)
> at org.apache.wicket.MarkupContainer.<init>(MarkupContainer.java:180)
> at org.apache.wicket.Page.<init>(Page.java:171)
> at org.apache.wicket.Page.<init>(Page.java:160)
> at org.apache.wicket.markup.html.WebPage.<init>(WebPage.java:99)
> at
> com.project.core.web.page.base.AbstractprojectPage.<init>(AbstractprojectPage.java:64)
> at
> com.project.core.web.page.base.AbstractprojectPage.<init>(AbstractprojectPage.java:54)
> at
> com.project.core.web.page.base.projectPageImpl.<init>(projectPageImpl.java:66)
> at
> com.project.core.web.page.base.projectSimplePage.<init>(projectSimplePage.java:17)
> at com.project.core.web.page.login.LoginPage.<init>(LoginPage.java:86)
> at com.project.core.web.page.login.LoginPage.<init>(LoginPage.java:78)
> ... 151 common frames omitted
> Caused by: java.lang.IllegalArgumentException: Could not create type
> at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:170)
> at
> net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:399)
> at
> org.apache.wicket.proxy.bytebuddy.ByteBuddyProxyFactory.createOrGetProxyClass(ByteBuddyProxyFactory.java:105)
> at
> org.apache.wicket.proxy.bytebuddy.ByteBuddyProxyFactory.createProxy(ByteBuddyProxyFactory.java:75)
> at
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:160)
> at
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
> at org.apache.wicket.injection.Injector.inject(Injector.java:111)
> ... 168 common frames omitted
> Caused by: java.lang.IllegalStateException: Cannot inject already loaded
> type: class
> com.project.core.web.page.base.WicketProxy_DoubleClickPreventionSupport
> at
> net.bytebuddy.dynamic.loading.ClassInjector$UsingReflection.injectRaw(ClassInjector.java:286)
> at
> net.bytebuddy.dynamic.loading.ClassInjector$AbstractBase.inject(ClassInjector.java:118)
> at
> net.bytebuddy.dynamic.loading.ClassLoadingStrategy$Default$InjectionDispatcher.load(ClassLoadingStrategy.java:241)
> at
> net.bytebuddy.dynamic.loading.ClassLoadingStrategy$Default.load(ClassLoadingStrategy.java:148)
> at
> net.bytebuddy.dynamic.TypeResolutionStrategy$Passive.initialize(TypeResolutionStrategy.java:101)
> at
> net.bytebuddy.dynamic.DynamicType$Default$Unloaded.load(DynamicType.java:6166)
> at
> org.apache.wicket.proxy.bytebuddy.ByteBuddyProxyFactory.lambda$createOrGetProxyClass$0(ByteBuddyProxyFactory.java:119)
> at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:168)
> ... 174 common frames omitted
> {code}
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)