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)