writing /opt/fhem/FHEM/controls_fhem.txt failed

Begonnen von Steffen, 06 Mai 2016, 11:54:56

Vorheriges Thema - Nächstes Thema

Steffen

#15

root@cubietruck:~# ps aux | grep fhem
root       949  0.3  0.3  21264  7260 ?        Ssl  May07  13:50 /usr/bin/perl /opt/fhem/lepresenced -d -a 0.0.0.0
fhem      4221  0.0  0.6  28504 12656 ?        S    May08   1:39 python /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
fhem      4291  0.0  0.6  28504 12656 ?        S    May08   1:39 python /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
fhem      6630  2.5  3.2  72568 66176 ?        S    May09  42:25 perl fhem.pl fhem.cfg
fhem      6634  0.0  0.0      0     0 ?        Z    May09   0:00 [perl] <defunct>
fhem      6635  0.0  0.0      0     0 ?        Z    May09   0:00 [perl] <defunct>
fhem      7665  0.0  0.6  37652 13324 ?        Sl   May09   0:57 python /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
root     10198  0.0  0.0   3668   764 pts/0    R+   10:02   0:00 grep fhem


Im Anhang das Log vom Update Force.

gebe die vollkommen recht, hatte nur chmod 777 um Brechtigungsprobleme auszuschließen!

Mfg Steffen

automatisierer

ohne Fehlermeldung?

hast du noch irgendwelche attr fürs update gesetzt?

Wernieman

Nochmals meine Frage:
Unter welchem user läuft fhem, bzw. soll laufen?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Steffen

Zitat von: Wernieman am 10 Mai 2016, 10:11:59
Nochmals meine Frage:
Unter welchem user läuft fhem, bzw. soll laufen?


root@cubietruck:~# ps aux | grep fhem
root       949  0.3  0.3  21264  7260 ?        Ssl  May07  13:50 /usr/bin/perl /opt/fhem/lepresenced -d -a 0.0.0.0
fhem      4221  0.0  0.6  28504 12656 ?        S    May08   1:39 python /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
fhem      4291  0.0  0.6  28504 12656 ?        S    May08   1:39 python /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
fhem      6630  2.5  3.2  72568 66176 ?        S    May09  42:25 perl fhem.pl fhem.cfg
fhem      6634  0.0  0.0      0     0 ?        Z    May09   0:00 [perl] <defunct>
fhem      6635  0.0  0.0      0     0 ?        Z    May09   0:00 [perl] <defunct>
fhem      7665  0.0  0.6  37652 13324 ?        Sl   May09   0:57 python /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
root     10198  0.0  0.0   3668   764 pts/0    R+   10:02   0:00 grep fhem


Ich hoffe das meintest du?!?

Mfg Steffen

Wernieman

Du hast ein Problem:
fhem      6634  0.0  0.0      0     0 ?        Z    May09   0:00 [perl] <defunct>
fhem      6635  0.0  0.0      0     0 ?        Z    May09   0:00 [perl] <defunct>


2 laufen 2! Zombis in Deinem System. Gans einfach am "Z" zu sehen.

Ich würde erstmal dieses "Problem" lösen:

Wer hat diese gestartet?
ps -o ppid 6634
ps -o ppid 6635


Eventuell must Du erst den Master dieser Prozesse "killen"

Dann die nächste Frage, warum hast Du 3 yowsup-cli Prozesse?

Und .. nur kenne ich mich damit nicht aus ... muß der lepresenced-Deamon wirklich als root laufen?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Steffen

Hallo,

hier der Master glaube ich:

root@cubietruck:~# ps -o ppid 6634
PPID
6630
root@cubietruck:~# ps -o ppid 6635
PPID
6630



root@cubietruck:~# ps xa
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:19 /sbin/init sunxi_no_mali_mem_reserve
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:08 [ksoftirqd/0]
    6 ?        S      0:00 [migration/0]
    7 ?        S      0:00 [migration/1]
    8 ?        S      0:00 [kworker/1:0]
    9 ?        S      0:20 [ksoftirqd/1]
   10 ?        S<     0:00 [cpuset]
   11 ?        S<     0:00 [khelper]
   12 ?        S      0:00 [kdevtmpfs]
   13 ?        S<     0:00 [netns]
   14 ?        S      0:03 [sync_supers]
   15 ?        S      0:00 [bdi-default]
   16 ?        S<     0:00 [kintegrityd]
   17 ?        S<     0:00 [crypto]
   18 ?        S<     0:00 [kblockd]
   19 ?        S      0:00 [khubd]
   20 ?        S<     0:00 [cpufreq_uevent]
   22 ?        S<     0:00 [cfg80211]
   24 ?        S<     0:00 [rpciod]
   25 ?        S      0:00 [khungtaskd]
   26 ?        S      0:00 [kswapd0]
   27 ?        SN     0:00 [ksmd]
   28 ?        S      0:00 [fsnotify_mark]
   29 ?        S      0:00 [ecryptfs-kthrea]
   30 ?        S<     0:00 [nfsiod]
   31 ?        S<     0:00 [cifsiod]
   32 ?        S      0:00 [jfsIO]
   33 ?        S      0:00 [jfsCommit]
   34 ?        S      0:00 [jfsCommit]
   35 ?        S      0:00 [jfsSync]
   36 ?        S<     0:00 [xfsalloc]
   37 ?        S<     0:00 [xfs_mru_cache]
   38 ?        S<     0:00 [xfslogd]
   52 ?        S      0:00 [nandd]
   53 ?        S      0:00 [nfmtd]
   54 ?        S      0:00 [scsi_eh_0]
   55 ?        S      1:30 [kworker/u:1]
   56 ?        S<     0:00 [bond0]
   57 ?        S      0:11 [kworker/u:2]
   64 ?        S<     0:00 [kmpathd]
   65 ?        S<     0:00 [kmpath_handlerd]
   66 ?        S      4:27 [cfinteractive]
   67 ?        S<     0:00 [binder]
   68 ?        S<     0:00 [codec_resume]
   69 ?        S      2:16 [hdmi proc]
   70 ?        S<     0:00 [deferwq]
  101 ?        S      0:00 [mmcqd/0]
  128 ?        S      0:00 [jbd2/sda1-8]
  129 ?        S<     0:00 [ext4-dio-unwrit]
  164 ?        S      0:00 [kauditd]
  166 ?        Ss     0:26 /lib/systemd/systemd-journald
  170 ?        Ss     0:00 /lib/systemd/systemd-udevd
  171 ?        S<     0:00 [krfcommd]
  181 ?        S      0:14 [flush-8:0]
  195 ?        S      0:00 [dhd_cfg80211_ev]
  197 ?        S      0:00 [dhd_watchdog]
  202 ?        S      0:00 [dhd_dpc]
  203 ?        S      0:00 [dhd_sysioc]
  254 ?        S<     0:00 [hci0]
  299 ?        S      5:00 [kworker/1:2]
  324 ?        S      0:00 [jbd2/mmcblk0p1-]
  325 ?        S<     0:00 [ext4-dio-unwrit]
  506 ?        Ss     3:32 /usr/lib/bluetooth/bluetoothd
  507 ?        Ss     0:59 /usr/sbin/haveged --Foreground --verbose=1 --write=10
  508 ?        Ss     0:00 /usr/sbin/cron -f
  509 ?        Ss     0:04 /usr/sbin/sshd -D
  511 ?        Ss     0:02 /lib/systemd/systemd-logind
  556 ?        Ss     0:00 /usr/bin/dbus-daemon --system --address=systemd: --no
  573 ?        Ss     0:00 /usr/sbin/lircd --driver=devinput --device=/dev/input
  596 ?        Ss     0:43 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -c /var/lib/nt
  598 ?        Ssl    0:04 /usr/sbin/rsyslogd -n
  614 tty1     Ss+    0:00 /sbin/agetty --noclear tty1 linux
  615 ttyS0    Ss+    0:00 /sbin/agetty -L 115200 ttyS0 screen.linux
  657 ?        S      1:23 /usr/bin/perl /usr/sbin/presenced -d -P /var/run/pres
  668 ?        Sl    13:19 /usr/bin/perl /usr/sbin/collectord -c /etc/collectord
  751 ?        Ss     0:18 /usr/sbin/nmbd -D
  763 ?        Ss     0:33 /usr/sbin/smbd -D
  766 ?        S      0:03 /usr/sbin/smbd -D
  853 ?        Ss     0:00 /lib/systemd/systemd --user
  854 ?        S      0:00 (sd-pam)
  949 ?        Ssl   14:08 /usr/bin/perl /opt/fhem/lepresenced -d -a 0.0.0.0
  951 ?        S      2:12 hcitool -i hci0 lescan --duplicates
4221 ?        S      1:42 python /opt/yowsup-master/yowsup-cli demos -c /opt/yo
4291 ?        S      1:42 python /opt/yowsup-master/yowsup-cli demos -c /opt/yo
6630 ?        S     45:08 perl fhem.pl fhem.cfg
6634 ?        Z      0:00 [perl] <defunct>
6635 ?        Z      0:00 [perl] <defunct>
7665 ?        Sl     1:01 python /opt/yowsup-master/yowsup-cli demos -c /opt/yo
10314 ?        S      0:00 [kworker/0:0]
10335 ?        S      0:00 [kworker/0:1]
10345 ?        Ss     0:00 sshd: root@pts/0
10432 pts/0    Ss     0:00 -bash
10440 pts/0    R+     0:00 ps xa


Warum yowsup 3x läuft kann ich leider auch nicht sagen, hatte es aus der Anleitung Installiert und dann nur meinen schlüssel den ich aus dem alten System per Editor wieder eingefügt, besser kenne ich mich leider auch nicht damit aus!

Soll ich die Prozesse erstmal killen?

Mfg Steffen

automatisierer

#21
also ich habe auch solche "Zombies" und nicht die mords Ahnung von Linux, aber wenn du den Hauptprozess (der die Zombies mal gestartet hat) abschießt, schießt du damit definitv fhem ab.

und ich behaupte einfach mal so frech weg, dass die Zombies auch nicht die Ursache deines Problems sind.


hattest du nun irgendwelche Attribute unter global gesetzt, die update betreffen?
ein "attr global exclude_from_update ..." müsste da schon mal stehen... evtl. noch weitere?

Wernieman

Fahre mal Dein fhem (nur fhem) sauber herunter. Dann würde ich "aufräumen" und wider sauber starten ... eventuell hat einer dieser Prozesse die fhem.cfg "geblockt"

Edit:

Es kann, muß aber nicht die Ursache haben. Aber Fehlersuche auf einem "unsauberen" System ... ist schwierig.

Entsprechend möchte ich "automatisierer" Aussage nicht unterschrieben
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

automatisierer

#23
bananapi@bapiFHEM ~ $ ps aux|grep fhem
fhem       580  9.3  5.1  51236 45876 pts/0    S    12:29   0:49 perl fhem.pl fhem.cfg
fhem       604  0.0  0.0      0     0 pts/0    Z    12:29   0:00 [perl] <defunct>
fhem       606  0.0  0.0      0     0 pts/0    Z    12:29   0:00 [perl] <defunct>
fhem       607  0.0  0.0      0     0 pts/0    Z    12:29   0:00 [perl] <defunct>
fhem       610  0.0  0.0      0     0 pts/0    Z    12:29   0:00 [perl] <defunct>
fhem       612  0.0  0.0      0     0 pts/0    Z    12:29   0:00 [perl] <defunct>
bananapi   775  0.0  0.1   3616   916 pts/0    S+   12:38   0:00 grep --color=auto fhem
bananapi@bapiFHEM ~ $ sudo service fhem stop
Stopping fhem...
bananapi@bapiFHEM ~ $ ps aux|grep fhem
bananapi   801  0.0  0.0   3612   852 pts/0    S+   12:38   0:00 grep --color=auto fhem
bananapi@bapiFHEM ~ $ sudo service fhem start
Starting fhem...
bananapi@bapiFHEM ~ $ ps aux|grep fhem
fhem       812 69.2  4.0  42380 36700 pts/0    S    12:38   0:08 perl fhem.pl fhem.cfg
fhem       838  0.4  0.0      0     0 pts/0    Z    12:38   0:00 [perl] <defunct>
fhem       839  0.4  0.0      0     0 pts/0    Z    12:38   0:00 [perl] <defunct>
fhem       842  0.4  0.0      0     0 pts/0    Z    12:38   0:00 [perl] <defunct>
fhem       843  0.4  0.0      0     0 pts/0    Z    12:38   0:00 [perl] <defunct>
bananapi   847  0.0  0.1   3616   916 pts/0    S+   12:39   0:00 grep --color=auto fhem
bananapi@bapiFHEM ~ $


so schaut das bei mir aus, keinen Plan warum diese toten Prozesse da sind, aber die verschwinden mit dem stoppen von FHEM und tauchen mit nem Neustart wieder auf...

EDIT:
daher kommen die Zombies bei mir:

2016.05.10 12:39:56 1: Timeout for PRESENCE_DoLocalPingScan reached, terminated process 843
2016.05.10 12:39:56 1: Timeout for PRESENCE_DoLocalPingScan reached, terminated process 842
2016.05.10 12:39:56 1: Timeout for PRESENCE_DoLocalPingScan reached, terminated process 839
2016.05.10 12:39:56 1: Timeout for PRESENCE_DoLocalPingScan reached, terminated process 838

viegener

#24
Zitat von: Steffen am 10 Mai 2016, 06:41:13
Hallo,


Habe gerade doch was gefunden im Log und zwar das hier:


2016.05.10 06:35:32 1:   - feature: FBAHAHTTP module as replacement for the deprecated FBAHA
[color=red]2016.05.10 06:35:32 1: PERL WARNING: Use of uninitialized value $written in numeric ne (!=) at /opt/fhem/FHEM/98_update.pm line 546.

könnte diese Fehlermeldung was damit zu tun haben?


Ja genau diese Fehlermeldung ist das Problem. Die Feststellung der Dateigrösse (in perl "-s") liefert undef zurück (anstatt die Anzahl der Bytes in der Datei)  und dann geht der Vergleich mit der Menge der Daten schief (Zeile 546 in Update) und der Fehler wird geworfen. Allerdings wird wohl von -s keine Fehlermeldung erzeugt, denn die ist in der Meldung leer...

Also müsste festgestellt werden warum Dein perl bei "-s" auf die datei undef ohne Fehlermeldung zurückliefert.

Die Zombies des FHEM-Prozesses sind sicher etwas was erstmal entfernt sein sollte, da nicht sicher ist welchen Einfluss das haben kann. Für den Moment wäre es vielleicht gut den cubietruck mal komplett neu zu starten und mit frisch gestartetem fhem zu schauen ob der update durchläuft?

Wenn das nicht passiert könnte man mit Debug-Ausgaben im Updatemodul schauen was genau passiert und warum die Dateigrösse nicht bestimmt wird.

Frage: Lief FHEM auch schon unter perl 5.20 auf dem alten Rechner?

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Prof. Dr. Peter Henning

Zitatund ich behaupte einfach mal so frech weg, dass die Zombies auch nicht die Ursache deines Problems sind.

Das halte ich tatsächlich für eine sehr gewagte Aussage von jemandem, der nach eigenem Bekunden nicht die "mords" Ahnung hat.

Schau mal bei Google unter "Linux zombies blocking files" => mehr als 1 Mio Links...(Achtung, "Linux" nicht vergessen, sonst landet bei menschlichen Zombies...)

LG

pah


viegener

Was passiert denn wenn Du in fhemweb (im Browser) folgendes Kommando eingibst:

{ my $test = -s "/opt/fhem/FHEM/controls_fhem.txt";; return "Result: ".(defined($test)?$test:"<undef>") }

Damit könnte man eingrenzen, ob das Problem nur während des Updates mit der Datei oder generell auftaucht?

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Steffen

Zitat von: viegener am 10 Mai 2016, 19:18:12
Was passiert denn wenn Du in fhemweb (im Browser) folgendes Kommando eingibst:

{ my $test = -s "/opt/fhem/FHEM/controls_fhem.txt";; return "Result: ".(defined($test)?$test:"<undef>") }

Damit könnte man eingrenzen, ob das Problem nur während des Updates mit der Datei oder generell auftaucht?

Guten Morgen,

bei der Eingabe bekomme ich das als Antwort:
Result: 115492

automatisierer

ich sags nochmal: kann es möglich sein, dass du irgendwelche attribute gesetzt hast die Update betreffen, z.B. irgendwelche Standard-Ordner geändert, die nun nach dem Umzug auf das neue System nicht mehr stimmen?

viegener

Zitat von: Steffen am 11 Mai 2016, 06:59:30
Guten Morgen,

bei der Eingabe bekomme ich das als Antwort:
Result: 115492

Damit ist jetzt zumindest klar, dass generell "-s" funktioniert und einen sinnvollen Wert zurückliefert.
Jetzt bleibt zu klären, warum direkt nach dem Schreiben auf dieselbe Datei undef zurückgeliefert wird.

Ist denn der Server inzwischen neu gestartet (und ohne Zombieprozesse)?

Hast Du direkt nach dem Start (wiederum ohne Zombies) einmal den update laufen lassen ?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können