Trying to get property 'cumulativeLikes' of non-object

  • Affected App
    WoltLab Suite Forum

    Den folgenden Fehler erhalte ich nur bei einem Thread. Zumindest ist das der einzige, der bislang im Fehlerprotokoll mit dieser Meldung festgehalten worden ist:


    Requested URL
    /forum/thema/113975-automatische-tastatur/
    Referrer
    Error Message
    Trying to get property 'cumulativeLikes' of non-object
    Type
    wcf\system\exception\ErrorException
    File (Line)
    /www/htdocs/w0175a4b/camp-firefox.de/lib/system/WCF.class.php (341)
    Stacktrace
    1. /www/htdocs/w0175a4b/camp-firefox.de/templates/compiled/2_wbb_1_thread.php (169): wcf\system\WCF::handleError(…)
    2. /www/htdocs/w0175a4b/camp-firefox.de/lib/system/template/TemplateEngine.class.php (334): include(…)
    3. /www/htdocs/w0175a4b/camp-firefox.de/lib/page/AbstractPage.class.php (323): wcf\system\template\TemplateEngine->display(…)
    4. /www/htdocs/w0175a4b/camp-firefox.de/lib/page/AbstractPage.class.php (114): wcf\page\AbstractPage->show(…)
    5. /www/htdocs/w0175a4b/camp-firefox.de/lib/system/request/Request.class.php (83): wcf\page\AbstractPage->__run(…)
    6. /www/htdocs/w0175a4b/camp-firefox.de/lib/system/request/RequestHandler.class.php (107): wcf\system\request\Request->execute(…)
    7. /www/htdocs/w0175a4b/camp-firefox.de/forum/index.php (9): wcf\system\request\RequestHandler->handle(…)
    • Official Post

    Cadeyrn Kannst du bitte das kompilierte Template templates/compiled/2_wbb_1_thread.php hier anhängen, damit der Kontext gegeben ist? Alternativ geht auch Zeile 169 zzgl. der 10 Zeilen davor und danach.


  • … wobei das hier Zeile 169 ist:


    PHP
    "upvoteCount": "<?=wcf\util\StringUtil::encodeHTML($this->v['thread']->getFirstPost()->cumulativeLikes);?>",
    • Official Post

    Meine Vermutung: Das Thema hat keine Beiträge oder der Startbeitrag fehlt.

    SQL
    SELECT firstPostID FROM wbb1_thread WHERE threadID = 113975

    Falls dort eine ID herauskommt:

    SQL
    SELECT postID, threadID FROM wbb1_post WHERE postID IN (SELECT firstPostID FROM wbb1_thread WHERE threadID = 113975)


    Falls bei der ersten Abfrage kein Ergebnis rausfiel:

    SQL
    SELECT COUNT(*) AS count FROM wbb1_post WHERE threadID = 113975;

    Falls dort eine 0 zurückkommt: Thema ist leer und kann gelöscht werden.


    Falls dort etwas zurückkommt: Puh, Themen aktualisieren?

  • Die erste Abfrage liefert kein Ergebnis und die letzte Abfrage liefert 0 zurück. Dann werde ich das Thema löschen. Ich frage mich nur, wie es zu dieser Situation kommen konnte. Ich nehme an, der Thread sollte eigentlich gelöscht sein, wenn der letzte Beitrag eines Threads gelöscht wird. Aber da es auch in den neuesten Logs nur diesen einen Thread gibt, fällt das wohl unter Einzelfall.

    • Official Post

    Ich frage mich nur, wie es zu dieser Situation kommen konnte.

    Das Thema ist, gemessen an der threadID, schon etwas älter. Es könnte auch ein Szenario gewesen sein, bei dem die Themenerstellung fehlschlug, diese legt im ersten Schritt das Thema an und dann den Beitrag. Nachträglich lässt sich das leider nicht mehr zufriedenstellend klären.


    Allerdings ist es ein Fehler, dass es zu einer Exception kommt, wir hatten extra eine Anzeige eingebaut, wenn ein Thema leer ist.

Participate now!

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