Hi Georg! I doubt we are facing a real class loading issue. Do you have initialization code in your pages a static member or something similar?
I might be entirely wrong but from a quick look at the stacktrace the trouble starts here > com.sixbuilder.ui.base.MyPage.getLastMaintenanceCompletionDate(MyPage.java:913) and you are trying to create an ArrayList passing a Collection having null Elements. Can you share the Code of MyPage and your ExceptionPage? Whats the difference between your working env and the failing one? A different DB, different Data? Can you reproduce it on your machine by using the db from the failing env? Jens Von meinem iPhone gesendet > Am 18.01.2016 um 02:06 schrieb George Ludwig <georgelud...@gmail.com>: > > 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