Re: [Vote] Release Apache Wicket 1.5.7

2012-05-30 Thread Martin Grigorov
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


Re: [Vote] Release Apache Wicket 1.5.7

2012-05-30 Thread Martin Grigorov
This vote is canceled due to this potential problem.

On Wed, May 30, 2012 at 10:19 AM, Martin Grigorov mgrigo...@apache.org wrote:
 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



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


Re: [Vote] Release Apache Wicket 1.5.7

2012-05-30 Thread Andrea Del Bene

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 Grigorovmgrigo...@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, Sebastienseb...@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







Re: [Vote] Release Apache Wicket 1.5.7

2012-05-30 Thread Martin Grigorov
On Wed, May 30, 2012 at 10:48 AM, Andrea Del Bene adelb...@ciseonweb.it wrote:
 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'.

Yes, could be.
We need some sort of synchronization in this code for sure.


 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 Grigorovmgrigo...@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, Sebastienseb...@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


Re: [Vote] Release Apache Wicket 1.5.7

2012-05-30 Thread Andrea Del Bene
I don't wanna be too simplistic or too optimistic ( :-) ), but it should 
be enough to make 'synchronized' the public methods of 
PageWindowManager...This shouldn't cause performance issues since we 
have only few (two?) threads per user and is better then building a 
complex error-prone implementation of a synchronized bi-directional map.

Yes, could be.
We need some sort of synchronization in this code for sure.







Re: [Vote] Release Apache Wicket 1.5.7

2012-05-30 Thread Martin Grigorov
I agree. This is what I'm testing currently.
Actually only the private methods which use the maps need to be synchronized.

But since I wasn't able to reproduce the problem and I have no time
now to write a new multithreaded unit test for PageWindowManager I'm
not 100% certain that the issue will be solved.

Even DiskDataStoreTest doesn't reproduce it...

On Wed, May 30, 2012 at 12:40 PM, Andrea Del Bene adelb...@ciseonweb.it wrote:
 I don't wanna be too simplistic or too optimistic ( :-) ), but it should be
 enough to make 'synchronized' the public methods of PageWindowManager...This
 shouldn't cause performance issues since we have only few (two?) threads per
 user and is better then building a complex error-prone implementation of a
 synchronized bi-directional map.

 Yes, could be.
 We need some sort of synchronization in this code for sure.

 





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


Re: [Vote] Release Apache Wicket 1.5.7

2012-05-30 Thread Sebastien
Hello Martin,

If the git repo is up-to-date, I can test it this evening. Please let me
know.

Best regards,
Sebastien

On Wed, May 30, 2012 at 11:47 AM, Martin Grigorov mgrigo...@apache.orgwrote:

 I agree. This is what I'm testing currently.
 Actually only the private methods which use the maps need to be
 synchronized.

 But since I wasn't able to reproduce the problem and I have no time
 now to write a new multithreaded unit test for PageWindowManager I'm
 not 100% certain that the issue will be solved.

 Even DiskDataStoreTest doesn't reproduce it...

 On Wed, May 30, 2012 at 12:40 PM, Andrea Del Bene adelb...@ciseonweb.it
 wrote:
  I don't wanna be too simplistic or too optimistic ( :-) ), but it should
 be
  enough to make 'synchronized' the public methods of
 PageWindowManager...This
  shouldn't cause performance issues since we have only few (two?) threads
 per
  user and is better then building a complex error-prone implementation of
 a
  synchronized bi-directional map.
 
  Yes, could be.
  We need some sort of synchronization in this code for sure.
 
  
 
 



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



Re: [Vote] Release Apache Wicket 1.5.7

2012-05-30 Thread Andrea Del Bene

Please take a look at WICKET-4577 before building  a new 1.5.7



[Vote] Release Apache Wicket 1.5.7 (build 2)

2012-05-30 Thread Martin Grigorov
This vote is to release Apache Wicket 1.5.7

Git repo
http://git-wip-us.apache.org/repos/asf/wicket.git

Branch name
build/wicket-1.5.7

Archived and signed Git repo
http://people.apache.org/~mgrigorov/wicket-1.5.7/

Changelog
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310561version=12321241

This vote ends Saturday, June 2 at 17:00 (GMT+2)

Please test the release and offer your vote.

The Wicket team!


Re: [Vote] Release Apache Wicket 1.5.7

2012-05-30 Thread Sebastien
Hello Martin,

As you did not repro the issue, I wanted to be sure it was repro on my side
before testing the fix. The fact is that it was really difficult to
reproduce: I had to make a really heavy life to tomcat for the exception to
be thrown. (but when it is thrown once, it is thrown each time the server
starts and the first page is accessed).

Then, I rebuilt 1.5.7 from new sources, rebuilt my project and restarted
tomcat. No exception thrown, even after having tested the most I was able
to do.

So I think I can say that the issue is fixed.

Thanks  best regards,
Sebastien.


On Wed, May 30, 2012 at 3:14 PM, Martin Grigorov mgrigo...@apache.orgwrote:

 I made all public method of PageWindowManager synchronized as Andrea
 suggested.

 @Sebastien: please try 1.5-SNAPSHOT or 1.5.7 second build which I'll run
 now.

 On Wed, May 30, 2012 at 3:06 PM, Andrea Del Bene adelb...@ciseonweb.it
 wrote:
  Please take a look at WICKET-4577 before building  a new 1.5.7
 



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



Looking for help with wicketstuff-core releases

2012-05-30 Thread Michael O'Cleirigh

Hello,

I've been doing the wicketstuff-core builds since May 2010 and I've been 
pretty selfish in that I only added myself to the list of users allowed 
to publish org.wicketstuff artifacts through the oss.sonatype.org 
infrastructure.


My wife had twin boys this past January so I have found that my 
available free time has suddenly gone to zero.


I'd like to find one or more volunteers to take over the release process 
for wicketstuff-core or at least part of it (Maybe one person per 
branch) so that releases are more regular again.


The best way for frequent releases is to take some piece of your 
application and then put it into wicketstuff then when you need new 
features, etc for a real work release you are extremely motivated to cut 
a wicketstuff-core release :)


I will still keep the ci.wicketstuff.org jenkins instance running and 
hopefully in a few months I will have better time management and can get 
back into doing some releases myself.


Next Steps:
1. create an account at https://issues.sonatype.org then sent me your 
username and I will update the ticket and get your account permissioned 
to be able to release org.wicketstuff artifacts.


Thanks,

Mike