I'm trying to move a Tapestry app to the cloud, and came across this
confounding error. I'm running Tomcat 7 and JDK 7 on CentOS. The war file
works fine in my lab running on a bare metal CentOS 6.5 box, but when I run
it in the cloud (RackSpace) on CentOS 6.7 or 7.2 (my only CentOS options),
it blows up, showing me this error in the browser:

   type Exception report
   message Unable to locate class file for
'com.sixbuilder.ui.pages.ExceptionReport' in class load
   org.apache.tapestry5.internal.plastic.PlasticClassLoader@25f5298.

What's weird is that during Tapestry boot-up, it lists the ExceptionReport
as being an available resource, so obviously it can find the class. The
ExceptionReport is a special page to be displayed when an un-handled
exception is thrown in the UI.

Which brings me to the other weird thing, which is that Tapestry was trying
to display the ExceptionReport page as a result of a null pointer
exception, which should never have been thrown in the first place. At that
time it's trying to convert a Set of files to a List of files, and I can
see that the directory that is being listed clearly has files, so the NPE
should never have been thrown. Other parts of the app were able to access
the local file system before this exception is thrown, so it's not a simple
file permissions issue.

At this point the only thing I can think of is that Tapestry is somehow not
liking the virtualized server. Has anyone encountered this?

The entire stack trace:

[ERROR] pages.Home Render queue error in Expansion[PropBinding[expansion
Home(LastMaintenanceCompletionDate)]]:
org.apache.tapestry5.ioc.internal.util.TapestryException
org.apache.tapestry5.ioc.internal.util.TapestryException [at
classpath:com/sixbuilder/ui/pages/Home.tml, line 375]
at
org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:65)
at
org.apache.tapestry5.internal.structure.ExpansionPageElement.render(ExpansionPageElement.java:45)
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:124)
at $PageRenderQueue_96598da390b9.render(Unknown Source)
at $PageRenderQueue_96598da390b8.render(Unknown Source)
at
org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
at com.sixbuilder.ui.services.AppModule$2.renderMarkup(AppModule.java:171)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$30.renderMarkup(TapestryModule.java:1977)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:1959)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:1944)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:1930)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
org.got5.tapestry5.jquery.services.js.JSModule$1.renderMarkup(JSModule.java:40)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
com.trsvax.bootstrap.services.BootstrapModule$2.renderMarkup(BootstrapModule.java:197)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:1912)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:1893)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
com.trsvax.bootstrap.services.BootstrapModule$1.renderMarkup(BootstrapModule.java:188)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at $MarkupRenderer_96598da390b7.renderMarkup(Unknown Source)
at
org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:47)
at $PageMarkupRenderer_96598da390b5.renderPageMarkup(Unknown Source)
at
org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:67)
at $PageResponseRenderer_96598da39018.renderPageResponse(Unknown Source)
at
org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:64)
at
org.apache.tapestry5.services.TapestryModule$38.handle(TapestryModule.java:2221)
at $PageRenderRequestHandler_96598da3901a.handle(Unknown Source)
at $PageRenderRequestHandler_96598da39014.handle(Unknown Source)
at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
at
org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
at $ComponentRequestHandler_96598da39015.handlePageRender(Unknown Source)
at $ComponentRequestHandler_96598da38fd3.handlePageRender(Unknown Source)
at
org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
at $Dispatcher_96598da38fd6.dispatch(Unknown Source)
at $Dispatcher_96598da38fcf.dispatch(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_96598da38fd0.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902)
at $RequestHandler_96598da38fd0.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892)
at $RequestHandler_96598da38fd0.service(Unknown Source)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
at $RequestHandler_96598da38fd0.service(Unknown Source)
at com.sixbuilder.ui.services.AppModule$1.service(AppModule.java:136)
at $RequestFilter_96598da38fca.service(Unknown Source)
at $RequestHandler_96598da38fd0.service(Unknown Source)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:96)
at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
at $RequestHandler_96598da38fd0.service(Unknown Source)
at $RequestHandler_96598da38fc2.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253)
at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
at $HttpServletRequestHandler_96598da38fc4.service(Unknown Source)
at
org.got5.tapestry5.jquery.services.AjaxUploadServletRequestFilter.service(AjaxUploadServletRequestFilter.java:26)
at $HttpServletRequestHandler_96598da38fc4.service(Unknown Source)
at
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
at $HttpServletRequestHandler_96598da38fc4.service(Unknown Source)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at $HttpServletRequestFilter_96598da38fc0.service(Unknown Source)
at $HttpServletRequestHandler_96598da38fc4.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
at $HttpServletRequestHandler_96598da38fc4.service(Unknown Source)
at $HttpServletRequestHandler_96598da38fbd.service(Unknown Source)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at java.util.Objects.requireNonNull(Objects.java:203)
at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
at java.util.Arrays.asList(Arrays.java:3800)
at
com.sixbuilder.datatypes.jobhistory.JobHistoryManager.getJobHistoryRecords(JobHistoryManager.java:429)
at
com.sixbuilder.datatypes.jobhistory.JobHistoryManager.getLastSuccessfulCompletedRecord(JobHistoryManager.java:362)
at
com.sixbuilder.ui.base.MyPage.getLastMaintenanceCompletionDate(MyPage.java:913)
at $InternalPropertyConduit_96598da39134.get(Unknown Source)
at
org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:61)
... 91 more
[ERROR] TapestryModule.RequestExceptionHandler Processing of request failed
with uncaught exception: Render queue error in
Expansion[PropBinding[expansion Home(LastMaintenanceCompletionDate)]]:
org.apache.tapestry5.ioc.internal.util.TapestryException
org.apache.tapestry5.internal.services.RenderQueueException: Render queue
error in Expansion[PropBinding[expansion
Home(LastMaintenanceCompletionDate)]]:
org.apache.tapestry5.ioc.internal.util.TapestryException [at
classpath:com/sixbuilder/ui/pages/Home.tml, line 375]
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:81)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:124)
at $PageRenderQueue_96598da390b9.render(Unknown Source)
at $PageRenderQueue_96598da390b8.render(Unknown Source)
at
org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
at com.sixbuilder.ui.services.AppModule$2.renderMarkup(AppModule.java:171)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$30.renderMarkup(TapestryModule.java:1977)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:1959)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:1944)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:1930)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
org.got5.tapestry5.jquery.services.js.JSModule$1.renderMarkup(JSModule.java:40)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
com.trsvax.bootstrap.services.BootstrapModule$2.renderMarkup(BootstrapModule.java:197)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:1912)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:1893)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at
com.trsvax.bootstrap.services.BootstrapModule$1.renderMarkup(BootstrapModule.java:188)
at $MarkupRenderer_96598da390bf.renderMarkup(Unknown Source)
at $MarkupRenderer_96598da390b7.renderMarkup(Unknown Source)
at
org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:47)
at $PageMarkupRenderer_96598da390b5.renderPageMarkup(Unknown Source)
at
org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:67)
at $PageResponseRenderer_96598da39018.renderPageResponse(Unknown Source)
at
org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:64)
at
org.apache.tapestry5.services.TapestryModule$38.handle(TapestryModule.java:2221)
at $PageRenderRequestHandler_96598da3901a.handle(Unknown Source)
at $PageRenderRequestHandler_96598da39014.handle(Unknown Source)
at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
at
org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
at $ComponentRequestHandler_96598da39015.handlePageRender(Unknown Source)
at $ComponentRequestHandler_96598da38fd3.handlePageRender(Unknown Source)
at
org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
at $Dispatcher_96598da38fd6.dispatch(Unknown Source)
at $Dispatcher_96598da38fcf.dispatch(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_96598da38fd0.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902)
at $RequestHandler_96598da38fd0.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892)
at $RequestHandler_96598da38fd0.service(Unknown Source)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
at $RequestHandler_96598da38fd0.service(Unknown Source)
at com.sixbuilder.ui.services.AppModule$1.service(AppModule.java:136)
at $RequestFilter_96598da38fca.service(Unknown Source)
at $RequestHandler_96598da38fd0.service(Unknown Source)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:96)
at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
at $RequestHandler_96598da38fd0.service(Unknown Source)
at $RequestHandler_96598da38fc2.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253)
at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
at $HttpServletRequestHandler_96598da38fc4.service(Unknown Source)
at
org.got5.tapestry5.jquery.services.AjaxUploadServletRequestFilter.service(AjaxUploadServletRequestFilter.java:26)
at $HttpServletRequestHandler_96598da38fc4.service(Unknown Source)
at
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
at $HttpServletRequestHandler_96598da38fc4.service(Unknown Source)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at $HttpServletRequestFilter_96598da38fc0.service(Unknown Source)
at $HttpServletRequestHandler_96598da38fc4.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
at $HttpServletRequestHandler_96598da38fc4.service(Unknown Source)
at $HttpServletRequestHandler_96598da38fbd.service(Unknown Source)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException [at
classpath:com/sixbuilder/ui/pages/Home.tml, line 375]
at
org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:65)
at
org.apache.tapestry5.internal.structure.ExpansionPageElement.render(ExpansionPageElement.java:45)
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72)
... 89 more
Caused by: java.lang.NullPointerException
at java.util.Objects.requireNonNull(Objects.java:203)
at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
at java.util.Arrays.asList(Arrays.java:3800)
at
com.sixbuilder.datatypes.jobhistory.JobHistoryManager.getJobHistoryRecords(JobHistoryManager.java:429)
at
com.sixbuilder.datatypes.jobhistory.JobHistoryManager.getLastSuccessfulCompletedRecord(JobHistoryManager.java:362)
at
com.sixbuilder.ui.base.MyPage.getLastMaintenanceCompletionDate(MyPage.java:913)
at $InternalPropertyConduit_96598da39134.get(Unknown Source)
at
org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:61)
... 91 more
[ERROR] ioc.Registry Unable to locate class file for
'com.sixbuilder.ui.pages.ExceptionReport' in class loader
org.apache.tapestry5.internal.plastic.PlasticClassLoader@25f5298.
[ERROR] ioc.Registry Operations trace:
[ERROR] ioc.Registry [ 1] Constructing instance of page class
com.sixbuilder.ui.pages.ExceptionReport
[ERROR] ioc.Registry [ 2] Creating ComponentAssembler for
com.sixbuilder.ui.pages.ExceptionReport
[ERROR] ioc.Registry [ 3] Creating instantiator for component class
com.sixbuilder.ui.pages.ExceptionReport

Reply via email to