[TYPO3-UG Oesterreich] TER Update Fehler
Markus Klein
m.klein at mfc-linz.at
Thu May 2 11:21:49 CEST 2013
Hi!
Siehe http://forge.typo3.org/issues/47816
Das Category Problem wurde bereits gefixt: http://forge.typo3.org/issues/46115
lg
Markus Klein
[E] m.klein at mfc-linz.at
> -----Original Message-----
> From: typo3-at-bounces at lists.typo3.org [mailto:typo3-at-
> bounces at lists.typo3.org] On Behalf Of Markus Klein
> Sent: Friday, April 26, 2013 8:10 PM
> To: 'TYPO3 Usergroup Oesterreich'
> Subject: Re: [TYPO3-UG Oesterreich] TER Update Fehler
>
> Sorry, nicht weitergelesen.
> Ja ich kann das mal reporten für dich.
>
> Lg Markus
>
> > -----Original Message-----
> > From: typo3-at-bounces at lists.typo3.org [mailto:typo3-at-
> > bounces at lists.typo3.org] On Behalf Of Markus Klein
> > Sent: Friday, April 26, 2013 8:09 PM
> > To: 'TYPO3 Usergroup Oesterreich'
> > Subject: Re: [TYPO3-UG Oesterreich] TER Update Fehler
> >
> > Hallo Markus,
> >
> > magst du nicht gleich einen Bugreport im forge machen?
> >
> > Kommentar zu mbstring:
> > Ja mbstring wird default werden. Wurde auch innerhalb der Core Devs
> > diskutiert. Bin mir nur grade nicht sicher ob für 6.1 oder 6.2.
> > Die unperformante "Rad-Neuerfindung" wird "geschrottet", denn mbstring
> > ist seit einiger Zeit ja bereits ein required php modul.
> >
> > Lg Markus
> >
> > > -----Original Message-----
> > > From: typo3-at-bounces at lists.typo3.org [mailto:typo3-at-
> > > bounces at lists.typo3.org] On Behalf Of Markus Kappe
> > > Sent: Friday, April 26, 2013 7:41 PM
> > > To: typo3-at at lists.typo3.org
> > > Subject: [TYPO3-UG Oesterreich] TER Update Fehler
> > >
> > > Liebe TUGA Mitglieder,
> > >
> > > unter bestimmten Voraussetzungen hört der Spinner sich nicht auf zu
> > > drehen, wenn man die Extension Liste aktualisieren will. TYPO3 6.0.x
> > >
> > > Wurde schon gemeldet unter http://forge.typo3.org/issues/43539 aber
> > > dann aufgrund von Nicht-Nachvollziehbarkeit wieder geschlossen.
> > >
> > > Man untersucht den Ajax Call und sieht die Fehlermeldung Fatal error:
> > > Maximum execution time of 30 seconds exceeded in /xxx/typo3_src-
> > > 6.0.4/typo3/sysext/core/Classes/Charset/CharsetConverter.php
> > > on line 2090
> > >
> > > Das heißt, das Error Handling versagt hier. Der User bekommt kein
> > Feedback.
> > >
> > > Zum Fehler: Ich habe herausgefunden, dass eine Query fehlschlägt
> > > (Insert in die Datenbank der importierten Extension-Details). Das
> > > hat 2
> > Auswirkungen:
> > > 1) Das Debugging wird ausgelöst, wenn es entsprechend konfiguriert
> > > ist (devIpMask, sqlErrors, etc.). Das führt zum Timeout. Das
> > > erklärt, warum manche das Problem haben und andere nicht.
> > >
> > > 2) Die Extensions aus dem aktuell bearbeiteten Batch (50 an der
> > > Zahl) werden nicht in die Datenbank eingefügt.
> > >
> > > Wie kommt es zum DB Fehler?
> > > Das Insert lautet ca so:
> > > INSERT INTO tx_extensionmanager_domain_model_extension
> > > (extension_key, version, integer_version, alldownloadcounter,
> > > downloadcounter, title, ownerusername, author_name, author_email,
> > > authorcompany, last_updated, md5hash, repository, state,
> > > review_state, category, description, serialized_dependencies,
> > > update_comment)
> > VALUES
> > > ('qrcode', '1.0.0', 1000000, 155, 0, 'QR Code', 'b263', 'Bastian Braeu', '
> > > bb at bftmedia.de', '', 1361908312, '3a7f3e83cbddbd910163ef5eb26d5937',
> > > 1, 999, 0, plugin, 'Display QR codes as content elements, embed as
> > > Fluidtemplate, or use the view helper in your own extensions.',
> > > 'a:1:{s:7:\"depends\";a:3:{s:3:\"cms\";s:12:\"6.0.0-
> > > 6.0.99\";s:7:\"extbase\";s:12:\"6.0.0-6.0.99\";s:5:\"fluid\";s:12:\"6.
> > > 0.0-
> > > 6.0.99\";}}',
> > > 'TYPO3 CMS 6.0');
> > >
> > > Fehlermeldung: Unknown column 'plugin' in 'field list'
> > >
> > > Was auffällt ist, dass das Wort "plugin" nicht escaped wurde. Ein
> > > Vergleich mit anderen Inserts zeigt, dass an der Stelle
> > > normalerweise eine
> > Zahl steht.
> > >
> > > Vergleich mit dem XML, welches in SQL umgesetzt wird: hier ist bei
> > > normal funktionierenden Datensätzen ein <category>plugin</category>.
> > > Bei einigen wenigen falschen Datensätzen steht an der Stelle ein
> > > <category>3</category> o.ä.
> > >
> > > D.h. 1) sind die Ausgangsdaten falsch und 2) werden falsche Daten
> > > nicht ausreichend abgefangen.
> > >
> > > Zurück zum Fehler bei der Debug Ausgabe: die Zeit wird aufgebraucht
> > > in
> > > TYPO3\CMS\Core\Encoder::encode() bei der Codierung der 21k großen
> > > Debug Ausgabe.
> > > Das encoden ist sehr unperformat geschrieben, es wird jedes Zeichen
> > > unter Berücksichtigung des Zeichensatzes (UTF-8) aus dem 21k String
> > > ausgeschnitten und separat encoded bevor es wieder zusammengesetzt
> > > wird.
> > > Nach ca. 7k Zeichen auf diese Art encoded gibt mein Server auf - es
> > > sind 55 Sekunden vergangen (ca. 8 davon außerhalb des Encodings).
> > >
> > > Es gibt einen einfachen
> > > Workaround: $GLOBALS['TYPO3_CONF_VARS']['SYS']['t3lib_cs_utils']
> > > muss auf mbstring gesetzt werden. iconv hat nicht funktioniert bei
> > > meinem Test (timeout).
> > >
> > > Leider löst das nur einen Teil des Problems, denn die Debug Ausgabe
> > > (die nun funktioniert) invalidiert den JSON Output des Ajax Calls.
> > > Hier muss eindeutig noch ein Bugfix her.
> > >
> > > Ein anderer Workaround ist, das Debugging abzudrehen. Dann sollte
> > > das mit dem Spinner funktionieren. Leider werden dabei trotzdem
> > > einige Extensions nicht importiert (es werden immer 50 gleichzeitig
> > > in die DB geschrieben und wenn ein Datensatz kaputt ist, fehlen
> > > anschließend die anderen 49)
> > >
> > > Gut, wieder etwas gelernt: die Zeichensatz-Operationen müssen auf
> > > mbstring konfiguriert werden damit TYPO3 vernünftig läuft (zumindest
> > > bestimmte Aspekte von TYPO3). Meiner Meinung nach sollte mbstring
> > > die Default Einstellung sein und die anderen Varianten nur als Fallback
> dienen.
> > > Entweder hart codierte Fallbacks (so dass man gar nichts mehr
> > > konfigurieren braucht - automatische Erkennung) oder mbstring wird
> > > Default bei einer Neuinstallation und per Check im Install Tool
> > > (oder
> > > Reports) wird überprüft ob das Modul verfügbar ist - Möglichkeit
> > umzukonfigurieren.
> > >
> > >
> > > Was muss jetzt noch gemacht wereden, damit das Problem behoben ist?
> > >
> > > Patch 1: Fehlermeldung beim Spinner, wenn der TER Import ein Problem
> > > hat (d.h. kein gültiges JSON zurückkommt) Patch 2: mbstring als
> > > Default verankern.
> > > Patch 3: Datenkorrektur der "category 3"
> > > Patch 4: Datenvalidierung bevor das Insert ausgeführt wird // siehe
> > > http://forge.typo3.org/issues/46115
> > > Patch 5: eventuell encode() performanter neu schreiben // siehe
> > > http://forge.typo3.org/issues/47124
> > >
> > > So, ich habe jetzt viel Zeit mit der Fehlersuche verbracht und
> > > möchte freundlich anfragen, ob jemand so nett wäre und die Infos auf
> > > englisch übersetzen und Bug Reports machen würde.
> > >
> > > Danke & LG
> > > Markus
> > > _______________________________________________
> > > TYPO3-at mailing list
> > > TYPO3-at at lists.typo3.org
> > > http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-at
> >
> > _______________________________________________
> > TYPO3-at mailing list
> > TYPO3-at at lists.typo3.org
> > http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-at
>
> _______________________________________________
> TYPO3-at mailing list
> TYPO3-at at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-at
More information about the TYPO3-at
mailing list