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]

Reply via email to