Created
April 17, 2012 23:34
-
-
Save OndraZizka/2409907 to your computer and use it in GitHub Desktop.
AS7 OpenShift CNFEx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Root cause: | |
| java.lang.ClassNotFoundException: org.jboss.msc.service.ServiceName from [Module "deployment.ROOT.war:main" from Service Module Loader] | |
| at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) | |
| at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) | |
| at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) | |
| at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) | |
| at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) | |
| at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) | |
| at java.lang.Class.forName0(Native Method) | |
| at java.lang.Class.forName(Class.java:264) | |
| at org.apache.wicket.application.AbstractClassResolver.resolveClass(AbstractClassResolver.java:108) | |
| at org.apache.wicket.serialize.java.JavaSerializer$ClassResolverObjectInputStream.resolveClass(JavaSerializer.java:216) | |
| at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1592) | |
| at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1513) | |
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1749) | |
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346) | |
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368) | |
| at java.util.HashMap.readObject(HashMap.java:1047) | |
| at java.lang.reflect.Method.invoke(Method.java:616) | |
| at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:988) | |
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1865) | |
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770) | |
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346) | |
| at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963) | |
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887) | |
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770) | |
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346) | |
| at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963) | |
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887) | |
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770) | |
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346) | |
| at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963) | |
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887) | |
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770) | |
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346) | |
| at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963) | |
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887) | |
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770) | |
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346) | |
| at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963) | |
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887) | |
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770) | |
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346) | |
| at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963) | |
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887) | |
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770) | |
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346) | |
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368) | |
| at org.apache.wicket.serialize.java.JavaSerializer.deserialize(JavaSerializer.java:120) | |
| at org.apache.wicket.pageStore.DefaultPageStore.deserializePage(DefaultPageStore.java:388) | |
| at org.apache.wicket.pageStore.DefaultPageStore.getPage(DefaultPageStore.java:127) | |
| at org.apache.wicket.page.PageStoreManager$SessionEntry.getPage(PageStoreManager.java:192) | |
| at org.apache.wicket.page.PageStoreManager$PersistentRequestAdapter.getPage(PageStoreManager.java:327) | |
| at org.apache.wicket.page.AbstractPageManager.getPage(AbstractPageManager.java:102) | |
| at org.apache.wicket.page.PageManagerDecorator.getPage(PageManagerDecorator.java:50) | |
| at org.apache.wicket.page.PageAccessSynchronizer$2.getPage(PageAccessSynchronizer.java:257) | |
| at org.apache.wicket.DefaultMapperContext.getPageInstance(DefaultMapperContext.java:117) | |
| at org.apache.wicket.request.handler.PageProvider.getStoredPage(PageProvider.java:292) | |
| at org.apache.wicket.request.handler.PageProvider.isNewPageInstance(PageProvider.java:205) | |
| at org.apache.wicket.request.mapper.AbstractBookmarkableMapper.mapHandler(AbstractBookmarkableMapper.java:349) | |
| at org.apache.wicket.request.mapper.MountedMapper.mapHandler(MountedMapper.java:366) | |
| at org.apache.wicket.request.mapper.CompoundRequestMapper.mapHandler(CompoundRequestMapper.java:157) | |
| at org.apache.wicket.request.cycle.RequestCycle.mapUrlFor(RequestCycle.java:404) | |
| at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:146) | |
| at org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167) | |
| at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:781) | |
| at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) | |
| at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255) | |
| at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212) | |
| at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283) | |
| at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:185) | |
| at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:241) | |
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) | |
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) | |
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) | |
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) | |
| at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) | |
| at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154) | |
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) | |
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) | |
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) | |
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) | |
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) | |
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) | |
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) | |
| at java.lang.Thread.run(Thread.java:679) | |
| Complete stack: | |
| java.lang.RuntimeException: Could not deserialize object using: class org.apache.wicket.serialize.java.JavaSerializer$ClassResolverObjectInputStream | |
| at org.apache.wicket.serialize.java.JavaSerializer.deserialize(JavaSerializer.java:137) | |
| at org.apache.wicket.pageStore.DefaultPageStore.deserializePage(DefaultPageStore.java:388) | |
| at org.apache.wicket.pageStore.DefaultPageStore.getPage(DefaultPageStore.java:127) | |
| at org.apache.wicket.page.PageStoreManager$SessionEntry.getPage(PageStoreManager.java:192) | |
| at org.apache.wicket.page.PageStoreManager$PersistentRequestAdapter.getPage(PageStoreManager.java:327) | |
| at org.apache.wicket.page.AbstractPageManager.getPage(AbstractPageManager.java:102) | |
| at org.apache.wicket.page.PageManagerDecorator.getPage(PageManagerDecorator.java:50) | |
| at org.apache.wicket.page.PageAccessSynchronizer$2.getPage(PageAccessSynchronizer.java:257) | |
| at org.apache.wicket.DefaultMapperContext.getPageInstance(DefaultMapperContext.java:117) | |
| at org.apache.wicket.request.handler.PageProvider.getStoredPage(PageProvider.java:292) | |
| at org.apache.wicket.request.handler.PageProvider.isNewPageInstance(PageProvider.java:205) | |
| at org.apache.wicket.request.mapper.AbstractBookmarkableMapper.mapHandler(AbstractBookmarkableMapper.java:349) | |
| at org.apache.wicket.request.mapper.MountedMapper.mapHandler(MountedMapper.java:366) | |
| at org.apache.wicket.request.mapper.CompoundRequestMapper.mapHandler(CompoundRequestMapper.java:157) | |
| at org.apache.wicket.request.cycle.RequestCycle.mapUrlFor(RequestCycle.java:404) | |
| at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:146) | |
| at org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167) | |
| at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:781) | |
| at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) | |
| at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255) | |
| at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212) | |
| at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283) | |
| at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:185) |
Author
What's the solution? Make Wicket an AS module and give it visibility?
Or specific AbstractClassResolver impl for AS 7?
[1] describes how to add module dependencies to a webapp.
I don't know enough about Wicket to know why it would be needing to
deserialize the ServiceName class. Doesn't sound like a good behavior.
[1] https://docs.jboss.org/author/display/AS71/Class+Loading+in+AS7
On 4/18/12 7:43 PM, Ondrej Zizka wrote:
What's the solution? Make Wicket an AS module and give it visibility?
Or specific AbstractClassResolver impl for AS 7?
---
Reply to this email directly or view it on GitHub:
https://gist.github.com/2409907
##
Brian Stansberry
Principal Software Engineer
JBoss by Red Hat
Author
I will take a look what is it trying to deserialize. But I guess it's a reference leak, should be filled/nullified prior to de/serialization.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Line 12 above is likely calling this class:
http://grepcode.com/file/repo1.maven.org/maven2/org.apache.wicket/wicket-core/1.5-RC7/org/apache/wicket/application/DefaultClassResolver.java?av=h#DefaultClassResolver
That class returns the TCCL from the getClassLoader().
So looks like the TCCL does not have visibility to the MSC module, so CNFE for the ServiceName class. I wouldn't expect a webapp TCCL to have visibility, although you'd need to ask the EE guys on the dev list or IRC to confirm it's not supposed to.