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 <mgrigo...@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...
>>
>> Best regards,
>> Sebastien.
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

Reply via email to