Hi Sven,

Many thanks for your answer. My answers inlined

On Thu, May 20, 2021 at 12:24 AM Sven Meier <s...@meiers.net> wrote:

> Hi Ernesto,
>
> have you compared with Wicket's websocket example?
>

Yes... I see no differences  :-( Except we are using push components. I
tried to simulate our use case with a new example

https://github.com/apache/wicket/pull/469

but I can't reproduce the error in the example. Thus I still need to find
out what is different in our application or what the example is missing in
order to produce error.

Check what thread is locking your page - do you have
> ExceptionSettings#ThreadDumpStrategy set to THREAD_HOLDING_LOCK or
> ALL_THREADS?
>

The default. No changes here.


>
> Regards
> Sven
>
>
> On 19.05.21 19:14, Ernesto Reinaldo Barreiro wrote:
> > Hi,
> >
> > Context: we are trying to replace in our wicket application the use of
> AJAX
> > timers with Web sockets push. We are getting "strange" exceptions like
> the
> > ones below.
> >
> > ----------------------
> > java.lang.InterruptedException
> > at
> >
> java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireInterruptibly(AbstractQueuedSynchronizer.java:1261)
> > at
> >
> java.base/java.util.concurrent.locks.ReentrantLock.lockInterruptibly(ReentrantLock.java:317)
> > at
> >
> java.base/java.util.concurrent.LinkedBlockingQueue.offer(LinkedBlockingQueue.java:371)
> > at
> >
> org.apache.wicket.pageStore.AsynchronousPageStore.addPage(AsynchronousPageStore.java:375)
> > at
> >
> org.apache.wicket.pageStore.SerializingPageStore.addPage(SerializingPageStore.java:82)
> > at
> >
> org.apache.wicket.pageStore.CachingPageStore.addPage(CachingPageStore.java:73)
> > at
> >
> org.apache.wicket.pageStore.RequestPageStore.detach(RequestPageStore.java:114)
> > at org.apache.wicket.page.PageManager.detach(PageManager.java:91)
> > at
> > org.apache.wicket.page
> .PageAccessSynchronizer$1.detach(PageAccessSynchronizer.java:170)
> > at
> > org.apache.wicket.protocol.ws
> .api.AbstractWebSocketProcessor$1.onDetach(AbstractWebSocketProcessor.java:322)
> > at
> >
> org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:105)
> > at
> >
> org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:101)
> > at
> >
> org.apache.wicket.util.listener.ListenerCollection$1.notify(ListenerCollection.java:120)
> > at
> >
> org.apache.wicket.util.listener.ListenerCollection.reversedNotify(ListenerCollection.java:144)
> > at
> >
> org.apache.wicket.util.listener.ListenerCollection.reversedNotifyIgnoringExceptions(ListenerCollection.java:113)
> > at
> >
> org.apache.wicket.request.cycle.RequestCycleListenerCollection.onDetach(RequestCycleListenerCollection.java:100)
> > at
> >
> org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:670)
> > at
> >
> org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:625)
> > at
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:227)
> > at
> > org.apache.wicket.protocol.ws
> .api.AbstractWebSocketProcessor.broadcastMessage(AbstractWebSocketProcessor.java:272)
> > at
> > org.apache.wicket.protocol.ws
> .api.AbstractWebSocketConnection.sendMessage(AbstractWebSocketConnection.java:53)
> > at
> > org.apache.wicket.protocol.ws
> .api.WebSocketPushBroadcaster$1.run(WebSocketPushBroadcaster.java:124)
> > at
> > org.apache.wicket.protocol.ws
> .WebSocketSettings$WebSocketPushMessageExecutor.run(WebSocketSettings.java:456)
> > at
> > org.apache.wicket.protocol.ws
> .api.WebSocketPushBroadcaster.process(WebSocketPushBroadcaster.java:119)
> > at
> > org.apache.wicket.protocol.ws
> .api.WebSocketPushBroadcaster.broadcast(WebSocketPushBroadcaster.java:79)
> >
> > ----------------
> >
> > org.apache.wicket.page.CouldNotLockPageException: Could not lock page 5.
> > Attempt lasted PT1M
> > at
> > org.apache.wicket.page
> .DefaultPageLockManager.lockPage(DefaultPageLockManager.java:170)
> > 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.protocol.ws
> .api.AbstractWebSocketProcessor.getPage(AbstractWebSocketProcessor.java:340)
> > at
> > org.apache.wicket.protocol.ws
> .api.AbstractWebSocketProcessor.broadcastMessage(AbstractWebSocketProcessor.java:258)
> > at
> > org.apache.wicket.protocol.ws
> .api.AbstractWebSocketConnection.sendMessage(AbstractWebSocketConnection.java:53)
> > at
> > org.apache.wicket.protocol.ws
> .api.WebSocketPushBroadcaster$1.run(WebSocketPushBroadcaster.java:124)
> > at
> >
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> > at
> >
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> > at java.base/java.lang.Thread.run(Thread.java:829)
> >
> > Are there any recommendations or requirements needed to get server side
> > push working properly?
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

-- 
Regards - Ernesto Reinaldo Barreiro

Reply via email to