Admin-ui: 500 Internal Server Error

Hallo,

ich hab mal wieder einen Versuch gewagt das Homegear Docker Image für ein hassio add-on (https://github.com/tringler/hassio-addons/) zu nutzen. Ich nutze das nightly Image, bekomme aber leider beim admin-ui The server returned a "500 Internal Server Error".

Das Debuglog (Level 5) habe ich hier abgelegt: https://gist.github.com/tringler/267555cc455238578f7c5d1c92cfe6b7 Irgendwelche Ideen woran es liegen könnte?

Bis auf debugLevel ist die Config unberührt und wird vom Image gesetzt.

Hi @tringler,

bekommst du einen Stack Trace angezeigt? Wenn ja, kannst du mir einen Screenshot davon schicken?

– Micha

Nein, das ist die komplette Seite:


Oops! An Error Occurred
The server returned a "500 Internal Server Error".

Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.

Hi @tringler,

ich habs hier eben mal schnell mit dem letzten Nightly in einer VM getestet, da funktioniert alles.
Kannst du bitte in der Datei /var/lib/homegear/admin-ui/.env den Eintrag APP_ENV=prod auf APP_ENV=dev aendern und dann noch einmal versuchen die Seite aufzurufen? Dann solltest du nen Stack Trace bekommen …

– Micha

Stack-Trace:

Homegear\HomegearException:
Unknown application error.

  at src/Controller/Admin/ChangePwdController.php:80
  at Homegear\Homegear->__call('managementGetConfigurationEntry', array('main.conf', 'writeableDataPath'))
     (src/Controller/Admin/ChangePwdController.php:80)
  at App\Controller\Admin\ChangePwdController->_checkPwdFile()
     (src/Controller/Admin/ChangePwdController.php:30)
  at App\Controller\Admin\ChangePwdController->indexAction(object(Request))
     (vendor/symfony/http-kernel/HttpKernel.php:150)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
     (vendor/symfony/http-kernel/HttpKernel.php:67)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (vendor/symfony/http-kernel/Kernel.php:198)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
     (public/index.php:85)

Sehr strange …
Kannst du mal bitte schauen, ob im homegear-management.log/.err Fehler zu sehen sind?

– Micha

Das ist das komplette Log:

root@f6a3c13c-homegear:/var/log/homegear# cat homegear-management.err
08/23/19 10:11:01.871 Could not connect to socket. Error: No such file or directory
mount: cannot remount overlay read-write, is write-protected
/etc/init.d/homegear: line 94: ulimit: real-time priority: cannot modify limit: Operation not permitted
cat: /boot/cmdline.txt: No such file or directory
/etc/init.d/homegear-management: line 62: ulimit: real-time priority: cannot modify limit: Operation not permitted
mount: cannot mount overlay read-only
08/23/19 10:11:24.196 Connection to IPC server closed (2).
08/23/19 10:11:24.196 Could not send data to client 0. Sent bytes: 0 of 66. Error message: Broken pipe
08/23/19 10:11:24.196 Critical: Could not transmit PID to server: Unknown application error.

Also ich hab jetzt mal dein Image gebaut und ausprobiert, hier funktioniert auch das :crazy_face:

Kannst du im laufenden Container bitte mal folgende Befehle testen:

homegear -e rc ‘print_v($hg->managementGetConfigurationEntry(“main.conf”,“writeableDataPath”));’
homegear -e rc ‘print_v($hg->managementGetConfigurationEntry(“main.conf”,“dataPath”));’

Laut dem Trace sollte schon der erste einen Fehler werfen …

– Micha

Anbei die Logs:

https://pastebin.com/WpNCsbms

https://pastebin.com/sUj3Wsef

Vielen Dank für deine Hilfe!

Hm, da hat Discourse aus den Shell-Anfuehrungszeichen irgendwie die deutschen Anfuehrungszeichen gemacht. Kannst du die wohl bei dir mal ersetzen (so wie du es auch mit den ’ gemacht hast) und es dann noch einmal versuchen?

– Micha

Nein, das war ich :slight_smile:

Wenn ich homegear -e rc ‘print_v($hg->managementGetConfigurationEntry(“main.conf”,“writeableDataPath”));’ ausführe, bekomme ich:

syntax error near unexpected token )

Mach mal die typografischen Anführungszeichen raus und ersetze sie durch ".

//edit: sorry, erst lesen, dann posten. Wurde ja schon vorgeschlagen.

Also ich kann mir nicht helfen, aber irgendwo muss da noch ein nicht-shell-Zeichen drin sein … hier funktioniert das einwandfrei?

root@homegear:~# homegear -e rc 'print_v($hg->managementGetConfigurationEntry("main.conf","writeableDataPath"));'
(String) 

– Micha

Ja, das “klappt”:

09/09/19 17:35:09.847 Could not connect to socket. Error: No such file or directory
09/09/19 17:35:09.847 Could not connect to socket. Error: No such file or directory
09/09/19 17:35:11.848 Could not connect to socket. Error: No such file or directory
09/09/19 17:35:11.848 Could not connect to socket. Error: No such file or directory
09/09/19 17:35:11.849 Could not connect to socket. Error: No such file or directory
09/09/19 17:35:11.849 Could not connect to socket. Error: No such file or directory

Hilft uns das weiter?

Laeuft homegear-management nicht?

Nee, da scheint die Homegear-Socketdatei nicht zu existieren oder Homegear läuft nicht…

1 Like

Irgendeine Idee woran es bei meinem Add-On scheitert? https://github.com/tringler/hassio-addons/

Problem ist gelöst. Ich hab das Add-on komplett umgeschrieben und jetzt läuft es.

Vielen Dank!

3 Likes

gelöscht gelöscht

Leider ist das Problem noch immer nicht gelöst, aber das Fehlerbild ist anders:

root@bbcfe0ca-homegear:/var/log/homegear# homegear -e rc 'print_v($hg->managementGetConfigurationEntry("main.conf","writeableDataPath"));'
PHP Fatal error:  Uncaught Homegear\HomegearException: Unknown application error. in /var/lib/homegear/scripts/inline.php:7
Stack trace:
#0 /var/lib/homegear/scripts/inline.php(7): Homegear\Homegear->__call('managementGetCo...', Array)
#1 {main}

Ursache bleibt dann aber gleich oder?

10/16/19 19:53:21.422 Could not connect to socket. Error: No such file or directory
mount: cannot remount overlay read-write, is write-protected
10/16/19 19:53:23.423 Could not connect to socket. Error: No such file or directory
/etc/init.d/homegear: line 94: ulimit: real-time priority: cannot modify limit: Operation not permitted
cat: /boot/cmdline.txt: No such file or directory
/etc/init.d/homegear-management: line 62: ulimit: real-time priority: cannot modify limit: Operation not permitted
mount: cannot mount overlay read-only
mount: cannot mount overlay read-only
root@bbcfe0ca-homegear:/var/log/homegear# service homegear-management status
 * homegear-management is running
root@bbcfe0ca-homegear:/var/log/homegear# service homegear status
 * homegear is running
root@bbcfe0ca-homegear:/var/run/homegear# ls -l
total 12
-rwxr-x--- 1 homegear homegear 2 Oct 16 21:53 homegear-influxdb.pid
-rw-r--r-- 1 root     root     5 Oct 16 21:53 homegear-management.pid
-rwxr-x--- 1 homegear homegear 2 Oct 16 21:53 homegear.pid
srwxr-x--- 1 homegear homegear 0 Oct 16 21:53 homegearFE.sock
srwxr-x--- 1 homegear homegear 0 Oct 16 21:53 homegearIPC.sock
srwxr-x--- 1 homegear homegear 0 Oct 16 21:53 homegearSE.sock
root@bbcfe0ca-homegear:/var/run/homegear#

Homegear läuft definitiv. Ich sehe BidCoS Pakete durchs Log rauschen. Wo könnte ich da noch ansetzen?

Hier nochmal wie ich Homegear in ein Ubuntu Xenial Docker Image installiere: https://github.com/tringler/hassio-homegear/tree/master/homegear