But shouldn't that be a validation error? -Matej
On 9/19/07, Sam Hough <[EMAIL PROTECTED]> wrote: > > I'm getting null pointers on the server side because the form _values_ seem > not do have been set by the client yet so in the http request > someParameter="" which would otherwise not be the case. > > Doesn't seem like something I want to handle on the server... If somebody is > hacking, has broken browser I'd rather the server threw an error. > > > Johan Compagner wrote: > > > > but you get null pointers in the serverside. So what should that have to > > do > > with busy parsing on the client side > > That second submit is being done again (with the OLD dom) and that maybe > > doesn't map correctly any more? > > > > The problem is that the ajax request and waiting for the response and > > updating the dom should be done then completely synchronously > > Because it could be a problem yes when you click fast on things that will > > be replaced.. > > > > johan > > > > > > On 9/19/07, Sam Hough <[EMAIL PROTECTED]> wrote: > >> > >> > >> Yes. Click A updates part of the form. Click B (very soon after A) also > >> submits that form. So my suspicion is that the browser is still busy > >> parsing > >> the last update and click B sends a form in an intermediate state. > >> > >> Does that sound likely? I've seen it in the past that after innerHTML you > >> have to wait a while to access the DOM. > >> > >> > >> Johan Compagner wrote: > >> > > >> > do you click fast on a dom portion that is being replaced by the > >> previous > >> > request? > >> > > >> > johan > >> > > >> > > >> > On 9/19/07, Sam Hough <[EMAIL PROTECTED]> wrote: > >> >> > >> >> > >> >> Bit more information is that the bean property that is causing the > >> >> problem > >> >> is > >> >> being set to null by my html form via a wicket ajax update... > >> >> > >> >> Could it be that although wicket is doing everything correctly the DOM > >> in > >> >> (firefox 2) has not "settled" after the elmt.innerHTML= ... from the > >> >> previous ajax response so the next click sends an update that I > >> wouldn't > >> >> expect? > >> >> > >> >> Any options in wicket to block the UI till the DOM has settled? Or > >> shall > >> >> I > >> >> point my html monkey at it? > >> >> > >> >> > >> >> > >> >> > >> >> Sam Hough wrote: > >> >> > > >> >> > Must be me then. I'll try and pin it down more. Hmmm. > >> >> > > >> >> > > >> >> > > >> >> > Johan Compagner wrote: > >> >> >> > >> >> >> the nullpointer comes from outside of wicket (criterion class) but > >> you > >> >> >> say if you click quickly you only get it? all pages are blocked by > >> a > >> >> >> barrier that is build around the pagemap. its in Session.get page > >> >> >> method. only 1 request can pass that at the same time. but what is > >> >> >> suddenly null that you dont expect to be null? > >> >> >> > >> >> >> On 9/18/07, Sam Hough <[EMAIL PROTECTED]> wrote: > >> >> >>> > >> >> >>> That is pretty much it. Except that: > >> >> >>> Caused by: java.lang.NullPointerException > >> >> >>> at > >> >> >>> com.namechangedtoprotectguilty.search.Criterion.getHelper( > >> >> Criterion.java:200) > >> >> >>> at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source) > >> >> >>> at > >> >> >>> sun.reflect.DelegatingMethodAccessorImpl.invoke( > >> >> DelegatingMethodAccessorImpl.java:25) > >> >> >>> at java.lang.reflect.Method.invoke(Method.java:585) > >> >> >>> at > >> >> >>> > >> >> org.apache.wicket.util.lang.PropertyResolver$MethodGetAndSet.getValue( > >> >> PropertyResolver.java:1030) > >> >> >>> > >> >> >>> Blows up in our code in a way that really looks like a > >> multithreading > >> >> >>> issue > >> >> >>> to me. If I click slowly no problems, if I click quickly on a slow > >> >> page > >> >> >>> it > >> >> >>> reliably blows up. Guess I could put in a sync filter to double > >> check > >> >> >>> that > >> >> >>> it is a sync error. We don't create any threads so apart from > >> >> threading > >> >> >>> issue I can't see what else it could be... > >> >> >>> > >> >> >>> > >> >> >>> igor.vaynberg wrote: > >> >> >>> > > >> >> >>> > show us the full stack trace > >> >> >>> > > >> >> >>> > -igor > >> >> >>> > > >> >> >>> > On 9/18/07, Sam Hough <[EMAIL PROTECTED]> wrote: > >> >> >>> >> > >> >> >>> >> > >> >> >>> >> Which bit of code does the blocking on the server? I'm getting > >> >> what > >> >> >>> looks > >> >> >>> >> very much like a threading issue. I've looked at all the > >> methods > >> >> >>> below > >> >> >>> >> and > >> >> >>> >> can't see any obvious sync code... I'm using 1.3-beta3 > >> >> >>> >> > >> >> >>> >> at > >> >> >>> >> > >> >> >>> > >> >> org.apache.wicket.util.lang.PropertyResolver$MethodGetAndSet.getValue( > >> >> >>> >> PropertyResolver.java:1034) > >> >> >>> >> at > >> >> >>> >> > >> >> org.apache.wicket.util.lang.PropertyResolver.getObjectAndGetSetter( > >> >> >>> >> PropertyResolver.java:247) > >> >> >>> >> at > >> >> >>> >> org.apache.wicket.util.lang.PropertyResolver.getValue( > >> >> >>> >> PropertyResolver.java:89) > >> >> >>> >> at > >> >> >>> >> org.apache.wicket.model.AbstractPropertyModel.getObject( > >> >> >>> >> AbstractPropertyModel.java:110) > >> >> >>> >> at > >> >> >>> >> org.apache.wicket.Component.getModelObject(Component.java:1293) > >> >> >>> >> at org.apache.wicket.Component$2.compare(Component.java > >> >> :540) > >> >> >>> >> at > >> >> >>> >> org.apache.wicket.Component.setModelObject(Component.java:2522) > >> >> >>> >> at > >> >> >>> >> org.apache.wicket.markup.html.form.FormComponent.updateModel( > >> >> >>> >> FormComponent.java:1002) > >> >> >>> >> at > >> >> >>> org.apache.wicket.markup.html.form.Form$14.validate(Form.java > >> >> >>> >> :1642) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> > >> >> > >> org.apache.wicket.markup.html.form.Form$ValidationVisitor.formComponent > >> ( > >> >> >>> >> Form.java:160) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> >> > >> >> >>> > >> >> > >> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper > >> >> >>> >> (FormComponent.java:403) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> >> > >> >> >>> > >> >> > >> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper > >> >> >>> >> (FormComponent.java:390) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> >> > >> >> >>> > >> >> > >> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper > >> >> >>> >> (FormComponent.java:390) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> >> > >> >> >>> > >> >> > >> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper > >> >> >>> >> (FormComponent.java:390) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> >> > >> >> >>> > >> >> > >> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper > >> >> >>> >> (FormComponent.java:390) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> >> > >> >> >>> > >> >> > >> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrder > >> >> >>> >> (FormComponent.java:368) > >> >> >>> >> at > >> >> >>> >> > >> >> org.apache.wicket.markup.html.form.Form.visitFormComponentsPostOrder( > >> >> >>> >> Form.java:1004) > >> >> >>> >> at > >> >> >>> >> > >> org.apache.wicket.markup.html.form.Form.updateFormComponentModels( > >> >> >>> >> Form.java:1637) > >> >> >>> >> at > >> >> >>> org.apache.wicket.markup.html.form.Form.process(Form.java:834) > >> >> >>> >> at > >> >> org.apache.wicket.markup.html.form.Form.onFormSubmitted( > >> >> >>> >> Form.java:783) > >> >> >>> >> at > >> >> >>> >> org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent( > >> >> >>> >> AjaxFormSubmitBehavior.java:126) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> org.apache.wicket.ajax.AjaxEventBehavior.respond( > >> >> AjaxEventBehavior.java > >> >> >>> >> :163) > >> >> >>> >> at > >> >> >>> >> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest( > >> >> >>> >> AbstractDefaultAjaxBehavior.java:268) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> >> > >> >> >>> > >> >> > >> org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents > >> >> >>> >> (BehaviorRequestTarget.java:100) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> > >> >> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents( > >> >> >>> >> AbstractRequestCycleProcessor.java:90) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> org.apache.wicket.RequestCycle.processEventsAndRespond( > >> >> RequestCycle.java > >> >> >>> >> :1032) > >> >> >>> >> at > >> >> >>> org.apache.wicket.RequestCycle.step(RequestCycle.java:1108) > >> >> >>> >> at > >> >> >>> org.apache.wicket.RequestCycle.steps(RequestCycle.java:1177) > >> >> >>> >> at > >> >> >>> org.apache.wicket.RequestCycle.request(RequestCycle.java:500) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> org.apache.wicket.protocol.http.WicketFilter.doGet( > >> WicketFilter.java > >> >> :261) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> org.apache.wicket.protocol.http.WicketFilter.doFilter( > >> >> WicketFilter.java > >> >> >>> >> :127) > >> >> >>> >> at > >> >> >>> >> > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter > >> ( > >> >> >>> >> ApplicationFilterChain.java:215) > >> >> >>> >> at > >> >> >>> >> org.apache.catalina.core.ApplicationFilterChain.doFilter( > >> >> >>> >> ApplicationFilterChain.java:188) > >> >> >>> >> at > >> >> >>> >> org.apache.catalina.core.StandardWrapperValve.invoke( > >> >> >>> >> StandardWrapperValve.java:210) > >> >> >>> >> at > >> >> >>> >> org.apache.catalina.core.StandardContextValve.invoke( > >> >> >>> >> StandardContextValve.java:174) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> org.apache.catalina.core.StandardHostValve.invoke( > >> >> StandardHostValve.java > >> >> >>> >> :127) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> org.apache.catalina.valves.ErrorReportValve.invoke( > >> >> ErrorReportValve.java > >> >> >>> >> :117) > >> >> >>> >> at > >> >> >>> >> org.apache.catalina.core.StandardEngineValve.invoke( > >> >> >>> >> StandardEngineValve.java:108) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> > >> >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java > >> >> >>> >> :151) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> org.apache.coyote.http11.Http11Processor.process( > >> Http11Processor.java > >> >> :870) > >> >> >>> >> at > >> >> >>> >> > >> >> >>> >> > >> >> >>> > >> >> > >> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection > >> >> >>> >> (Http11BaseProtocol.java:665) > >> >> >>> >> at > >> >> >>> >> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket( > >> >> >>> >> PoolTcpEndpoint.java:528) > >> >> >>> >> at > >> >> >>> >> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt( > >> >> >>> >> LeaderFollowerWorkerThread.java:81) > >> >> >>> >> at > >> >> >>> >> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( > >> >> >>> >> ThreadPool.java:685) > >> >> >>> >> at java.lang.Thread.run(Thread.java:595) > >> >> >>> >> > >> >> >>> >> > >> >> >>> >> Matej Knopp-2 wrote: > >> >> >>> >> > > >> >> >>> >> > There is no way that ajax requests can be processed without > >> >> >>> blocking. > >> >> >>> >> > a) ajax requests are ordered on client into queues > >> >> >>> >> > b) requests are blocked on target page (not session) on > >> server > >> >> side > >> >> >>> >> > > >> >> >>> >> > -Matej > >> >> >>> >> > > >> >> >>> >> > On 9/7/07, Sam Hough <[EMAIL PROTECTED]> wrote: > >> >> >>> >> >> > >> >> >>> >> >> A bit of the application lets you add items to a list using > >> >> >>> >> >> AjaxFallbackButton. All works fine if you click the buttons > >> >> slowly > >> >> >>> but > >> >> >>> >> if > >> >> >>> >> >> I > >> >> >>> >> >> click quickly I get exceptions that look like my code is > >> >> running > >> >> >>> >> >> concurrently (nullpointer where it can't happen if running > >> in > >> a > >> >> >>> single > >> >> >>> >> >> thread). > >> >> >>> >> >> > >> >> >>> >> >> What behaviour is Wicket aiming to implement for Ajax and > >> >> >>> threading? > >> >> >>> >> >> > >> >> >>> >> >> > >> >> >>> >> >> > >> >> >>> >> >> Matej Knopp-2 wrote: > >> >> >>> >> >> > > >> >> >>> >> >> > Can you be more specific? What kind of concurrency issues? > >> >> >>> >> >> > > >> >> >>> >> >> > -Matej > >> >> >>> >> >> > > >> >> >>> >> >> > On 9/7/07, Sam Hough <[EMAIL PROTECTED]> wrote: > >> >> >>> >> >> >> > >> >> >>> >> >> >> oops, I posted on old forum... > >> >> >>> >> >> >> > >> >> >>> >> >> >> http://www.nabble.com/threading-question-tf841003.html > >> >> >>> >> >> >> > >> >> >>> >> >> >> [all request serialised on Session object] > >> >> >>> >> >> >> > >> >> >>> >> >> >> Is this true even for Ajax requests? Is whole life cycle > >> >> >>> >> effectively > >> >> >>> >> >> >> single > >> >> >>> >> >> >> threaded for a single session? > >> >> >>> >> >> >> > >> >> >>> >> >> >> I think I'm seeing a concurrency issue in my website > >> (Wicket > >> >> >>> >> 1.3-beta3 > >> >> >>> >> >> >> and > >> >> >>> >> >> >> lots of AjaxFallbackButton, I did listen to Igor)... > >> >> >>> >> >> >> > >> >> >>> >> >> >> Obviously would be tempting to sync on the Session but > >> might > >> >> >>> break > >> >> >>> >> lot > >> >> >>> >> >> of > >> >> >>> >> >> >> the usability advantages of Ajax... > >> >> >>> >> >> >> > >> >> >>> >> >> >> Anybody got any top tips? > >> >> >>> >> >> >> -- > >> >> >>> >> >> >> View this message in context: > >> >> >>> >> >> >> > >> >> >>> >> >> > >> >> >>> >> > >> >> >>> > >> >> > >> http://www.nabble.com/threading-issues---continued-tf4400569.html#a12552735 > >> >> >>> >> >> >> Sent from the Wicket - User mailing list archive at > >> >> Nabble.com. > >> >> >>> >> >> >> > >> >> >>> >> >> >> > >> >> >>> >> >> >> > >> >> >>> >> > >> >> --------------------------------------------------------------------- > >> >> >>> >> >> >> To unsubscribe, e-mail: > >> [EMAIL PROTECTED] > >> >> >>> >> >> >> For additional commands, e-mail: > >> >> [EMAIL PROTECTED] > >> >> >>> >> >> >> > >> >> >>> >> >> >> > >> >> >>> >> >> > > >> >> >>> >> >> > > >> >> >>> >> > >> >> --------------------------------------------------------------------- > >> >> >>> >> >> > To unsubscribe, e-mail: > >> [EMAIL PROTECTED] > >> >> >>> >> >> > For additional commands, e-mail: > >> [EMAIL PROTECTED] > >> >> >>> >> >> > > >> >> >>> >> >> > > >> >> >>> >> >> > > >> >> >>> >> >> > >> >> >>> >> >> -- > >> >> >>> >> >> View this message in context: > >> >> >>> >> >> > >> >> >>> >> > >> >> >>> > >> >> > >> http://www.nabble.com/threading-issues---continued-tf4400569.html#a12553207 > >> >> >>> >> >> Sent from the Wicket - User mailing list archive at > >> Nabble.com. > >> >> >>> >> >> > >> >> >>> >> >> > >> >> >>> >> >> > >> >> >>> > >> --------------------------------------------------------------------- > >> >> >>> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> >> >>> >> >> For additional commands, e-mail: > >> [EMAIL PROTECTED] > >> >> >>> >> >> > >> >> >>> >> >> > >> >> >>> >> > > >> >> >>> >> > > >> >> >>> > >> --------------------------------------------------------------------- > >> >> >>> >> > To unsubscribe, e-mail: [EMAIL PROTECTED] > >> >> >>> >> > For additional commands, e-mail: [EMAIL PROTECTED] > >> >> >>> >> > > >> >> >>> >> > > >> >> >>> >> > > >> >> >>> >> > >> >> >>> >> -- > >> >> >>> >> View this message in context: > >> >> >>> >> > >> >> >>> > >> >> > >> http://www.nabble.com/threading-issues---continued-tf4400569.html#a12759130 > >> >> >>> >> Sent from the Wicket - User mailing list archive at Nabble.com. > >> >> >>> >> > >> >> >>> >> > >> >> >>> >> > >> >> --------------------------------------------------------------------- > >> >> >>> >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> >> >>> >> For additional commands, e-mail: [EMAIL PROTECTED] > >> >> >>> >> > >> >> >>> >> > >> >> >>> > > >> >> >>> > > >> >> >>> > >> >> >>> -- > >> >> >>> View this message in context: > >> >> >>> > >> >> > >> http://www.nabble.com/threading-issues---continued-tf4400569.html#a12759515 > >> >> >>> Sent from the Wicket - User mailing list archive at Nabble.com. > >> >> >>> > >> >> >>> > >> >> >>> > >> --------------------------------------------------------------------- > >> >> >>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> >> >>> For additional commands, e-mail: [EMAIL PROTECTED] > >> >> >>> > >> >> >>> > >> >> >> > >> >> >> > >> >> > > >> >> > > >> >> > >> >> -- > >> >> View this message in context: > >> >> > >> http://www.nabble.com/threading-issues---continued-tf4400569.html#a12772965 > >> >> Sent from the Wicket - User mailing list archive at Nabble.com. > >> >> > >> >> > >> >> --------------------------------------------------------------------- > >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> >> For additional commands, e-mail: [EMAIL PROTECTED] > >> >> > >> >> > >> > > >> > > >> > >> -- > >> View this message in context: > >> http://www.nabble.com/threading-issues---continued-tf4400569.html#a12774734 > >> Sent from the Wicket - User mailing list archive at Nabble.com. > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > -- > View this message in context: > http://www.nabble.com/threading-issues---continued-tf4400569.html#a12774961 > Sent from the Wicket - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
