Call to a member function getPlainTextMessage() on null

woltlab.com will be unavailable for about 10 minutes starting on 16:40 (UTC+2) to apply an update.
  • Ich habe den Fehler auch, wie oben beschrieben, nach der Aktualisierung der Anzeigen hat man für kurze Zeit Ruhe, danach tritt dieser Fehler wieder auf.

    • Official Post

    Das hier ist ja eigentlich keine wirkliche Lösung, sondern eher ein Workaround. Das eigentliche Problem muss ja woanders liegen.

    Die grundsätzliche Idee dahinter ist es, einen sauberen Ausgangszustand zu erhalten, bei dem alles erst einmal in Ordnung ist. Auch im Hinblick auf Upgrades von älteren Versionen, so dass ggf. Fehler mitgeschliffen wurden.

  • Hatte den Fehler auch heute. Inzwischen lässt sich das Thema ganz normal öffnen ohne das ich etwas gemacht hätte.


    Folgendes kann ich zur Eingrenzung beitragen:

    1) Das Änderungsprotokoll zum Thread ist leer.

    2) Der Fehler wurde zweimal ausgelöst. Zeitlich passen sie zur Threaderstellung.

    3) WSC 5.3.4, WBB 5.3.3

    Edited 3 times, last by less ().

    • Official Post

    Im Fall von Grischabock konnte ich herausfinden, dass das Problem durch ein Plugin verursacht wurde, dass bei der Erstellung von Themen einen Fehler verursacht. Beim Erstellen von Themen wird erst das Thema erzeugt und dann der Startbeitrag. Das Plugin greift mitten drin ein und verursacht dadurch einen Abbruch, weshalb der Startbeitrag nicht erzeugt werden kann und nun ein Thema ohne Beiträge existiert.


    Bitte schaut, ob ihr vor dem Auftreten der in diesem Thema genannten Fehlermeldung einen Eintrag im Protokoll findet, deren Titel wie folgt lautet:

    Code
    Could not execute statement 'INSERT INTO wcf1_label_object (labelID, objectTypeID, objectID) VALUES (?, ?, ?)'

    Im fraglichen Fall wurde dies durch den Event-Listener wcf\system\event\listener\AutoLabelPostActionListener verursacht, dieser müsste irgendwo im Text der Fehlermeldung auftauchen.


    Diese Datei gehört zum Plugin Auto Label von Hanashi

  • Bitte schaut, ob ihr vor dem Auftreten der in diesem Thema genannten Fehlermeldung einen Eintrag im Protokoll findet, deren Titel wie folgt lautet:

    Ich habe direkt nachgesehen. Bei mir gibt es keinen vorausgegangenen oder nachfolgenden Fehler "INSERT INTO wcf1_label_object".

    Allerdings besteht in diesem Forenbereich tatsächlich die Möglichkeit bzw. Pflicht Labels zu setzen. Die Spur scheint also die richtige zu sein.


    Das genannte Plugin wird nicht eingesetzt, auch der genannte Listener nicht anderweitig angesprochen. Es handelt es sich um eine "ganz normale" Themeneröffnung durch einen registrierten Nutzer.

    • Official Post

    less Die Fehlermeldung in diesem Thema besagt, dass für das beanstandete Thema kein Startbeitrag existiert. Dies kann entweder dadurch geschehen, dass die Löschung oder die Erstellung unvollständig war. Bitte prüfe, ob es eine Fehlermeldung gibt, die unmittelbar vor dem Auftritt der "Call to a member function…" im Protokoll steht. Das erlaubt es, die Ursache dafür zu finden.


    Edit: Hanashi, eventuell hilft dir dieser Teil:

    Code
    SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails ("<redacted>"."wcf1_label_object", CONSTRAINT "2bda939b6f578831c3b50216201556fe_fk" FOREIGN KEY ("labelID") REFERENCES "wcf1_label" ("labelID") ON DELETE CASCADE)

    und

    Code
    */lib/system/database/statement/PreparedStatement.class.php (93): PDOStatement->execute(…)
    */lib/system/label/LabelHandler.class.php (195): wcf\system\database\statement\PreparedStatement->execute(…)
    */lib/system/event/listener/AutoLabelPostActionListener.class.php (31): wcf\system\label\LabelHandler->setLabels(…)
    */lib/system/event/EventHandler.class.php (137): wcf\system\event\listener\AutoLabelPostActionListener->execute(…)
    */lib/system/event/EventHandler.class.php (177): wcf\system\event\EventHandler->executeInheritedActions(…)
    */lib/data/AbstractDatabaseObjectAction.class.php (212): wcf\system\event\EventHandler->fireAction(…)
    */forum/lib/data/post/PostAction.class.php (243): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
  • less Die Fehlermeldung in diesem Thema besagt, dass für das beanstandete Thema kein Startbeitrag existiert. Dies kann entweder dadurch geschehen, dass die Löschung oder die Erstellung unvollständig war. Bitte prüfe, ob es eine Fehlermeldung gibt, die unmittelbar vor dem Auftritt der "Call to a member function…" im Protokoll steht. Das erlaubt es, die Ursache dafür zu finden.

    Es ist zweimal der gleiche Fehler zur gleichen Zeit. Davor und danach ist für Stunden Nichts im Protokoll. Hier nochmal meine vorherige Eingrenzung.

  • Die Fehlermeldung existiert bei mir auch nicht. Auch bei mir ist das Thema danach problemlos aufrufbar gewesen, es wurde also noch „fertig erstellt“.


    Ich würde also von einer Race Condition ausgehen und vermuten, dass das theoretisch behoben werden könnte, wenn erst Beitrag und dann Thema erstellt werden würden?

  • Alexander Ebert

    Set the Label from Feedback required to Not a bug
    • Official Post

    Alle Meldungen zu dieser Thematik wurden bisher durch Dritterweiterungen verursacht, das ist aber eben kein Fehler in unserer Software.


    Die einzige Ausnahme in dieser Richtung stellt eine Inkompatibilität mit dem Plugin für ignorierte Themen dar, weil wir an einer Stelle einen abweichenden API-Aufruf verwenden. Mit dem Update 5.3.6 ändern wir den betreffenden Aufruf auf den äquivalenten Standardaufruf um.

  • Also – ich hatte dieses Thema doch eröffnet und hier gemeldet. Und ich wüsste nicht, dass ich irgendein Plugin einsetze, das das verursachen könnte …?

  • Und ich wüsste nicht, dass ich irgendein Plugin einsetze, das das verursachen könnte …?


    Irgendein Plugin hat aufgrund einer Fehlfunktion verhindert, dass den betreffenden Themen der Startbeitrag zugewiesen werden konnte. Das kann dir auch bei offiziellen Plugins (z.B. ElasticSearch) passieren.

  • Das Thema hat ja einen Startbeitrag bekommen – es ist problemlos aufrufbar. Der Fehler besteht eher darin, dass das nachträglich passiert und daher in einem schlechten Moment etwas anderes nach dem Startbeitrag suchen kann, bevor er verknüpft ist. Oder dass nicht sinnvoll abgefangen wird, dass noch kein Startbeitrag verknüpft ist. Passieren sollte das nicht – Nutzer, die Fehlermeldungen sehen, ist definitiv keine gute Sache.

    Das kann dir auch bei offiziellen Plugins (z.B. ElasticSearch) passieren.

    Also Core, Calendar und Forum? ElasticSearch habe ich nicht.

    • Official Post

    Hallo,

    Das kann dir auch bei offiziellen Plugins (z.B. ElasticSearch) passieren.

    Das dürfte seit 5 Jahren äußerst unwahrscheinlich sein: Die Pflege von Elasticsearch erfolgt seit WoltLab Suite 3.0 auf Basis von Background-Jobs. Falls bei der Erstellung des Inhalts der ES-Server nicht verfügbar ist, dann wird der Eintrag in den Suchindex nachgeholt. Die Suche selbst ist natürlich auf die Verfügbarkeit von ES angewiesen.

  • Hallo,

    Das dürfte seit 5 Jahren äußerst unwahrscheinlich sein: Die Pflege von Elasticsearch erfolgt seit WoltLab Suite 3.0 auf Basis von Background-Jobs. Falls bei der Erstellung des Inhalts der ES-Server nicht verfügbar ist, dann wird der Eintrag in den Suchindex nachgeholt. Die Suche selbst ist natürlich auf die Verfügbarkeit von ES angewiesen.


    Kann ich so nicht bestätigen. Hatte den Fall erst vor 2 Wochen, wo der ES-Server eines KD nicht erreichbar war und während der Themen-Erstellung ein entsprechender Fehler auftrat, der letztlich dazu führte, dass die Themen zwar erstellt- aber nicht mit einer firstPostID ausgestattet wurden.


    Die betreffenden Themen musste ich händisch korrigieren, weil das Aktualisieren der Anzeigen keine Besserung brachte.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!