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]
>
>

Reply via email to