Could not ultimately dispatch the request after 101 iterations

  • BFSven BFSven
    R2-D2
    1 x
    106 Beiträge
    2 Hilfreiche Beiträge
    05. 01. 2012, 08:46

    Heute mal keine Frage sondern eine Erkenntnis.

    Folgende Fehlermeldung ist sicher allen Formularwütigen schon einmal untergekommen:

    1. #1217839467: Could not ultimately dispatch the request after 101 iterations. Most probably, a @dontvalidate annotation is missing on re-displaying a form with validation errors.

    Eigentlich eine aussagekräftige Exception. Die erste Annahme also ist: Es wird in der Ziel-Action eine Validierung ausgeführt, diese schlägt fehl und in der referrer-Action fehlt ein [b]"@dontvalidate $formular"[/b].

    Was aber, wenn diese Annotation da ist und man sich nen Wolf sucht (so wie ich gestern).
    2. Möglichkeit: [url=http://www.bleicher-christian.de/typo3-entwicklung/tutorials/could-not-ultimately-dispatch-the-request-after-101-iterations.html]Wie Christian Bleichner schreibt[/url], kann es auch an [b]zu vielen Verschachtelungen[/b] liegen, die Maximalanzahl kann man mit

    1. max_input_nesting_level = 64
    2. xdebug.max_nesting_level = 100

    in der php.ini hochsetzen.

    Wenn das auch nicht funktioniert (so wie bei mir), gibt es noch mindestens eine weitere Möglichkeit:
    3.[b]Die Properties matchen nicht[/b]: Im Formular gab es bei mir ein [i]"startDateAsString"[/i][color=red]*[/color], für die es im Model eine get-Methode gab, aber halt keine setter. Eigentlich ein einfacher Fehler, wenn man denn durch die Fehlermeldung nicht auf eine falsche Fährte gebracht würde.
    Warum er dann in einen Infinite-Loop geht, hab ich noch nicht genauer untersucht. Was bleibt, ist die Erkenntnis, dass Fehlermeldungen in Extbase und Fluid manchmal unglaublich *arrrghh* sind #paralyzed# und dass mal die Properties im Formular nochmal genauer prüfen sollte.

    Beste Grüße,
    Sven

    [color=red]*[/color] mein startDate im Model ist eine DateTime, welche weitere Möglichkeit habe ich, es formatiert auszugeben, wenn es mit <f:form.textbox property="startDate" /> eingebunden ist?


  • 1
  • Jan.S Jan.S
    Padawan
    0 x
    38 Beiträge
    0 Hilfreiche Beiträge
    01. 10. 2012, 09:20

    Möglichkeit Nr.4

    Ich erwarte in der createAction ein Objekt welches ich nicht als argument übergeben habe. In diesen Fall bekommt man wohl auch zu einer infinitely loop. #evil#

  • bberger bberger
    Padawan
    0 x
    33 Beiträge
    0 Hilfreiche Beiträge
    18. 03. 2013, 17:22

    Bei mir trifft leider keine der 4 genannten Ursachen auf..

  • karf karf
    T3PO
    0 x
    25 Beiträge
    0 Hilfreiche Beiträge
    18. 03. 2013, 18:43

    Wenn du den neuen PropertyMapper benutzt, ist die richtige Annotation nicht mehr "@dontvalidate $forumlar" sondern "@ignorevalidation $formular". (Auch wenn in der Fehlermeldung weiterhin @dontvalidate steht ...)

  • bberger bberger
    Padawan
    0 x
    33 Beiträge
    0 Hilfreiche Beiträge
    19. 03. 2013, 16:18

    Oh, dankeschön.

    Man sollte ein Ticket eröffnen mit der Bitte die Fehlermeldung etwas aussagekräftiger bzw. zumindest weniger irreführend zu gestalten..

  • MajPay MajPay
    Jedi-Meister
    0 x
    345 Beiträge
    2 Hilfreiche Beiträge
    22. 04. 2013, 11:49

    Noch eine (wahrscheinlich eher selten auftretende Möglichkeit):
    Man cached das Reflection Backend per memcache, dieser wird anscheinend nicht geflushed, wenn man den globalen Cache oder den Konfigurations Cache leert. Dann ist die Fehlermeldung sogar ausnahmsweise korrekt und man sucht sich dumm und dämlich.

  • kitsunet kitsunet
    Flash Gordon
    0 x
    2559 Beiträge
    27 Hilfreiche Beiträge
    22. 04. 2013, 15:06

    [i]2. Möglichkeit: Wie Christian Bleichner schreibt, kann es auch an zu vielen Verschachtelungen liegen...[/i]

    Das kann eigentlich kein Grund sein, dann sollte PHP eine dementsprechende Fehlermeldung werfen.

    [i]3. Die Properties matchen nicht[/i]

    Das wiederum kann eigentlich nur ein Problem sein, wenn ich das Formular mit der selben Action darstelle and die ich es auch abschicke. Laut allen Tutorials und Manuals sollte man das eben nicht machen.

    4. Das ist natürlich dann ein ein Problem das im CachingFramework gelöst werden müsste.

    config.baseURL = http://www.kitsunet.com/
    TYPO3 Flow und Neos Community Contact
    Release Manager TYPO3 Neos 1.1
    Ich habe Probleme mit den PMs hier, also schreibt mir bitte eine Mail oder über Twitter!

  • Jann0r Jann0r
    Jar Jar Binks
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    14. 05. 2013, 11:56

    Es reicht nicht, fuer die Action das @dontvalidate zu setzen.
    Wenn man im Model das fuer die Properties zusaetzlich setzt, funktionierts...

  • cephei cephei
    Padawan
    0 x
    40 Beiträge
    1 Hilfreiche Beiträge
    19. 08. 2013, 14:17

    Bei mir lags an Punkt 3. Danke für den Hinweis.
    Also immer genau prüfen, dass alle Variablen + Get/Set Methoden vorhanden sind!

    Diese Signatur ist in Ihrem Land leider nicht verfügbar.

  • bennof bennof
    TYPO3-Anwärter
    0 x
    5 Beiträge
    1 Hilfreiche Beiträge
    03. 07. 2014, 17:50

    In meinem Fall hatte ich schlicht einen Schreibfehler in den Property-Namen im Fluid-Formular.
    Die Namen der Formularfelder im Fluid-Template haben nicht mit den Property-Namen bzw. den Gettern und Settern der Modell-Klasse übereingestummen. Korrigiert und alles läuft bestens!

  • 1