You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Joachim Van der Auwera <jo...@progs.be> on 2009/01/13 20:03:36 UTC

NoSuchElementException in volatile loop

Sorry, this time with stacktrace...

I have a form which causes the following exception on submit.
This seems to be a problem with the advance_volatile commands in the form.
I am using tapestry 5.0.18. Any ideas how to fix this?

Stack trace below,

Thanks for the help.

Joachim

2009-01-13 18:31:00,770 ERROR 
[org.apache.tapestry5.services.TapestryModule.RequestExceptionHandler] 
Processing of request failed with uncaught exception: 
org.apache.tapestry5.runtime.ComponentEventException
org.apache.tapestry5.runtime.ComponentEventException [at 
classpath:my/app/gui/components/Layout.tml, line 198, column 60]
	at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1076)
	at 
org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:68)
	at 
org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42)
	at 
$ComponentEventRequestHandler_11ed1054ff6.handle($ComponentEventRequestHandler_11ed1054ff6.java)
	at 
org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
	at 
$ComponentEventRequestHandler_11ed1054ff6.handle($ComponentEventRequestHandler_11ed1054ff6.java)
	at 
org.apache.tapestry5.services.TapestryModule$44.handle(TapestryModule.java:2105)
	at 
$ComponentEventRequestHandler_11ed1054ff6.handle($ComponentEventRequestHandler_11ed1054ff6.java)
	at 
$ComponentEventRequestHandler_11ed1054f72.handle($ComponentEventRequestHandler_11ed1054f72.java)
	at 
org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:127)
	at $Dispatcher_11ed1054f74.dispatch($Dispatcher_11ed1054f74.java)
	at $Dispatcher_11ed1054f60.dispatch($Dispatcher_11ed1054f60.java)
	at 
org.apache.tapestry5.services.TapestryModule$17.service(TapestryModule.java:1029)
	at my.app.gui.services.AppModule$1.service(AppModule.java:115)
	at $RequestFilter_11ed1054f5f.service($RequestFilter_11ed1054f5f.java)
	at $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
	at 
org.apache.tapestry5.internal.services.LocalizationFilter.service(LocalizationFilter.java:42)
	at $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
	at 
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
	at $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
	at 
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:621)
	at $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
	at 
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:611)
	at $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
	at 
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
	at $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
	at 
org.equanda.tapestry5.services.EquandaModule$1.service(EquandaModule.java:88)
	at $RequestFilter_11ed1054f5a.service($RequestFilter_11ed1054f5a.java)
	at $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
	at org.equanda.t5gui.services.T5guiModule$7.service(T5guiModule.java:185)
	at $RequestFilter_11ed1054f59.service($RequestFilter_11ed1054f59.java)
	at $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
	at 
org.chenillekit.access.ChenilleKitAccessModule$1.service(ChenilleKitAccessModule.java:197)
	at $RequestFilter_11ed1054f58.service($RequestFilter_11ed1054f58.java)
	at $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
	at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
	at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
	at 
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83)
	at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
	at $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
	at $RequestHandler_11ed1054f54.service($RequestHandler_11ed1054f54.java)
	at 
org.apache.tapestry5.services.TapestryModule$16.service(TapestryModule.java:1007)
	at 
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
	at 
$HttpServletRequestFilter_11ed1054f53.service($HttpServletRequestFilter_11ed1054f53.java)
	at 
$HttpServletRequestHandler_11ed1054f55.service($HttpServletRequestHandler_11ed1054f55.java)
	at 
$HttpServletRequestHandler_11ed1054f52.service($HttpServletRequestHandler_11ed1054f52.java)
	at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179)
	at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
	at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
	at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
	at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
	at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at 
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
	at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
	at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
	at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException [at 
classpath:org/equanda/tapestry5/components/JSPagedLoop.tml, line 3, 
column 46]
	at 
org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:497)
	at 
org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:380)
	at 
org.apache.tapestry5.corelib.components.Form$onAction$invocation_11ed105ca77.invokeAdvisedMethod(Form$onAction$invocation_11ed105ca77.java)
	at 
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:71)
	at 
org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37)
	at 
org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54)
	at 
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:80)
	at org.apache.tapestry5.corelib.components.Form.onAction(Form.java)
	at 
org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java)
	at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:894)
	at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1059)
	... 65 more
Caused by: java.util.NoSuchElementException
	at java.util.AbstractList$Itr.next(AbstractList.java:427)
	at 
org.apache.tapestry5.corelib.components.Loop.advanceVolatile(Loop.java:326)
	at org.apache.tapestry5.corelib.components.Loop.access$200(Loop.java:37)
	at org.apache.tapestry5.corelib.components.Loop$3.execute(Loop.java:88)
	at org.apache.tapestry5.corelib.components.Loop$3.execute(Loop.java:92)
	at 
org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:482)
	... 75 more


-- 
Joachim Van der Auwera
PROGS bvba, progs.be



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: NoSuchElementException in volatile loop

Posted by Joachim Van der Auwera <jo...@progs.be>.
Problem solved.

It seems that for some reason not entirely clear to me, there was a 
difference in server side and client side state. The end result is the 
exception below. I believe that either there is a mistake in the 
comments in the code (about everything being driven by the stored 
actions, in which case a NoSuchElementException should not occur) or 
that a better exception message could be produced indicating that the 
number of items in the loop does not match the count expected by the 
stored actions.

Kind regards,
Joachim

Joachim Van der Auwera wrote:
> Sorry, this time with stacktrace...
>
> I have a form which causes the following exception on submit.
> This seems to be a problem with the advance_volatile commands in the 
> form.
> I am using tapestry 5.0.18. Any ideas how to fix this?
>
> Stack trace below,
>
> Thanks for the help.
>
> Joachim
>
> 2009-01-13 18:31:00,770 ERROR 
> [org.apache.tapestry5.services.TapestryModule.RequestExceptionHandler] 
> Processing of request failed with uncaught exception: 
> org.apache.tapestry5.runtime.ComponentEventException
> org.apache.tapestry5.runtime.ComponentEventException [at 
> classpath:my/app/gui/components/Layout.tml, line 198, column 60]
>     at 
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1076) 
>
>     at 
> org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:68) 
>
>     at 
> org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42) 
>
>     at 
> $ComponentEventRequestHandler_11ed1054ff6.handle($ComponentEventRequestHandler_11ed1054ff6.java) 
>
>     at 
> org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42) 
>
>     at 
> $ComponentEventRequestHandler_11ed1054ff6.handle($ComponentEventRequestHandler_11ed1054ff6.java) 
>
>     at 
> org.apache.tapestry5.services.TapestryModule$44.handle(TapestryModule.java:2105) 
>
>     at 
> $ComponentEventRequestHandler_11ed1054ff6.handle($ComponentEventRequestHandler_11ed1054ff6.java) 
>
>     at 
> $ComponentEventRequestHandler_11ed1054f72.handle($ComponentEventRequestHandler_11ed1054f72.java) 
>
>     at 
> org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:127) 
>
>     at $Dispatcher_11ed1054f74.dispatch($Dispatcher_11ed1054f74.java)
>     at $Dispatcher_11ed1054f60.dispatch($Dispatcher_11ed1054f60.java)
>     at 
> org.apache.tapestry5.services.TapestryModule$17.service(TapestryModule.java:1029) 
>
>     at my.app.gui.services.AppModule$1.service(AppModule.java:115)
>     at 
> $RequestFilter_11ed1054f5f.service($RequestFilter_11ed1054f5f.java)
>     at 
> $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
>     at 
> org.apache.tapestry5.internal.services.LocalizationFilter.service(LocalizationFilter.java:42) 
>
>     at 
> $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
>     at 
> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) 
>
>     at 
> $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
>     at 
> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:621) 
>
>     at 
> $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
>     at 
> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:611) 
>
>     at 
> $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
>     at 
> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85) 
>
>     at 
> $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
>     at 
> org.equanda.tapestry5.services.EquandaModule$1.service(EquandaModule.java:88) 
>
>     at 
> $RequestFilter_11ed1054f5a.service($RequestFilter_11ed1054f5a.java)
>     at 
> $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
>     at 
> org.equanda.t5gui.services.T5guiModule$7.service(T5guiModule.java:185)
>     at 
> $RequestFilter_11ed1054f59.service($RequestFilter_11ed1054f59.java)
>     at 
> $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
>     at 
> org.chenillekit.access.ChenilleKitAccessModule$1.service(ChenilleKitAccessModule.java:197) 
>
>     at 
> $RequestFilter_11ed1054f58.service($RequestFilter_11ed1054f58.java)
>     at 
> $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
>     at 
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93) 
>
>     at 
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84) 
>
>     at 
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83) 
>
>     at 
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106) 
>
>     at 
> $RequestHandler_11ed1054f61.service($RequestHandler_11ed1054f61.java)
>     at 
> $RequestHandler_11ed1054f54.service($RequestHandler_11ed1054f54.java)
>     at 
> org.apache.tapestry5.services.TapestryModule$16.service(TapestryModule.java:1007) 
>
>     at 
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) 
>
>     at 
> $HttpServletRequestFilter_11ed1054f53.service($HttpServletRequestFilter_11ed1054f53.java) 
>
>     at 
> $HttpServletRequestHandler_11ed1054f55.service($HttpServletRequestHandler_11ed1054f55.java) 
>
>     at 
> $HttpServletRequestHandler_11ed1054f52.service($HttpServletRequestHandler_11ed1054f52.java) 
>
>     at 
> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
>
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>
>     at 
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
>
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
>
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>
>     at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) 
>
>     at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
>
>     at 
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) 
>
>     at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524) 
>
>     at 
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) 
>
>     at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
>
>     at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
>
>     at 
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) 
>
>     at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
>
>     at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) 
>
>     at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
>
>     at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
>
>     at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
>     at java.lang.Thread.run(Thread.java:595)
> Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException 
> [at classpath:org/equanda/tapestry5/components/JSPagedLoop.tml, line 
> 3, column 46]
>     at 
> org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:497) 
>
>     at 
> org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:380) 
>
>     at 
> org.apache.tapestry5.corelib.components.Form$onAction$invocation_11ed105ca77.invokeAdvisedMethod(Form$onAction$invocation_11ed105ca77.java) 
>
>     at 
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:71) 
>
>     at 
> org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37) 
>
>     at 
> org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54) 
>
>     at 
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:80) 
>
>     at org.apache.tapestry5.corelib.components.Form.onAction(Form.java)
>     at 
> org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java) 
>
>     at 
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:894) 
>
>     at 
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1059) 
>
>     ... 65 more
> Caused by: java.util.NoSuchElementException
>     at java.util.AbstractList$Itr.next(AbstractList.java:427)
>     at 
> org.apache.tapestry5.corelib.components.Loop.advanceVolatile(Loop.java:326) 
>
>     at 
> org.apache.tapestry5.corelib.components.Loop.access$200(Loop.java:37)
>     at 
> org.apache.tapestry5.corelib.components.Loop$3.execute(Loop.java:88)
>     at 
> org.apache.tapestry5.corelib.components.Loop$3.execute(Loop.java:92)
>     at 
> org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:482) 
>
>     ... 75 more
>
>


-- 
Joachim Van der Auwera
PROGS bvba, progs.be


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org