• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: "You backtracked too far" error after closing AjaxModalDialog and clicking on a link on the page
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "You backtracked too far" error after closing AjaxModalDialog and clicking on a link on the page


  • Subject: Re: "You backtracked too far" error after closing AjaxModalDialog and clicking on a link on the page
  • From: "Ricardo J. Parada" <email@hidden>
  • Date: Tue, 12 Jul 2011 19:29:06 -0400


On Jul 12, 2011, at 5:53 PM, Chuck Hill wrote:


On Jul 12, 2011, at 2:45 PM, Ricardo J. Parada wrote:


On Jul 12, 2011, at 4:52 PM, Chuck Hill wrote:

Hi Ricardo,

On Jul 12, 2011, at 1:35 PM, Ricardo J. Parada wrote:

Does anybody have an idea what could be causing this problem?  The user clicks on an AjaxModalDialogOpener which opens the dialog.  Then the user does a whole bunch of stuff in the dialog that involves many clicks

Does it still happen if they don't make so many clicks?

If they make a few clicks then it works okay.


then finally clicks a DONE link to close the dialog.

Are all of these links and clicks Ajax actions?


Yes, they are clicking on links generated by AjaxSubmitButton components to be exact.  :-)

And you are certain that there are no /wo/ or /wa/ requests mixed in here?

I set this property in my Properties.dev:

log4j.logger.er.extensions.ERXApplication.RequestHandling=DEBUG

and then I looked at all the uri's of the requests coming in.  They have /ajax/ in there and when the dialog first comes up I see a few /_wr_/ and I guess the browser caches those since I don't see requests for those anymore on subsequent requests after the dialog is displayed.

All the requests for the "many clicks" I mentioned have /ajax/ in them.  I don't see any /wo/ requests mixed in.

Also I set a breakpoint in ERXAjaxSession.java at the only place it calls super.savePage() where I assume the current page would be saved but I never hit the breakpoint.  I would think that regular component requests would be generating new context IDs and therefore saving the page in the cache for those context IDs.  But I don't see the page getting saved.  :-/

 

The dialog has a closeUpdateContainerID bound with the id of an ajax update container to refresh, which it does refresh upon closing the dialog.  But then the user clicks on a link on the page that is outside the refreshed AjaxUpdateContainer and the app displays the error "You backtracked too far.  The application backtracking limit of 30 has been exceeded."

Ajax links or regular component actions links?  I do what seems to be the same thing (except maybe the "does a whole bunch of stuff in the dialog") and have not had any problems.


They are regular component action links.  The context ID for which the page is being restored is 22.

The original URL is 21?


Well, I just put in there a <wo:link string="test" action=""/> and by inspecting that link after I close the ajax modal dialog and the update container refreshes the href for the link is:

http://192.168.1.9:53295/cgi-bin/WebObjects/Phynance.woa/wo/EmqPpwSYBiOiS7PPSLDXzw/8.0.0.9.1.1.13.1.5.1.2.1.1.3.51

and clicking that generates the "You backtracked too far" error.




The key to tracking this down is to know if it is the Ajax or the regular page cache that is missing the component.


I'm stepping through the restorePageForContextID() in ERXAjaxSession.java but I'm not sure what to look for.


Sorry, I just meant if the URL that caused the error was a /ajax/ or /wo/ URL.  It sounds like a /wo/ URL so that suggests to me that something in your dialog is generating /wo/ or /wa/ requests that are pushing the page out of the standard page cache.

I did not see any /wo/ nor /wa/ requests.  They are all /ajax/ requests.

Maybe I'll try to create a test Wonder app with an ajax modal dialog with a single ajax link in it that displays the current time when clicked... Then I can click it many many times.  Then close the dialog and then click on a link on the page afterwards to see if I can reproduce.




Chuck

--
Chuck Hill             Senior Consultant / VP Development

Come to WOWODC this July for unparalleled WO learning opportunities and real peer to peer problem solving!  Network, socialize, and enjoy a great cosmopolitan city.  See you there!  http://www.wocommunity.org/wowodc11/


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: "You backtracked too far" error after closing AjaxModalDialog and clicking on a link on the page
      • From: Alexis Tual <email@hidden>
    • Re: "You backtracked too far" error after closing AjaxModalDialog and clicking on a link on the page
      • From: Chuck Hill <email@hidden>
References: 
 >"You backtracked too far" error after closing AjaxModalDialog and clicking on a link on the page (From: "Ricardo J. Parada" <email@hidden>)
 >Re: "You backtracked too far" error after closing AjaxModalDialog and clicking on a link on the page (From: Chuck Hill <email@hidden>)
 >Re: "You backtracked too far" error after closing AjaxModalDialog and clicking on a link on the page (From: "Ricardo J. Parada" <email@hidden>)
 >Re: "You backtracked too far" error after closing AjaxModalDialog and clicking on a link on the page (From: Chuck Hill <email@hidden>)

  • Prev by Date: Re: WebObjects vulnerabilities?
  • Next by Date: Re: WebObjects vulnerabilities?
  • Previous by thread: Re: "You backtracked too far" error after closing AjaxModalDialog and clicking on a link on the page
  • Next by thread: Re: "You backtracked too far" error after closing AjaxModalDialog and clicking on a link on the page
  • Index(es):
    • Date
    • Thread