Thank you for the quick response.

I’ve tried it again now and had the corresponding thread displayed — this
time with a different name. I’ve also added the thread to the log.

The thrown exception is this one:
org.apache.wicket.page.PageLockedException: This thread qtp27122009-55
holds the lock to page 0


Log output:

qtp27122009-55>>> 3828 onBeginRequest:
qtp27122009-55<<< 3838 onRequestHandlerResolved [10ms]:
RenderPageRequestHandler
qtp27122009-55=== 5108 onEndRequest [1280ms]
qtp27122009-63>>> 5234 onBeginRequest: ?0
qtp27122009-63<<< 5234 onRequestHandlerResolved [0ms]:
BufferedResponseRequestHandler
qtp27122009-63=== 5245 onEndRequest [11ms] ?0
qtp27122009-64>>> 5280 onBeginRequest: css/prisma_style_1600.css
qtp27122009-64=== 5281 onEndRequest [1ms] css/prisma_style_1600.css
qtp27122009-55>>> 5285 onBeginRequest: wic
ket/resource/org.apache.wicket.resource.JQueryResourceReference/jquery/jquery-3.7.1-ver-1763474747505.js
qtp27122009-55<<< 5286 onRequestHandlerResolved [1ms]:
ResourceReferenceRequestHandler
qtp27122009-57>>> 5289 onBeginRequest:
wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-ver-1763474747505.js
qtp27122009-57<<< 5290 onRequestHandlerResolved [1ms]:
ResourceReferenceRequestHandler
qtp27122009-57=== 5293 onEndRequest [4ms]
wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-ver-1763474747505.js
qtp27122009-58>>> 5293 onBeginRequest:
wicket/resource/de.prisma.one.servlet.gui.wicket.guiElements.autocomplete.AutocompleteButtonBehavior/AutocompleteButtonBehavior-ver-1693220747281.js
qtp27122009-55=== 5293 onEndRequest [0ms]
wicket/resource/org.apache.wicket.resource.JQueryResourceReference/jquery/jquery-3.7.1-ver-1763474747505.js
qtp27122009-58<<< 5293 onRequestHandlerResolved [0ms]:
ResourceReferenceRequestHandler
qtp27122009-58=== 5295 onEndRequest [2ms]
wicket/resource/de.prisma.one.servlet.gui.wicket.guiElements.autocomplete.AutocompleteButtonBehavior/AutocompleteButtonBehavior-ver-1693220747281.js
qtp27122009-70>>> 5307 onBeginRequest:
wicket/resource/de.prisma.one.servlet.gui.wicket.guiElements.autocomplete.AutocompleteBehavior/wicket-autocomplete-modified-ver-1693220747283.js
qtp27122009-70<<< 5307 onRequestHandlerResolved [0ms]:
ResourceReferenceRequestHandler
qtp27122009-58>>> 5308 onBeginRequest: js/prisma.min.js
qtp27122009-58=== 5309 onEndRequest [1ms] js/prisma.min.js
qtp27122009-70=== 5309 onEndRequest [1ms]
wicket/resource/de.prisma.one.servlet.gui.wicket.guiElements.autocomplete.AutocompleteBehavior/wicket-autocomplete-modified-ver-1693220747283.js
qtp27122009-63>>> 5323 onBeginRequest: css/prisma_style_768.css
qtp27122009-63=== 5323 onEndRequest [0ms] css/prisma_style_768.css
qtp27122009-65>>> 5335 onBeginRequest: css/prisma_style_1024_portrait.css
qtp27122009-65=== 5335 onEndRequest [0ms] css/prisma_style_1024_portrait.css
qtp27122009-66>>> 5347 onBeginRequest: css/prisma_style_1024.css
qtp27122009-66=== 5347 onEndRequest [0ms] css/prisma_style_1024.css
qtp27122009-63>>> 5359 onBeginRequest: css/prisma_style_1366.css
qtp27122009-63=== 5359 onEndRequest [0ms] css/prisma_style_1366.css
qtp27122009-56>>> 5364 onBeginRequest: css/prisma_style_1440.css
qtp27122009-56=== 5365 onEndRequest [1ms] css/prisma_style_1440.css
qtp27122009-66>>> 5386 onBeginRequest: fonts/NotesWeb-RegularTf.woff
qtp27122009-66=== 5386 onEndRequest [0ms] fonts/NotesWeb-RegularTf.woff
qtp27122009-58>>> 5389 onBeginRequest: fonts/prismaone-icons.woff
qtp27122009-69>>> 5389 onBeginRequest: fonts/NotesWeb-RegularItalicTf.woff
qtp27122009-69=== 5389 onEndRequest [0ms]
fonts/NotesWeb-RegularItalicTf.woff
qtp27122009-58=== 5389 onEndRequest [0ms] fonts/prismaone-icons.woff
qtp27122009-54>>> 66973 onBeginRequest:
?0-1.0-topbar-search_form-search_form_submit&0-1.-topbar-search_form&search_form_text=b&search_form_submit=1&_=1763558058056
qtp27122009-54<<< 150107 onRequestHandlerResolved [83134ms]:
RenderPageRequestHandler
qtp27122009-54=== 150127 onEndRequest [83154ms]
?0-1.0-topbar-search_form-search_form_submit&0-1.-topbar-search_form&search_form_text=b&search_form_submit=1&_=1763558058056
qtp27122009-72>>> 151141 onBeginRequest: wicket/page?1

Here is the thread in the IDE when it becomes idle:
[image: grafik.png]

By the way, this is my code in Webapplication#init that generates the logs:

final long appStartTime = System.currentTimeMillis();

getRequestCycleListeners().add(new IRequestCycleListener() {
    private long startTime;

    @Override
    public void onBeginRequest(RequestCycle cycle) {
       startTime = System.currentTimeMillis();
       System.out.println(Thread.currentThread().getName() +  ">>> "+
getTimeSinceAppStart() +" onBeginRequest: " +
cycle.getRequest().getUrl() );
    }

    @Override
    public void onRequestHandlerResolved(RequestCycle cycle,
IRequestHandler handler) {
       long duration = System.currentTimeMillis() - startTime;
       System.out.println(Thread.currentThread().getName() +  "<<< "+
getTimeSinceAppStart()+" onRequestHandlerResolved [" + duration +
"ms]: " + handler.getClass().getSimpleName());
       String url = cycle.getRequest().getUrl().toString();
    }

    @Override
    public void onEndRequest(RequestCycle cycle) {
       long duration = System.currentTimeMillis() - startTime;
       System.out.println(Thread.currentThread().getName() +  "=== "+
getTimeSinceAppStart()+" onEndRequest [" + duration + "ms] " +
cycle.getRequest().getUrl());
    }

    private long getTimeSinceAppStart(){
       return System.currentTimeMillis() - appStartTime;
    }
});



Best regards,

Malte


Am Mi., 19. Nov. 2025 um 13:23 Uhr schrieb Martin Grigorov <
[email protected]>:

> Hi,
>
> Please search for qtp5287243-65 in your logs. This is the id of the thread
> that received a http request but did not respond in 1 min.
> It seems to hand on some operation.
>
> On Wed, Nov 19, 2025 at 2:14 PM Malte <[email protected]
> .invalid>
> wrote:
>
> > 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]
> >
> >
> >
>

Reply via email to