atom feed16 messages in org.apache.wicket.devRe: [Vote] Release Apache Wicket 1.5.7
FromSent OnAttachments
Martin GrigorovMay 29, 2012 1:58 am 
Andrea Del BeneMay 29, 2012 3:36 am 
Martin GrigorovMay 29, 2012 3:37 am 
SebastienMay 29, 2012 11:58 am 
Martin GrigorovMay 29, 2012 12:05 pm 
Martin GrigorovMay 30, 2012 12:19 am 
Martin GrigorovMay 30, 2012 12:19 am 
Andrea Del BeneMay 30, 2012 12:48 am 
Martin GrigorovMay 30, 2012 2:06 am 
Andrea Del BeneMay 30, 2012 2:39 am 
Martin GrigorovMay 30, 2012 2:47 am 
SebastienMay 30, 2012 4:08 am 
Andrea Del BeneMay 30, 2012 5:06 am 
Martin GrigorovMay 30, 2012 6:14 am 
SebastienMay 30, 2012 3:33 pm 
Martin GrigorovMay 31, 2012 12:06 am 
Subject:Re: [Vote] Release Apache Wicket 1.5.7
From:Andrea Del Bene (adel@ciseonweb.it)
Date:May 30, 2012 12:48:19 am
List:org.apache.wicket.dev

Hi,

is it possible that the synchronization problem is due to a concurrent use of DataStore inside AsynchronousDataStore? For example this could happen if both AsynchronousDataStore and PageSavingRunnable call 'dataStore.storeData'.

Hi,

I'm not able so far to reproduce the problem. I tried with wicket-examples, our app and wicket-jquery-ui examples.

But I see how this can happen!

The new inversed index should be in sync with the normal index all the time, i.e. when the normal is null the inversed is null too. But there is no synchronization in this code! There is a PageWindowManager per http session so there is a chance for a concurrency problem when different concurrent requests work with different page instances.

We need ConcurrentBiMap or some synchronizations around the place...

On Tue, May 29, 2012 at 10:06 PM, Martin Grigorov<mgri@apache.org> wrote:

Hi Sebastien,

This looks like a problem in the new code I added in PageWindowManager. Thanks for the report! I'll check it tomorrow and if there really is a problem then I'll restart the release procedure.

On Tue, May 29, 2012 at 9:59 PM, Sebastien<seb@gmail.com> wrote:

Dear Wicket Team,

I've got a silent NPE with the 1.5.7. with tomcat running under eclipse. It occurs only once, on the "first" page being accessed (in fact it is not really the first accessed page, because it does not occurs on every pages. But, when it occurs, it is only one time but always for the same pages. At least for the exception bellow.

I also had a bigger stack trace which happens every time on every "impacted" pages. I unfortunately cannot give you the stack trace as I do not know how to repro (maybe multiple hot-deploy, I don't know). But I saw in the NPE that the exception came from the same line (at org.apache.wicket.pageStore.PageWindowManager.putWindowIndex(PageWindowManager.java:92)

It does not repro while using embedded jetty.

******************************************************************** *** WARNING: Wicket is running in DEVELOPMENT mode. *** *** ^^^^^^^^^^^ *** *** Do NOT deploy to your live server(s) without changing this. *** *** See Application#getConfigurationType() for more information. *** ******************************************************************** May 29, 2012 8:38:02 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] May 29, 2012 8:38:02 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] May 29, 2012 8:38:02 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 4853 ms INFO - PropertiesFactory - Loading properties files from file:/home/sebastien/Java/apache-tomcat-7.0.23/webapps/jquery-ui-samples/WEB-INF/classes/com/googlecode/wicket/jquery/ui/samples/SampleApplication.properties with loader org.apache.wicket.resource.IsoPropertiesFilePropertiesLoader@889ec59 Exception in thread "Wicket-PageSavingThread" java.lang.NullPointerException at org.apache.wicket.pageStore.PageWindowManager.putWindowIndex(PageWindowManager.java:92) at org.apache.wicket.pageStore.PageWindowManager.createPageWindow(PageWindowManager.java:396) at org.apache.wicket.pageStore.DiskDataStore$SessionEntry.savePage(DiskDataStore.java:326) at org.apache.wicket.pageStore.DiskDataStore.storeData(DiskDataStore.java:176) at org.apache.wicket.pageStore.AsynchronousDataStore$PageSavingRunnable.run(AsynchronousDataStore.java:348) at java.lang.Thread.run(Thread.java:679)

As usual, I do not exclude that I may have done something bad, but just in case...