wie ich ja an anderer Stelle schon festgehalten habe, ist mir in einer bestehenden “stable” Installation das Bearbeiten eines Gerätes via admin-ui nicht mehr möglich. Jetzt habe ich festgestellt, dass es auch bei einer frischen Installation nicht funktioniert, egal ob stable or testing.
Reproduzierbar ist es wie folgt:
Container aus Docker Image anlegen (docker run --rm -ti -p 8080:80 homegear/homegear:stable bzw. docker run --rm -ti -p 8080:80 homegear/homegear:testing)
Ergebnis: Internal Server Error mit Meldung in homegear-scriptengine.err (identisch bei stable und testing):
2022-01-17T16:22:23+01:00 [critical] Uncaught Error: array_values(): Argument #1 ($array) must be of type array, null given
2022-01-17T16:22:23+01:00 [critical] Uncaught PHP Exception TypeError: “array_values(): Argument #1 ($array) must be of type array, null given” at /var/lib/homegear/admin-ui/src/Utils/Utils.php line 242
Und? Interessiert das niemanden? Kann jemand es nicht nachvollziehen und falls ja, welche relevanten Abweichungen könnte es zwischen dem eigenen System und meinem geben?
es interessiert schon jmd., naemlich mich. Ich war nur die letzten Wochen mit anderen Dingen busy, deswegen konnte ich hier nichts aktualisieren.
Das Problem tritt generell nur in Docker-Installationen auf, die “normalen” Installationen sollten funktionieren (tun sie jedenfalls auf meinem Test-System).
Den 500er unter “Einstellungen” → “System” konnte ich finden und beheben. Den anderen Fehler beim Bearbeiten eines Devices kann ich nicht reproduzieren … ich hab allerdings auch nur virtuelle Devices zur Verfuegung, da ich nur IP-based Devices (CCU, Sonos …) grad hier zum Testen hab.
Wenn mir jmd. seine db.sql schickt, teste ich das natuerlich gerne.
Okay, danke für das Feedback. Meine .db schicke ich Dir gerne, wenn ich an einem PC sitze.
Ich überlege gerade, worin die Problematik mit Docker liegen könnte, es werden auch hier ja die .deb Pakete verwendet. Kann natürlich die Kombination mit dem Host-Kernel sein.
Eine aktuelle “Debugging-Sitzung” mit @Micha hat übrigens ergeben, dass in meinem Setup ein Leeren des Verzeichnis /var/lib/homegear/tmp/admin-ui/cache/ die Bearbeitung von Geräteeigenschaften wieder ermöglicht hat.
Guten Morgen,
ich habe heute auf nightly gewechselt und das tmp geleert. Schaut wirklich deutlich besser aus!
Einstellungen → System erzeugt allerdings noch immer den 500er.
Ich darf die Frage nochmal stellen, die Systemmeldungen in meiner „stable“ Installation füllen sich nämlich mit „array“ Meldungen, die sich nicht löschen lassen.
Hi @m0wlheld,
auch für die Nightly gibt es bis jetzt noch keinen Fix!
Das Problem liegt daran, dass @Micha es nicht nachstellen kann.
Eine Problematik die mir bestens bekannt ist und es schwer macht, das Problem zu analysieren und Bugfixes bereitzustellen.
VG Carsten
Moin! Bei mir in meiner nightly Installation get die Admin-auch nicht mehr. Ich habe gerade einmal in einem frischen Debian 11 und einem Ubuntu 22.04 LXC Container jeweils eine Installation durchgeführt, bei beiden kommt folgendes:
03/20/24 09:18:29.424 Script engine (/var/lib/homegear/www/rpc/admin/index.php): PHP Fatal error: Uncaught Symfony\Component\DependencyInjection\Exception\RuntimeException: Cannot autowire service "App\EventSubscriber\CheckServiceSubscriber": argument "$defaultLocale" of method "__construct()" has no type-hint, you should configure its value explicitly. in /var/lib/homegear/admin-ui/vendor/symfony/dependency-injection/Compiler/DefinitionErrorExceptionPass.php:54
Stack trace:
#0 /var/lib/homegear/admin-ui/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php(82): Symfony\Component\DependencyInjection\Compiler\DefinitionErrorExceptionPass->processValue(Object(Symfony\Component\DependencyInjection\Definition), true)
#1 /var/lib/homegear/admin-ui/vendor/symfony/dependency-injection/Compiler/DefinitionErrorExceptionPass.php(32): Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->processValue(Array, true)
#2 /var/lib/homegear/admin-ui/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php(46): Symfony\Component\DependencyInjection\Compiler\DefinitionErrorExceptionPass->processValue(Array, true)
#3 /var/lib/homegear/admin-ui/vendor/symfony/dependency-injection/Compiler/Compiler.php(94): Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->process(Object(Symfony\Component\DependencyInjection\ContainerBuilder))
#4 /var/lib/homegear/admin-ui/vendor/symfony/dependency-injection/ContainerBuilder.php(762): Symfony\Component\DependencyInjection\Compiler\Compiler->compile(Object(Symfony\Component\DependencyInjection\ContainerBuilder))
#5 /var/lib/homegear/admin-ui/vendor/symfony/http-kernel/Kernel.php(599): Symfony\Component\DependencyInjection\ContainerBuilder->compile()
#6 /var/lib/homegear/admin-ui/vendor/symfony/http-kernel/Kernel.php(136): Symfony\Component\HttpKernel\Kernel->initializeContainer()
#7 /var/lib/homegear/admin-ui/vendor/symfony/http-kernel/Kernel.php(196): Symfony\Component\HttpKernel\Kernel->boot()
#8 /var/lib/homegear/admin-ui/public/index.php(85): Symfony\Component\HttpKernel\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#9 {main}
thrown in /var/lib/homegear/admin-ui/vendor/symfony/dependency-injection/Compiler/DefinitionErrorExceptionPass.php on line 54
03/20/24 09:18:29.626 Script engine (/var/lib/homegear/www/rpc/admin/index.php): PHP Fatal error: Uncaught Symfony\Component\DependencyInjection\Exception\RuntimeException: Cannot autowire service "App\EventSubscriber\CheckServiceSubscriber": argument "$defaultLocale" of method "__construct()" has no type-hint, you should configure its value explicitly. in /var/lib/homegear/admin-ui/vendor/symfony/dependency-injection/Compiler/DefinitionErrorExceptionPass.php:54
Stack trace:
#0 /var/lib/homegear/admin-ui/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php(82): Symfony\Component\DependencyInjection\Compiler\DefinitionErrorExceptionPass->processValue(Object(Symfony\Component\DependencyInjection\Definition), true)
#1 /var/lib/homegear/admin-ui/vendor/symfony/dependency-injection/Compiler/DefinitionErrorExceptionPass.php(32): Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->processValue(Array, true)
#2 /var/lib/homegear/admin-ui/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php(46): Symfony\Component\DependencyInjection\Compiler\DefinitionErrorExceptionPass->processValue(Array, true)
#3 /var/lib/homegear/admin-ui/vendor/symfony/dependency-injection/Compiler/Compiler.php(94): Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->process(Object(Symfony\Component\DependencyInjection\ContainerBuilder))
#4 /var/lib/homegear/admin-ui/vendor/symfony/dependency-injection/ContainerBuilder.php(762): Symfony\Component\DependencyInjection\Compiler\Compiler->compile(Object(Symfony\Component\DependencyInjection\ContainerBuilder))
#5 /var/lib/homegear/admin-ui/vendor/symfony/http-kernel/Kernel.php(599): Symfony\Component\DependencyInjection\ContainerBuilder->compile()
#6 /var/lib/homegear/admin-ui/vendor/symfony/http-kernel/Kernel.php(136): Symfony\Component\HttpKernel\Kernel->initializeContainer()
#7 /var/lib/homegear/admin-ui/vendor/symfony/http-kernel/Kernel.php(196): Symfony\Component\HttpKernel\Kernel->boot()
#8 /var/lib/homegear/admin-ui/public/index.php(85): Symfony\Component\HttpKernel\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#9 {main}
thrown in /var/lib/homegear/admin-ui/vendor/symfony/dependency-injection/Compiler/DefinitionErrorExceptionPass.php on line 54
Beim Aufruf der URL werde ich nach /admin/changepwd umgeletet, dann kommt im Browser ein Error 500. Fehlt da eventuell einfach noch irgendwo ein Paket?
also ich hatte ja vor nicht allzulanger Zeit auch einen (LXC) Container mit aktuellem nightly unter Proxmox 7.4 aufgesetzt.
Testweise mit Debian Bullseye. In “Produktion” nutze ich jetzt aber das schlankere DietPI.
Mit beiden Betriebssystemen funktionierte die Installation inkl. Admin-UI problemlos.
Wenn ich mich recht erinnere musste ich das Passwort allerdings per CLI setzen.
Hallo @Mainframe ,
Danke für Deinen Tipp! Ich habe gerade nochmal auf das aktuelle Nightly aktualisiert und dann via CLI das Passwort neu gesetzt (obwohl es keine Neuinstallation war und damit bereits ein User samt Passwort existierte). Leider hat es nicht geholfen und ich bekomme den gleichen Fehler wie Volker bzw. wie vorher.
Viele Grüße von
Carsten