You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Emond Papegaaij (JIRA)" <ji...@apache.org> on 2017/04/05 18:43:41 UTC
[jira] [Comment Edited] (WICKET-6353) Proxy deserialization fails
due to classloading issues
[ https://issues.apache.org/jira/browse/WICKET-6353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15957410#comment-15957410 ]
Emond Papegaaij edited comment on WICKET-6353 at 4/5/17 6:43 PM:
-----------------------------------------------------------------
It is not an 'official' stacktrace, because that's quite hard to get at that point. This is a dump of the stack from Eclipse, with some hints.
{code}
ClassNotFoundException: org.springframework.core.SerializableTypeWrapper$SerializableTypeProxy
In class: ModuleClassLoader
module: Module "deployment.dev-bundle-2.49.04-SNAPSHOT.ear:main" from Service Module Loader
ModuleClassLoader.findClass(String, boolean, boolean) line: 198
ModuleClassLoader(ConcurrentClassLoader).performLoadClassUnchecked(String, boolean, boolean) line: 363
ModuleClassLoader(ConcurrentClassLoader).performLoadClass(String, boolean, boolean) line: 351
ModuleClassLoader(ConcurrentClassLoader).loadClass(String) line: 93
Class<T>.forName0(String, boolean, ClassLoader, Class<?>) line: not available [native method]
Class<T>.forName(String, boolean, ClassLoader) line: 348 <-- lookup SerializableTypeWrapper$SerializableTypeProxy
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).resolveProxyClass(String[]) line: 700
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readProxyDesc(boolean) line: 1566
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readClassDesc(boolean) line: 1518
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1781 <-- $Proxy326
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808 <-- ResolvableType
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readArray(boolean) line: 1714 <-- [ResolvableType]
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1347
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808 <-- ResolvableType
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808 <-- SpringBeanLocator
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808 <-- ProxyReplacement, resolves to
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353 LazyInitProxyFactory$JDKHandler
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readArray(boolean) line: 1714
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1347
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject() line: 373
ArrayList<E>.readObject(ObjectInputStream) line: 791
GeneratedMethodAccessor312.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
Method.invoke(Object, Object...) line: 498
ObjectStreamClass.invokeReadObject(Object, ObjectInputStream) line: 1058
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1909
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject() line: 373
ArrayList<E>.readObject(ObjectInputStream) line: 791
GeneratedMethodAccessor312.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
Method.invoke(Object, Object...) line: 498
ObjectStreamClass.invokeReadObject(Object, ObjectInputStream) line: 1058
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1909
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject() line: 373
LinkedMap<K,V>(AbstractHashedMap<K,V>).doReadObject(ObjectInputStream) line: 1268
LinkedMap<K,V>.readObject(ObjectInputStream) line: 132
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 62
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
Method.invoke(Object, Object...) line: 498
ObjectStreamClass.invokeReadObject(Object, ObjectInputStream) line: 1058
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1909
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readArray(boolean) line: 1714
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1347
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readArray(boolean) line: 1714
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1347
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject() line: 373
DeflatedJavaSerializer(JavaSerializer).deserialize(byte[]) line: 122
PerSessionPageStore(AbstractPageStore).deserializePage(byte[]) line: 152
PerSessionPageStore(AbstractCachingPageStore<P>).getPage(String, int) line: 67
PageStoreManager$SessionEntry.getPage(int) line: 211
DecoratablePageManager$DecoratableRequestAdapter(PageStoreManager$PersistentRequestAdapter).getPage(int) line: 367
DecoratablePageManager(AbstractPageManager).getPage(int) line: 82
PageAccessSynchronizer$2(PageManagerDecorator).getPage(int) line: 50
PageAccessSynchronizer$2.getPage(int) line: 246
History.getPage(PageInformation) line: 33
TargetBasedSecurePageLink$1.getPage() line: 39
TargetBasedSecurePageLink<T>(SecurePageLink<T>).onClick() line: 106
TargetBasedSecurePageLink<T>(Link<T>).onLinkClicked() line: 190
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 62
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
Method.invoke(Object, Object...) line: 498
RequestListenerInterface.internalInvoke(Component, Object) line: 258
RequestListenerInterface.invoke(IRequestableComponent) line: 216
ListenerInterfaceRequestHandler.invokeListener() line: 241
ListenerInterfaceRequestHandler.respond(IRequestCycle) line: 234
RequestCycle$HandlerExecutor.respond(IRequestHandler) line: 895
RequestCycle$HandlerExecutor(RequestHandlerStack).execute(IRequestHandler) line: 64
RequestCycle.execute(IRequestHandler) line: 265
RequestCycle.processRequest() line: 222
RequestCycle.processRequestAndDetach() line: 293
WicketFilter.processRequestCycle(RequestCycle, WebResponse, HttpServletRequest, HttpServletResponse, FilterChain) line: 261
WicketFilter.processRequest(ServletRequest, ServletResponse, FilterChain) line: 203
WicketFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 284
ManagedFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 61
FilterHandler$FilterChainImpl.doFilter(ServletRequest, ServletResponse) line: 131
CloseJpaTransactionAfterViewFilter.doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain) line: 85
CloseJpaTransactionAfterViewFilter(OncePerRequestFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 107
ManagedFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 61
FilterHandler$FilterChainImpl.doFilter(ServletRequest, ServletResponse) line: 131
ActiveRequestsPerSessionFilter.doHttpRequestFilter(HttpServletRequest, HttpServletResponse, FilterChain) line: 176
ActiveRequestsPerSessionFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 149
ManagedFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 61
FilterHandler$FilterChainImpl.doFilter(ServletRequest, ServletResponse) line: 131
FilterHandler.handleRequest(HttpServerExchange) line: 84
ServletSecurityRoleHandler.handleRequest(HttpServerExchange) line: 62
ServletDispatchingHandler.handleRequest(HttpServerExchange) line: 36
SecurityContextAssociationHandler.handleRequest(HttpServerExchange) line: 78
PredicateHandler.handleRequest(HttpServerExchange) line: 43
SSLInformationAssociationHandler.handleRequest(HttpServerExchange) line: 131
ServletAuthenticationCallHandler.handleRequest(HttpServerExchange) line: 57
PredicateHandler.handleRequest(HttpServerExchange) line: 43
ServletConfidentialityConstraintHandler(AbstractConfidentialityHandler).handleRequest(HttpServerExchange) line: 46
ServletConfidentialityConstraintHandler.handleRequest(HttpServerExchange) line: 64
AuthenticationMechanismsHandler.handleRequest(HttpServerExchange) line: 60
CachedAuthenticatedSessionHandler.handleRequest(HttpServerExchange) line: 77
NotificationReceiverHandler.handleRequest(HttpServerExchange) line: 50
SecurityInitialHandler(AbstractSecurityContextAssociationHandler).handleRequest(HttpServerExchange) line: 43
PredicateHandler.handleRequest(HttpServerExchange) line: 43
JACCContextIdHandler.handleRequest(HttpServerExchange) line: 61
PredicateHandler.handleRequest(HttpServerExchange) line: 43
PredicateHandler.handleRequest(HttpServerExchange) line: 43
ServletInitialHandler.handleFirstRequest(HttpServerExchange, ServletRequestContext) line: 292
ServletInitialHandler.access$100(ServletInitialHandler, HttpServerExchange, ServletRequestContext) line: 81
ServletInitialHandler$2.call(HttpServerExchange, ServletRequestContext) line: 138
ServletInitialHandler$2.call(HttpServerExchange, Object) line: 135
ServletRequestContextThreadSetupAction$1.call(HttpServerExchange, C) line: 48
ContextClassLoaderSetupAction$1.call(HttpServerExchange, C) line: 43
LegacyThreadSetupActionWrapper$1.call(HttpServerExchange, C) line: 44
LegacyThreadSetupActionWrapper$1.call(HttpServerExchange, C) line: 44
LegacyThreadSetupActionWrapper$1.call(HttpServerExchange, C) line: 44
LegacyThreadSetupActionWrapper$1.call(HttpServerExchange, C) line: 44
LegacyThreadSetupActionWrapper$1.call(HttpServerExchange, C) line: 44
LegacyThreadSetupActionWrapper$1.call(HttpServerExchange, C) line: 44
ServletInitialHandler.dispatchRequest(HttpServerExchange, ServletRequestContext, ServletChain, DispatcherType) line: 272
ServletInitialHandler.access$000(ServletInitialHandler, HttpServerExchange, ServletRequestContext, ServletChain, DispatcherType) line: 81
ServletInitialHandler$1.handleRequest(HttpServerExchange) line: 104
Connectors.executeRootHandler(HttpHandler, HttpServerExchange) line: 202
HttpServerExchange$1.run() line: 805
XnioWorker$TaskPool(ThreadPoolExecutor).runWorker(ThreadPoolExecutor$Worker) line: 1142
ThreadPoolExecutor$Worker.run() line: 617
Thread.run() line: 745
{code}
was (Author: papegaaij):
{code}
ClassNotFoundException: org.springframework.core.SerializableTypeWrapper$SerializableTypeProxy
In class: ModuleClassLoader
module: Module "deployment.dev-bundle-2.49.04-SNAPSHOT.ear:main" from Service Module Loader
ModuleClassLoader.findClass(String, boolean, boolean) line: 198
ModuleClassLoader(ConcurrentClassLoader).performLoadClassUnchecked(String, boolean, boolean) line: 363
ModuleClassLoader(ConcurrentClassLoader).performLoadClass(String, boolean, boolean) line: 351
ModuleClassLoader(ConcurrentClassLoader).loadClass(String) line: 93
Class<T>.forName0(String, boolean, ClassLoader, Class<?>) line: not available [native method]
Class<T>.forName(String, boolean, ClassLoader) line: 348 <-- lookup SerializableTypeWrapper$SerializableTypeProxy
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).resolveProxyClass(String[]) line: 700
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readProxyDesc(boolean) line: 1566
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readClassDesc(boolean) line: 1518
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1781 <-- $Proxy326
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808 <-- ResolvableType
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readArray(boolean) line: 1714 <-- [ResolvableType]
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1347
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808 <-- ResolvableType
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808 <-- SpringBeanLocator
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808 <-- ProxyReplacement, resolves to
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353 LazyInitProxyFactory$JDKHandler
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readArray(boolean) line: 1714
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1347
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject() line: 373
ArrayList<E>.readObject(ObjectInputStream) line: 791
GeneratedMethodAccessor312.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
Method.invoke(Object, Object...) line: 498
ObjectStreamClass.invokeReadObject(Object, ObjectInputStream) line: 1058
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1909
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject() line: 373
ArrayList<E>.readObject(ObjectInputStream) line: 791
GeneratedMethodAccessor312.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
Method.invoke(Object, Object...) line: 498
ObjectStreamClass.invokeReadObject(Object, ObjectInputStream) line: 1058
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1909
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject() line: 373
LinkedMap<K,V>(AbstractHashedMap<K,V>).doReadObject(ObjectInputStream) line: 1268
LinkedMap<K,V>.readObject(ObjectInputStream) line: 132
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 62
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
Method.invoke(Object, Object...) line: 498
ObjectStreamClass.invokeReadObject(Object, ObjectInputStream) line: 1058
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1909
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readArray(boolean) line: 1714
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1347
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readArray(boolean) line: 1714
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1347
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 2018
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1942
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1808
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject0(boolean) line: 1353
JavaSerializer$ClassResolverObjectInputStream(ObjectInputStream).readObject() line: 373
DeflatedJavaSerializer(JavaSerializer).deserialize(byte[]) line: 122
PerSessionPageStore(AbstractPageStore).deserializePage(byte[]) line: 152
PerSessionPageStore(AbstractCachingPageStore<P>).getPage(String, int) line: 67
PageStoreManager$SessionEntry.getPage(int) line: 211
DecoratablePageManager$DecoratableRequestAdapter(PageStoreManager$PersistentRequestAdapter).getPage(int) line: 367
DecoratablePageManager(AbstractPageManager).getPage(int) line: 82
PageAccessSynchronizer$2(PageManagerDecorator).getPage(int) line: 50
PageAccessSynchronizer$2.getPage(int) line: 246
History.getPage(PageInformation) line: 33
TargetBasedSecurePageLink$1.getPage() line: 39
TargetBasedSecurePageLink<T>(SecurePageLink<T>).onClick() line: 106
TargetBasedSecurePageLink<T>(Link<T>).onLinkClicked() line: 190
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 62
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
Method.invoke(Object, Object...) line: 498
RequestListenerInterface.internalInvoke(Component, Object) line: 258
RequestListenerInterface.invoke(IRequestableComponent) line: 216
ListenerInterfaceRequestHandler.invokeListener() line: 241
ListenerInterfaceRequestHandler.respond(IRequestCycle) line: 234
RequestCycle$HandlerExecutor.respond(IRequestHandler) line: 895
RequestCycle$HandlerExecutor(RequestHandlerStack).execute(IRequestHandler) line: 64
RequestCycle.execute(IRequestHandler) line: 265
RequestCycle.processRequest() line: 222
RequestCycle.processRequestAndDetach() line: 293
WicketFilter.processRequestCycle(RequestCycle, WebResponse, HttpServletRequest, HttpServletResponse, FilterChain) line: 261
WicketFilter.processRequest(ServletRequest, ServletResponse, FilterChain) line: 203
WicketFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 284
ManagedFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 61
FilterHandler$FilterChainImpl.doFilter(ServletRequest, ServletResponse) line: 131
CloseJpaTransactionAfterViewFilter.doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain) line: 85
CloseJpaTransactionAfterViewFilter(OncePerRequestFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 107
ManagedFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 61
FilterHandler$FilterChainImpl.doFilter(ServletRequest, ServletResponse) line: 131
ActiveRequestsPerSessionFilter.doHttpRequestFilter(HttpServletRequest, HttpServletResponse, FilterChain) line: 176
ActiveRequestsPerSessionFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 149
ManagedFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 61
FilterHandler$FilterChainImpl.doFilter(ServletRequest, ServletResponse) line: 131
FilterHandler.handleRequest(HttpServerExchange) line: 84
ServletSecurityRoleHandler.handleRequest(HttpServerExchange) line: 62
ServletDispatchingHandler.handleRequest(HttpServerExchange) line: 36
SecurityContextAssociationHandler.handleRequest(HttpServerExchange) line: 78
PredicateHandler.handleRequest(HttpServerExchange) line: 43
SSLInformationAssociationHandler.handleRequest(HttpServerExchange) line: 131
ServletAuthenticationCallHandler.handleRequest(HttpServerExchange) line: 57
PredicateHandler.handleRequest(HttpServerExchange) line: 43
ServletConfidentialityConstraintHandler(AbstractConfidentialityHandler).handleRequest(HttpServerExchange) line: 46
ServletConfidentialityConstraintHandler.handleRequest(HttpServerExchange) line: 64
AuthenticationMechanismsHandler.handleRequest(HttpServerExchange) line: 60
CachedAuthenticatedSessionHandler.handleRequest(HttpServerExchange) line: 77
NotificationReceiverHandler.handleRequest(HttpServerExchange) line: 50
SecurityInitialHandler(AbstractSecurityContextAssociationHandler).handleRequest(HttpServerExchange) line: 43
PredicateHandler.handleRequest(HttpServerExchange) line: 43
JACCContextIdHandler.handleRequest(HttpServerExchange) line: 61
PredicateHandler.handleRequest(HttpServerExchange) line: 43
PredicateHandler.handleRequest(HttpServerExchange) line: 43
ServletInitialHandler.handleFirstRequest(HttpServerExchange, ServletRequestContext) line: 292
ServletInitialHandler.access$100(ServletInitialHandler, HttpServerExchange, ServletRequestContext) line: 81
ServletInitialHandler$2.call(HttpServerExchange, ServletRequestContext) line: 138
ServletInitialHandler$2.call(HttpServerExchange, Object) line: 135
ServletRequestContextThreadSetupAction$1.call(HttpServerExchange, C) line: 48
ContextClassLoaderSetupAction$1.call(HttpServerExchange, C) line: 43
LegacyThreadSetupActionWrapper$1.call(HttpServerExchange, C) line: 44
LegacyThreadSetupActionWrapper$1.call(HttpServerExchange, C) line: 44
LegacyThreadSetupActionWrapper$1.call(HttpServerExchange, C) line: 44
LegacyThreadSetupActionWrapper$1.call(HttpServerExchange, C) line: 44
LegacyThreadSetupActionWrapper$1.call(HttpServerExchange, C) line: 44
LegacyThreadSetupActionWrapper$1.call(HttpServerExchange, C) line: 44
ServletInitialHandler.dispatchRequest(HttpServerExchange, ServletRequestContext, ServletChain, DispatcherType) line: 272
ServletInitialHandler.access$000(ServletInitialHandler, HttpServerExchange, ServletRequestContext, ServletChain, DispatcherType) line: 81
ServletInitialHandler$1.handleRequest(HttpServerExchange) line: 104
Connectors.executeRootHandler(HttpHandler, HttpServerExchange) line: 202
HttpServerExchange$1.run() line: 805
XnioWorker$TaskPool(ThreadPoolExecutor).runWorker(ThreadPoolExecutor$Worker) line: 1142
ThreadPoolExecutor$Worker.run() line: 617
Thread.run() line: 745
{code}
> Proxy deserialization fails due to classloading issues
> ------------------------------------------------------
>
> Key: WICKET-6353
> URL: https://issues.apache.org/jira/browse/WICKET-6353
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 7.6.0
> Reporter: Emond Papegaaij
>
> JavaSerializer.ClassResolverObjectInputStream overrides resolveClass to resolve classes via the Wicket ClassResolvers. This does however not happen for resolveProxyClass.
> An example of how this can go wrong:
> * A page with a large component tree is deserialized (war).
> * LinkedMap (used in MarkupContainer) is loaded in a parent ClassLoader (ear).
> * Via this stack, a proxy is hit implementing Spring classes (from the war)
> * Due to LinkedMap determining the latestUserDefinedLoader, the ear-loader is used for the lookup of this interface, which fails
> Unfortunately, writing a testcase for this is not easy, so I only have a proposed fix: see the classloadingfix branch
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)