IP-Symcon wird unbenutzbar von Zeit zu Zeit Ubuntu

Hallo zusammen,

Ich habe seit ein paar Tagen die IP-Symcon unter Ubuntu am laufen und hatte jetzt schon drei mal das verhalten das nach einer nicht definierbaren Zeit folgender Fehler immer wieder kommt:

<br />
<b>Warning</b>: Unknown: failed to open stream: Too many open files in <b>Unknown</b> on line <b>0</b><br />
<br />
<b>Fatal error</b>: Unknown: Failed opening required ‚/usr/share/symcon/scripts/__autoinclude.inc.php‘ (include_path=’.:’) in <b>Unknown</b> on line <b>0</b><br />

Diese Meldung kommt erst sehr oft, danach wird die IP-Symcon unbedienbar, sprich Web geht nicht mehr und sie reagiert nicht mehr auf Homematic Aktoren…

Hat jemand eine Idee?

Vielen Dank
Gruß Robert

Irgendwas öffnet bei dir Dateien und schließt diese nicht wieder. Hast du in letzter Zeit irgendwas an deinem System erweitert, sodass wir dem Problem auf die Spur kommen können? Kannst du mit lsof mal schauen, welche Dateien von IP-Symcon geöffnet sind?

paresy

Hallo Paresy,

schaut erstmal nicht nach so viel aus wenn man es auf Dateien eingrenzt, wenn ich nur lsof mache sind ja auch die Netzwerkverbindungen dabei, da schauts dann schon gaaaaaanz anders aus, was genau interessiert dich?

root@ip-symcon:~# lsof /|grep symcon
sh         5754            root  cwd    DIR    8,2    20480 2887219 /var/lib/symcon/scripts
sh         5754            root    4w   REG    8,2  9832326 2884186 /var/log/symcon/logfile1516081004.log
sh         5754            root  313r   REG    8,2     6766 2887240 /var/lib/symcon/scripts/__generated.inc.php
sh         5754            root  314r   REG    8,2     6766 2887240 /var/lib/symcon/scripts/__generated.inc.php
sh         5754            root  316r   REG    8,2     6766 2887240 /var/lib/symcon/scripts/__generated.inc.php
sh         5754            root  317r   REG    8,2     6766 2887240 /var/lib/symcon/scripts/__generated.inc.php
sh         5754            root  319r   REG    8,2     6766 2887240 /var/lib/symcon/scripts/__generated.inc.php
sh         5754            root  320r   REG    8,2   114166  663357 /usr/share/symcon/scripts/__compatibility.inc.php
yasdi_ips  5756            root  cwd    DIR    8,2    20480 2887219 /var/lib/symcon/scripts
yasdi_ips  5756            root  txt    REG    8,2    13680 3277646 /var/lib/symcon/webfront/user/YASDI/yasdi_ipsymcon
yasdi_ips  5756            root    4w   REG    8,2  9832326 2884186 /var/log/symcon/logfile1516081004.log
yasdi_ips  5756            root  313r   REG    8,2     6766 2887240 /var/lib/symcon/scripts/__generated.inc.php
yasdi_ips  5756            root  314r   REG    8,2     6766 2887240 /var/lib/symcon/scripts/__generated.inc.php
yasdi_ips  5756            root  316r   REG    8,2     6766 2887240 /var/lib/symcon/scripts/__generated.inc.php
yasdi_ips  5756            root  317r   REG    8,2     6766 2887240 /var/lib/symcon/scripts/__generated.inc.php
yasdi_ips  5756            root  319r   REG    8,2     6766 2887240 /var/lib/symcon/scripts/__generated.inc.php
yasdi_ips  5756            root  320r   REG    8,2   114166  663357 /usr/share/symcon/scripts/__compatibility.inc.php
bash       7282            root  cwd    DIR    8,2     4096 3277052 /var/lib/symcon/webfront/user/YASDI
symcon    24410            root  cwd    DIR    8,2     4096       2 /
symcon    24410            root  rtd    DIR    8,2     4096       2 /
symcon    24410            root  txt    REG    8,2 52191344 4850802 /usr/bin/symcon
symcon    24410            root  mem    REG    8,2    27000  131633 /lib/x86_64-linux-gnu/libnss_dns-2.23.so
symcon    24410            root  mem    REG    8,2    47600  131635 /lib/x86_64-linux-gnu/libnss_files-2.23.so
symcon    24410            root  mem    REG    8,2    47648  131639 /lib/x86_64-linux-gnu/libnss_nis-2.23.so
symcon    24410            root  mem    REG    8,2    93128  131629 /lib/x86_64-linux-gnu/libnsl-2.23.so
symcon    24410            root  mem    REG    8,2    35688  131631 /lib/x86_64-linux-gnu/libnss_compat-2.23.so
symcon    24410            root  mem    REG    8,2  3234176 4854618 /usr/lib/locale/locale-archive
symcon    24410            root  mem    REG    8,2    39224  131579 /lib/x86_64-linux-gnu/libcrypt-2.23.so
symcon    24410            root  mem    REG    8,2   870240 4852051 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
symcon    24410            root  mem    REG    8,2   304072 4856180 /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
symcon    24410            root  mem    REG    8,2    60928 4856176 /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
symcon    24410            root  mem    REG    8,2   166128 4856178 /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
symcon    24410            root  mem    REG    8,2    89904 4856170 /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0
symcon    24410            root  mem    REG    8,2   204168 4856174 /usr/lib/x86_64-linux-gnu/libhcrypto.so.4.1.0
symcon    24410            root  mem    REG    8,2   661872 4856172 /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0
symcon    24410            root  mem    REG    8,2   560808 4856182 /usr/lib/x86_64-linux-gnu/libkrb5.so.26.0.0
symcon    24410            root  mem    REG    8,2    35920 4856184 /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0
symcon    24410            root  mem    REG    8,2    14256  136636 /lib/x86_64-linux-gnu/libkeyutils.so.1.5
symcon    24410            root  mem    REG    8,2    31104 4852011 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4
symcon    24410            root  mem    REG    8,2 25913104 4850746 /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
symcon    24410            root  mem    REG    8,2   264256 4856186 /usr/lib/x86_64-linux-gnu/libgssapi.so.3.0.0
symcon    24410            root  mem    REG    8,2   109296 4856192 /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25
symcon    24410            root  mem    REG    8,2    43664 4856162 /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1
symcon    24410            root  mem    REG    8,2    14648  131578 /lib/x86_64-linux-gnu/libcom_err.so.2.1
symcon    24410            root  mem    REG    8,2   186872 4856164 /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1
symcon    24410            root  mem    REG    8,2   860392 4856166 /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3
symcon    24410            root  mem    REG    8,2    76192 4852055 /usr/lib/x86_64-linux-gnu/libtasn1.so.6.5.1
symcon    24410            root  mem    REG    8,2   408472 4852041 /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.1.0
symcon    24410            root  mem    REG    8,2   522664 4852019 /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.0
symcon    24410            root  mem    REG    8,2   207640 4852025 /usr/lib/x86_64-linux-gnu/libhogweed.so.4.2
symcon    24410            root  mem    REG    8,2   137400  131611 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
symcon    24410            root  mem    REG    8,2  1636360 4850748 /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
symcon    24410            root  mem    REG    8,2   322928 4856194 /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.10.5
symcon    24410            root  mem    REG    8,2    59640 4856195 /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.10.5
symcon    24410            root  mem    REG    8,2   301376 4856168 /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2
symcon    24410            root  mem    REG    8,2  1239440 4850403 /usr/lib/x86_64-linux-gnu/libgnutls.so.30.6.2
symcon    24410            root  mem    REG    8,2   219336 4852039 /usr/lib/x86_64-linux-gnu/libnettle.so.6.2
symcon    24410            root  mem    REG    8,2   113584 4856199 /usr/lib/x86_64-linux-gnu/librtmp.so.1
symcon    24410            root  mem    REG    8,2   207208 4850120 /usr/lib/x86_64-linux-gnu/libidn.so.11.6.15
symcon    24410            root  mem    REG    8,2  1868984  131571 /lib/x86_64-linux-gnu/libc-2.23.so
symcon    24410            root  mem    REG    8,2    89696  131597 /lib/x86_64-linux-gnu/libgcc_s.so.1
symcon    24410            root  mem    REG    8,2  1566440 4850620 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
symcon    24410            root  mem    REG    8,2  1088952  131612 /lib/x86_64-linux-gnu/libm-2.23.so
symcon    24410            root  mem    REG    8,2   694800 4854956 /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.1
symcon    24410            root  mem    REG    8,2    31712  131664 /lib/x86_64-linux-gnu/librt-2.23.so
symcon    24410            root  mem    REG    8,2   363264 4856019 /usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2
symcon    24410            root  mem    REG    8,2   149904  131653 /lib/x86_64-linux-gnu/libpng12.so.0.54.0
symcon    24410            root  mem    REG    8,2   187920 4859689 /usr/lib/libmcrypt.so.4.4.8
symcon    24410            root  mem    REG    8,2   101200  131662 /lib/x86_64-linux-gnu/libresolv-2.23.so
symcon    24410            root  mem    REG    8,2  1809656 4850751 /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.3
symcon    24410            root  mem    REG    8,2    14608  131585 /lib/x86_64-linux-gnu/libdl-2.23.so
symcon    24410            root  mem    REG    8,2   444800 4850612 /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.4.0
symcon    24410            root  mem    REG    8,2   104864  131694 /lib/x86_64-linux-gnu/libz.so.1.2.8
symcon    24410            root  mem    REG    8,2  2361856  131180 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
symcon    24410            root  mem    REG    8,2   428384  131179 /lib/x86_64-linux-gnu/libssl.so.1.0.0
symcon    24410            root  mem    REG    8,2   138696  131658 /lib/x86_64-linux-gnu/libpthread-2.23.so
symcon    24410            root  mem    REG    8,2   162632  131547 /lib/x86_64-linux-gnu/ld-2.23.so
symcon    24410            root  mem    REG    8,2   126840  131171 /lib/x86_64-linux-gnu/libudev.so.1.6.4
symcon    24410            root  mem    REG    8,2    26258 4851990 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
symcon    24410            root    4w   REG    8,2  9832326 2884186 /var/log/symcon/logfile1516081004.log

Gruß Robert

Hallo nochmal,

ich hab eine Vermutung, ich habe einen ESP32 der mir per HTTP Request die Temperatur schickt, davon seh ich in den Netzwerkverbindungen tausende. Offensichtlich wird da die Verbindung nicht richtig geschlossen, unter Windows hatte ich das Problem irgendwie nicht.

der ESP32 macht da recht wenig:

  // This will send the request to the server
  client.print(String("GET ") + url + " HTTP/1.1
" +
                "Host: " + HOMEMATIC_SERVER + "
" +
                "Connection: close

");
  unsigned long timeout = millis();
  while (client.available() == 0) {
      if (millis() - timeout > 5000) {
          Serial.println(">>> Client Timeout !");
          client.stop();
          return;
      }
  }

Fehler gefunden, da fehlte ein client.close, neuer code:


// This will send the request to the server
client.print(String("GET ") + url + " HTTP/1.1
" +
"Host: " + HOMEMATIC_SERVER + "
" +
"Connection: close

„);
unsigned long timeout = millis();
while (client.available() == 0) {
if (millis() - timeout > 5000) {
Serial.println(“>>> Client Timeout !");
client.stop();
return;
}
client.stop();
}


auf der IP-Symcon nehme ich das damit entgegen:

<?

	function requireParam($check, $parameterType, $parameterName){
	    if(!isset($check) || empty($check)){
	        $return['code'] = "MISSING_PARAMETER";
	        $return['message'] = "Missing $parameterType parameter $parameterName!";
	        die(json_encode($return));
	    }
	}
	
	
	requireParam($_GET['deviceId'], "GET", "deviceId");
	requireParam($_GET['value_temp'], "GET", "value_temp");
	requireParam($_GET['value_humd'], "GET", "value_humd");
	
	$deviceId = $_GET['deviceId'];
	$value_temp = $_GET['value_temp'];
	$value_humd = $_GET['value_humd'];
	
	
	switch ($deviceId) {
		case 1:
			break;
		case 2:
		  break;
		case 31:
			SetValueFloat(21949 /*[Verwaltung\01 Hs7\Keller\Flur\Temperatur]*/, $value_temp);
			SetValueFloat(27841 /*[Verwaltung\01 Hs7\Keller\Flur\Feuchtigkeit]*/, $value_humd);
			$deviceId = "Keller Flur Temperatursensor";		
		   break;
		case 50:
			SetValueFloat(33087 /*[Verwaltung\01 Hs7\UrlaubsTemperatur]*/, $value_temp);
			SetValueFloat(10964 /*[Verwaltung\01 Hs7\UrlaubsFeuchtigkeit]*/, $value_humd);
			$deviceId = "Office Temperatursensor";
			break;		   
		default:
		   break;
	}
	
	IPS_LogMessage($_IPS['SELF'], "Connect from " .$deviceId . " with Temp: " . $value_temp . " and Humidity: " . $value_humd);
	
	echo "Temp: " . $value_temp . " Humidity: " . $value_humd . " DeviceID: " . $deviceId;



?>

Unter Windows war es kein Problem das der Socket nicht geschlossen wurde, unter Linux scheint sich das aufzuschaukeln bis keine weiteren Connects mehr möglich sind.

Evtl könnt ihr ja was fixen :slight_smile: Wenn noch Fragen offen sind, fragen :slight_smile:

Gruß Robert

Und noch ein Nachtrag, gnarv … es werden offensichtlich trotzdem nicht immer alle Verbindungen ordentlich geschlossen, es sammeln sich also schon wieder welche an … ich glaub das könnte evtl ein bug sein …

Hi!

Ich hänge mich hier mal dran - hatte eben auch bei jemand die folgenden Fehler und IPS musste neu gestartet werden:

10.10.2018 18:54:11*| Register Variable*| <br />
<b>Warning</b>:  Unknown: failed to open stream: Too many open files in <b>Unknown</b> on line <b>0</b><br />
<br />
<b>Fatal error</b>:  Unknown: Failed opening required '/usr/share/symcon/scripts/__autoinclude.inc.php' (include_path='.:') in <b>Unknown</b> on line <b>0</b><br />


10.10.2018 18:58:53*| ScriptEngine*| Result for Event XXXXX
<br />
<b>Warning</b>:  Unknown: failed to open stream: Too many open files in <b>Unknown</b> on line <b>0</b><br />
<br />
<b>Fatal error</b>:  Unknown: Failed opening required '/usr/share/symcon/scripts/__autoinclude.inc.php' (include_path='.:') in <b>Unknown</b> on line <b>0</b><br />

>>> XXXXX steht für verschiedene Events. Kommt bei allen möglichen.

Es gingen keine Socket-Verbindungen mehr und auch keine Push-Nachrichten über „WFC_PushNotification“ und Scripte die irgendwelche Netzwerkverbindungen aufbauen über verschiedene Wege, …

Da ich IPS nicht in dem Zustand lassen konnte sondern direkt neustarten musste, konnte ich leider keine weiteren Recherchen machen.

Installiert ist das aktuelle IPS v5 stable auf aktuellem Ubuntu Server 18 LTS.

Viele Grüße,
Chris

PS: Da hängen auch so einige Arduino dran, allerdings sind diese dauerhaft mit Server-Sockets im IPS verbunden und verbinden sich nicht dauernd neu. Aber auch sonst wird hier sehr viel im Netzwerk gemacht/gesteuert über alle möglichen Wege.