Update auf 4.3 massive Probleme im Backend

  • Joomla Version
    4.2.9
    PHP Version
    PHP 8.1.x
    Hoster
    hoststar.ch
    Link (URL) zur Seite mit dem Problem
    dev.abc-aarberg.ch

    Guten Tag allerseits,

    nachdem ich mehr als ein Dutzend Sites problemlos auf 4.3 bzw. 4.3.1 updated habe, schleift es bei einer besonders kleinen, unspektakulären Site dem Updateversuch von 4.2.9 auf 4.3. Das Update an sich wird durchgeführt, und auch im Frontend zeigen sich keine Probleme. Hingegen: im Backend kann ich z.B. die Templates nicht mehr anklicken. Ich bekomm dann das hier ausgegeben:


    Es ist ein Fehler aufgetreten.

    Zitat
    0 Error decoding JSON data: Syntax error
    Call stack
    # Function Location
    1 () JROOT/libraries/vendor/joomla/registry/src/Format/Json.php:71
    2 Joomla\Registry\Format\Json->stringToObject() JROOT/libraries/vendor/joomla/registry/src/Registry.php:336
    3 Joomla\Registry\Registry->loadString() JROOT/libraries/vendor/joomla/registry/src/Registry.php:67
    4 Joomla\Registry\Registry->__construct() JROOT/libraries/src/Component/ComponentRecord.php:139
    5 Joomla\CMS\Component\ComponentRecord->getParams() JROOT/libraries/src/Component/ComponentHelper.php:114
    6 Joomla\CMS\Component\ComponentHelper::getParams() JROOT/administrator/components/com_templates/src/Model/TemplatesModel.php:217
    7 Joomla\Component\Templates\Administrator\Model\TemplatesModel->populateState() JROOT/libraries/src/MVC/Model/StateBehaviorTrait.php:59
    8 Joomla\CMS\MVC\Model\BaseModel->getState() JROOT/administrator/components/com_templates/src/Model/TemplatesModel.php:188
    9 Joomla\Component\Templates\Administrator\Model\TemplatesModel->getStoreId() JROOT/libraries/src/MVC/Model/ListModel.php:263
    10 Joomla\CMS\MVC\Model\ListModel->getItems() JROOT/administrator/components/com_templates/src/Model/TemplatesModel.php:69
    11 Joomla\Component\Templates\Administrator\Model\TemplatesModel->getItems() JROOT/libraries/src/MVC/View/AbstractView.php:146
    12 Joomla\CMS\MVC\View\AbstractView->get() JROOT/administrator/components/com_templates/src/View/Templates/HtmlView.php:108
    13 Joomla\Component\Templates\Administrator\View\Templates\HtmlView->display() JROOT/libraries/src/MVC/Controller/BaseController.php:645
    14 Joomla\CMS\MVC\Controller\BaseController->display() JROOT/administrator/components/com_templates/src/Controller/DisplayController.php:67
    15 Joomla\Component\Templates\Administrator\Controller\DisplayController->display() JROOT/libraries/src/MVC/Controller/BaseController.php:678
    16 Joomla\CMS\MVC\Controller\BaseController->execute() JROOT/libraries/src/Dispatcher/ComponentDispatcher.php:143
    17 Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch() JROOT/libraries/src/Component/ComponentHelper.php:361
    18 Joomla\CMS\Component\ComponentHelper::renderComponent() JROOT/libraries/src/Application/AdministratorApplication.php:143
    19 Joomla\CMS\Application\AdministratorApplication->dispatch() JROOT/libraries/src/Application/AdministratorApplication.php:186
    20 Joomla\CMS\Application\AdministratorApplication->doExecute() JROOT/libraries/src/Application/CMSApplication.php:293
    21 Joomla\CMS\Application\CMSApplication->execute() JROOT/administrator/includes/app.php:61
    22 require_once() JROOT/administrator/index.php:32


    Damit das nicht an der Live-Site passiert, habe ich diese aus dem Backup wiederhergestellt und eine dev-Umgebung eingerichtet.

    Ich hab bereits das /libraries/-Verzeichnis komplett ausgewechselt und weiss-wer-noch-was-alles ausprobiert. Wenn ich wenigstens einen Anhaltspunkt hätte, wäre ich schon enorm dankbar...


    Martin

  • Hallo WM-Loose und CurlY BracketS,

    danke für Eure Reaktion!

    PHP hab ich bereits versucht: 7.4, 8.0.1, 8.1.28: gleiches Resultat.

    Das Template ist - wie bei mir eigentlich zu 95 Prozent immer - eine Modifikation von Cassiopeia. In der genau gleichen Struktur wie bei einer anderen Site, wo es problemlos funzt. Aber das Phänomen betrifft ja das BE, nicht das FE.

    PHP fileinfo ist eingeschaltet.

  • Die Meldung kommt wenn in der Datenbank irgendwo in einem Feld, das ein json enthalten soll, irgend was anderes steht. Vielleiht hilft dir das bei der Fehlersuche: https://www.joomlashack.com/bl…ecoding-json-data-syntax/.
    Da du schreibst, dass die "die Templates" nicht mehr anklicken kannst dürfte es in dem Umfeld sein. Vielleicht kannst du alle alten Templates deinstallieren?

  • Danke, Christiane! Ich geh dem mal nach. Ist einfach seltsam, dass selbst wenn ich vor dem Update (beim gefühlt 375. Versuch) das Standard-Cassiopeia aktiviere, das Problem genau gleich bestehen bleibt.

    Und: ausser Cassiopeia und meinem modifizierten Cassiopeia ist da nix drin.

    Und: soeben in der Version 4.2.9 mein Template deinstalliert und auf das Standard-Template gesetzt. Genau gleiches Problem.

  • Du, da bin ich überfordert. Ich hab dilettantisch auch bereits ein sauberes "administrator"-Verzeichnis reingehängt, ein sauberes "libraries" ... aber zu mehr bin ich grad nicht imstande.


    In der DB siehts bei mir so aus:


    Aber Achtung: Ich hatte mein Template zu einer Zeit erstellt, als noch nicht die ganze Aufsplittung in "media" und "templates" notwendig war. Das war ganz am Anfang von J4. In der selben Art habe ich etliche andere Sites erstellt, die null Probleme bereiten ...

  • Danke schon mal; aber: ich hab so ziemlich alle Erweiterungen schon mal de- und reaktiviert. Das Problem im BE bleibt dabei bestehen. Was manchmal etwas Ärger macht, ist das DJ Megamenu. Ich brauch das seit Jahren und auf praktisch allen meinen Sites. Aber auch hier: wenn ich das deaktiviere, ändert sich nix...

  • Danke bembelimen, aber: Die Site wurde from Scratch direkt in J4 erstellt.


    When updating directly from 3.10 or from a 4.x version which had been updated from 3.10 in past, and the parameters of the template manager never have been saved in backend so they are still an empty JSON ...

  • Das Problem ist nach Stunden der akribischen Suche und gut und gern zwei Dutzend Restores isoliert und behoben. Das Phänomen aber ist für mich ungeklärt. Wie Christiane vorgeschlagen hat, habe ich irgendwann mal in #__extensions nachgeguckt und dort in der Tabelle com_templates festgestellt, dass keine Params drin sind. Leer. Der Vergleich mit anderen Sites zeigte, dass dort schon was drin sein sollte. Warum das bei einer seinerzeit frischen J4-Installation leer blieb, weiss ich grad nicht. Also habe ich die Params einer funktionierenden Tabelle einer andern Site dort reingehängt, und gut war.

    Für mich nicht nachvollziehbar ist folgendes: Bis zu 4.2.9 funktionierte das Backend tadellos. Mit 4.3.1 kam ein kleiner Zusatzeintrag in die Params rein, der alles zerschoss.


    How ever: danke allen für die Tipps.