Hello!
I’ve picked up an old project again and upgraded it from version 6 to 10.1.
Now I’m running into an issue where Ajax no longer works, which renders my
application unusable.
Since I haven’t worked on this project for quite some time, I’m not really
familiar with the Wicket system anymore. Maybe someone can give me a hint
about where I should continue looking for the cause of this error.
The page loads completely, but when I click on the first Ajax button
everything freezes, and after about a minute I get this exception:
class org.apache.wicket.page.CouldNotLockPageException
org.apache.wicket.page.CouldNotLockPageException: Could not lock page 0.
Attempt lasted PT1M
at
org.apache.wicket.page.DefaultPageLockManager.lockPage(DefaultPageLockManager.java:173)
at
org.apache.wicket.page.PageAccessSynchronizer.lockPage(PageAccessSynchronizer.java:72)
[...] at java.base/java.lang.Thread.run(Thread.java:840)
Caused by:
org.apache.wicket.page.PageLockedException: This thread qtp5287243-65 holds
the lock to page 0
at sun.nio.ch.WEPoll.wait(Native Method)
[...] at java.lang.Thread.run(Thread.java:840)
I’ve added some more logging and found the button that is likely causing
the issue. It only overrides onSubmit. However, the breakpoint in the
debugger is never hit. Here is my requestlog (first value is time since
start):
>>> 5299 onBeginRequest:
<<< 5303 onRequestHandlerResolved [4ms]: RenderPageRequestHandler
=== 6471 onEndRequest [1172ms]
>>> 6486 onBeginRequest: ?0
<<< 6486 onRequestHandlerResolved [0ms]: BufferedResponseRequestHandler
=== 6499 onEndRequest [13ms] ?0
>>> 6546 onBeginRequest: css/prisma_style_1600.css
=== 6547 onEndRequest [1ms] css/prisma_style_1600.css
>>> 6547 onBeginRequest:
wicket/resource/org.apache.wicket.resource.JQueryResourceReference/jquery/jquery-3.7.1-ver-1763474747505.js
<<< 6548 onRequestHandlerResolved [1ms]: ResourceReferenceRequestHandler
=== 6558 onEndRequest [11ms]
wicket/resource/org.apache.wicket.resource.JQueryResourceReference/jquery/jquery-3.7.1-ver-1763474747505.js
>>> 6560 onBeginRequest:
wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-ver-1763474747505.js
<<< 6560 onRequestHandlerResolved [0ms]: ResourceReferenceRequestHandler
=== 6562 onEndRequest [2ms]
wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-ver-1763474747505.js
>>> 6578 onBeginRequest:
wicket/resource/de.prisma.one.servlet.gui.wicket.guiElements.autocomplete.AutocompleteButtonBehavior/AutocompleteButtonBehavior-ver-1693220747281.js
<<< 6578 onRequestHandlerResolved [0ms]: ResourceReferenceRequestHandler
=== 6579 onEndRequest [1ms]
wicket/resource/de.prisma.one.servlet.gui.wicket.guiElements.autocomplete.AutocompleteButtonBehavior/AutocompleteButtonBehavior-ver-1693220747281.js
>>> 6584 onBeginRequest:
wicket/resource/de.prisma.one.servlet.gui.wicket.guiElements.autocomplete.AutocompleteBehavior/wicket-autocomplete-modified-ver-1693220747283.js
<<< 6584 onRequestHandlerResolved [0ms]: ResourceReferenceRequestHandler
=== 6586 onEndRequest [2ms]
wicket/resource/de.prisma.one.servlet.gui.wicket.guiElements.autocomplete.AutocompleteBehavior/wicket-autocomplete-modified-ver-1693220747283.js
>>> 6586 onBeginRequest: js/prisma.min.js
=== 6587 onEndRequest [1ms] js/prisma.min.js
>>> 6600 onBeginRequest: css/prisma_style_768.css
=== 6600 onEndRequest [0ms] css/prisma_style_768.css
>>> 6611 onBeginRequest: css/prisma_style_1024_portrait.css
=== 6611 onEndRequest [0ms] css/prisma_style_1024_portrait.css
>>> 6622 onBeginRequest: css/prisma_style_1024.css
=== 6622 onEndRequest [0ms] css/prisma_style_1024.css
>>> 6633 onBeginRequest: css/prisma_style_1366.css
=== 6633 onEndRequest [0ms] css/prisma_style_1366.css
>>> 6642 onBeginRequest: css/prisma_style_1440.css
=== 6642 onEndRequest [0ms] css/prisma_style_1440.css
>>> 6647 onBeginRequest: fonts/NotesWeb-RegularTf.woff
=== 6647 onEndRequest [0ms] fonts/NotesWeb-RegularTf.woff
>>> 6649 onBeginRequest: fonts/prismaone-icons.woff
>>> 6649 onBeginRequest: fonts/NotesWeb-RegularItalicTf.woff
=== 6650 onEndRequest [1ms] fonts/prismaone-icons.woff
=== 6650 onEndRequest [1ms] fonts/NotesWeb-RegularItalicTf.woff
>>> 13582 onBeginRequest:
?0-1.0-topbar-search_form-search_form_submit&0-1.-topbar-search_form&search_form_text=a&search_form_submit=1&_=1763552644294
<<< 73594 onRequestHandlerResolved [60012ms]: RenderPageRequestHandler
=== 73610 onEndRequest [60028ms]
?0-1.0-topbar-search_form-search_form_submit&0-1.-topbar-search_form&search_form_text=a&search_form_submit=1&_=1763552644294
>>> 73632 onBeginRequest: wicket/page?1 --> Errorpage
I would really appreciate any help or pointers you can offer. Thanks in
advance!
Best regards,
Malte
Full Stacktrace:
class org.apache.wicket.page.CouldNotLockPageException
org.apache.wicket.page.CouldNotLockPageException: Could not lock page 0.
Attempt lasted PT1M
at
org.apache.wicket.page.DefaultPageLockManager.lockPage(DefaultPageLockManager.java:173)
at
org.apache.wicket.page.PageAccessSynchronizer.lockPage(PageAccessSynchronizer.java:72)
at
org.apache.wicket.page.PageAccessSynchronizer$1.getPage(PageAccessSynchronizer.java:116)
at
org.apache.wicket.DefaultMapperContext.getPageInstance(DefaultMapperContext.java:101)
at
org.apache.wicket.core.request.handler.PageProvider$Provision.resolve(PageProvider.java:401)
at
org.apache.wicket.core.request.handler.PageProvider.getProvision(PageProvider.java:162)
at
org.apache.wicket.core.request.handler.PageProvider.wasExpired(PageProvider.java:234)
at
org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.checkExpiration(AbstractBookmarkableMapper.java:312)
at
org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.processListener(AbstractBookmarkableMapper.java:305)
at
org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.mapRequest(AbstractBookmarkableMapper.java:346)
at
org.apache.wicket.request.mapper.CompoundRequestMapper.mapRequest(CompoundRequestMapper.java:147)
at
org.apache.wicket.request.cycle.RequestCycle.resolveRequestHandler(RequestCycle.java:195)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:245)
at
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:277)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:208)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:307)
at
org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at
org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1592)
at
org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1554)
at
org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:807)
at
org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:442)
at
org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:469)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
at
org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:719)
at
org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1220)
at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:859)
at org.eclipse.jetty.server.Server.handle(Server.java:195)
at
org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:680)
at
org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:411)
at
org.eclipse.jetty.server.internal.HttpConnection$FillableCallback.succeeded(HttpConnection.java:1809)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at
org.eclipse.jetty.io.ssl.SslConnection$SslEndPoint.onFillable(SslConnection.java:614)
at
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:415)
at
org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:156)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at
org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
at
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492)
at
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428)
at
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401)
at
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255)
at
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:204)
at
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:312)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:1009)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1239)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1194)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by:
org.apache.wicket.page.PageLockedException: This thread qtp5287243-65 holds
the lock to page 0
at sun.nio.ch.WEPoll.wait(Native Method)
at sun.nio.ch.WEPollSelectorImpl.doSelect(WEPollSelectorImpl.java:111)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:129)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:146)
at
org.eclipse.jetty.io.ManagedSelector.nioSelect(ManagedSelector.java:183)
at org.eclipse.jetty.io.ManagedSelector.select(ManagedSelector.java:190)
at
org.eclipse.jetty.io.ManagedSelector$SelectorProducer.select(ManagedSelector.java:615)
at
org.eclipse.jetty.io.ManagedSelector$SelectorProducer.produce(ManagedSelector.java:549)
at
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produceTask(AdaptiveExecutionStrategy.java:509)
at
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:251)
at
org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:204)
at
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:312)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:1009)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1239)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1194)
at java.lang.Thread.run(Thread.java:840)
Browser
[image: grafik.png]