XBMC/Kodi: Fehler in ArtworkRotationThread [Erno-2] Name or service not known

Nach dem Hochfahren von Raspbmc erhielt ich breits in der XBMC 13-er Version sowie auch in der 14-er, nach dem Update auf Kodi, immer noch folgendes Popup mit der Fehlermeldung:

Fehler in ArtworkRotationThread
[Erno-2] Name or service not known

Weiterhin gab es immer wieder Notifications in der rechten unteren Ecke bzgl. fehlgeschlagener Serververbindungen, die aber nach einiger Zeit verschwinden.

Da man die immer wegdrücken muss und das ziemlich nervig ist, habe ich nach einer Lösung des Problems gesucht. Im Logfile, in ~/.kodi/temp/kodi.log sah das ganze so aus, was wohl nur die verschwindenen Notifications in der Ecke unten rechts beschreibt:

18:21:21 T:2903905344  NOTICE: ===== XBMB3C START =====
18:21:21 T:2903905344  NOTICE: XBMB3C -> running Python: sys.version_info(major=2, minor=7, micro=3, releaselevel='final', serial=0)
18:21:21 T:2903905344  NOTICE: XBMB3C -> running XBMB3C: 0.9.764
18:21:21 T:2903905344  NOTICE: 14.0 Git:2014-12-24-e044d5a-dirty
18:21:21 T:2903905344  NOTICE: XBMB3C -> Platform: Linux/RPi
18:21:21 T:2903905344  NOTICE: XBMB3C -> LogLevel:  0
18:21:21 T:2903905344  NOTICE: XBMB3C 0 -> Version : 14.0 - {u'major': 14, u'tag': u'stable', u'minor': 0, u'revision': u'2014-12-24-e044d5a-dirty'}
18:21:21 T:2903905344  NOTICE: XBMB3C 1 -> XBMB3C Connection Manager Called
18:21:21 T:2903905344  NOTICE: XBMB3C 1 -> Getting Server Details from Network
18:21:21 T:2903905344   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.NameError'>
                                            Error Contents: global name 'socket' is not defined
                                            Traceback (most recent call last):
                                              File "/home/pi/.kodi/addons/plugin.video.xbmb3c/default.py", line 39, in <module>
                                                MainModule.MainEntryPoint()
                                              File "/home/pi/.kodi/addons/plugin.video.xbmb3c/resources/lib/MainModule.py", line 1621, in MainEntryPoint
                                                ConnectionManager().checkServer()
                                              File "/home/pi/.kodi/addons/plugin.video.xbmb3c/resources/lib/ConnectionManager.py", line 51, in checkServer
                                                serverInfo = self.getServerDetails()
                                              File "/home/pi/.kodi/addons/plugin.video.xbmb3c/resources/lib/ConnectionManager.py", line 117, in getServerDetails
                                                sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
                                            NameError: global name 'socket' is not defined
                                            -->End of Python script error report<--
18:21:22 T:2903905344 WARNING: CPythonInvoker(7, /home/pi/.kodi/addons/plugin.video.xbmb3c/default.py): the python script "/home/pi/.kodi/addons/plugin.video.xbmb3c/default.py" has left several classes in memory that we couldn't clean up. The classes include: N9XBMCAddon9xbmcaddon5AddonE
18:21:22 T:3038625792   ERROR: GetDirectory - Error getting plugin://plugin.video.xbmb3c/?content_type=video
18:21:22 T:3038625792   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.xbmb3c/?content_type=video) failed
18:21:22 T:2903905344  NOTICE: Thread BackgroundLoader start, auto delete: false
18:21:25 T:2903905344  NOTICE: Thread LanguageInvoker start, auto delete: false
18:21:25 T:2903905344  NOTICE: -->Python Interpreter Initialized<--

Durch ein bisschen googlen kommt man dann u.a. auf diese Seite:

http://forum.kodi.tv/showthread.php?tid=210375&pid=1853202#pid1853202

Hier wird beschrieben, dass man nur das Video Addon XBMB3C deaktivieren muss. Dazu hangelt man sich in Kodi wie folgt durch das Menü ausgehend vom Startbildschirm:

  • Optionen
  • Einstellungen
  • Addons
  • Aktivierte Addons
  • Video Addons
  • MediaBrowser
  • Deaktivieren

Man findet das Video Addon XBMB3C also unter dem Namen MediaBrowser. Nach dem Deaktivieren und einem Neustart ist die Fehlermeldung Geschichte.

Januar 5, 2015 · 2 Minuten

Mit Profile-Cleaner die Luft aus den Browserdatenbanken lassen

Inspiriert von demayas Post zum Profile-Cleaner habe ich den nun mal auf meine Firefox-Profile losgeglassen. Da er zum Vergleich aufgerufen hat, veröffentliche ich hier mein Ergebnis.

~$ profile-cleaner f
profile-cleaner v2.31

 Cleaning profile for firefox
 Cleaning search.sqlite                        done  -0 Mbytes
 Cleaning addons.sqlite                        done  -.09 Mbytes
 Cleaning formhistory.sqlite                   done  -.28 Mbytes
 Cleaning netpredictions.sqlite                done  -2.75 Mbytes
 Cleaning signons.sqlite                       done  -.02 Mbytes
 Cleaning healthreport.sqlite                  done  -0 Mbytes
 Cleaning youscrobble_new_yt.db                done  -0 Mbytes
 Cleaning kb-saver.db                          done  -0 Mbytes
 Cleaning ffixer.db                            done  -0 Mbytes
 Cleaning seamappa.db                          done  -0 Mbytes
 Cleaning content-prefs.sqlite                 done  -.02 Mbytes
 Cleaning lazarus-backup.sqlite                done  -.03 Mbytes
 Cleaning urlclassifier2.sqlite.old            done  -2.27 Mbytes
 Cleaning cookies.sqlite                       done  -1.42 Mbytes
 Cleaning formhistory.sqlite.old               done  -.53 Mbytes
 Cleaning readItLater.sqlite                   done  -.09 Mbytes
 Cleaning lazarus.sqlite                       done  -.03 Mbytes
 Cleaning places.sqlite                        done  -7.90 Mbytes
 Cleaning webappsstore.sqlite                  done  -11.21 Mbytes
 Cleaning ybookmarks.sqlite                    done  -0 Mbytes
 Cleaning permissions.sqlite                   done  -.08 Mbytes
 Cleaning extensions.sqlite                    done  -.06 Mbytes
 Cleaning urlclassifier3.sqlite.old            done  -17.06 Mbytes
 Cleaning formhistory.sqlite                   done  -0 Mbytes
 Cleaning signons.sqlite                       done  -0 Mbytes
 Cleaning healthreport.sqlite                  done  -0 Mbytes
 Cleaning content-prefs.sqlite                 done  -0 Mbytes
 Cleaning lazarus-backup.sqlite                done  -0 Mbytes
 Cleaning cookies.sqlite                       done  -.50 Mbytes
 Cleaning readItLater.sqlite                   done  -.09 Mbytes
 Cleaning lazarus.sqlite                       done  -0 Mbytes
 Cleaning places.sqlite                        done  -2.34 Mbytes
 Cleaning webappsstore.sqlite                  done  -.46 Mbytes
 Cleaning permissions.sqlite                   done  -0 Mbytes
 Cleaning extensions.sqlite                    done  -0 Mbytes

 Profile(s) for firefox reduced by 47.30 Mbytes.

Ich habe fast 50 MB gewonnen! Wow! Das hat sich gelohnt, wobei es sicherlich auch mit an meinen zwei Profilen liegt. Die Installation vom Profile-Cleaner war schnell erledigt und kann unter Arch Linux mit

yaourt -S profile-cleaner

durchgeführt werden.

September 4, 2014 · 2 Minuten

rsync zu bestimmtem SSH Port

Wenn man Daten via rsync zu einem Zielrechner synchronisieren möchte, der nicht auf dem Standard-SSH-Port 22 lauscht, muss man das rsync Kommando etwas anpassen. Der Ausschnitt aus der man page von rsync, der verrät wie es geht:

-e, --rsh=COMMAND
This option allows you to choose an alternative remote shell program to use for communication
between the local and remote copies of rsync. Typically, rsync is configured to use ssh by
default, but you may prefer to use rsh on a local network.
If  this option is used with [user@]host::module/path, then the remote shell COMMAND will be
used to run an rsync daemon on the remote host, and all data will be transmitted through that
remote shell connection, rather than through a direct socket connection to a running rsync
daemon on the remote host.  See the section "USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL
CONNECTION" above.
Command-line arguments are permitted in COMMAND provided that COMMAND is presented to rsync
as a single argument.  You must use spaces (not tabs or other whitespace) to separate the
command and args from each other, and you can use single- and/or double-quotes to preserve
spaces in an argument (but not backslashes).  Note that doubling a
single-quote inside a single-quoted string gives you a single-quote; likewise for double-
quotes (though you need to pay attention to which quotes your shell is parsing and which
quotes rsync is parsing).  Some examples:
    -e 'ssh -p 2234'
    -e 'ssh -o "ProxyCommand nohup ssh firewall nc -w1 %h %p"'
(Note that ssh users can alternately customize site-specific connect options in their
.ssh/config file.)
You can also choose the remote shell program using the RSYNC_RSH environment variable,
which accepts the same range of values as -e.
See also the --blocking-io option which is affected by this option.

Man kann also den Port wie folgt angeben:

rsync -e "ssh -p 12345" daten zielrechner:

Mit diesem Kommando wird die Datei daten auf den Zielrechner kopiert, dessen SSH Daemon auf Port 12345 lauscht.

Juli 29, 2014 · 2 Minuten

systemd: coredumps are no longer sent to the journal by default. To re-enable:

Gerade beim Update wieder an mir vorbeigescrollt und hier festgehalten für später:

(13/60) upgrading systemd [#######################################################################################################################] 100%
:: coredumps are no longer sent to the journal by default. To re-enable:
   echo >/etc/sysctl.d/50-coredump.conf \
       "kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e"
Juni 29, 2014 · 1 Minute

Weitere logcheck Regeln für amavisd-new, dovecot und postfix unter Debian Wheezy

Ich habe soeben wieder logcheck in Betrieb genommen und erst einmal die paar folgenden, weiteren Regeln hinzugefügt bzw. bestehende leicht modifiziert.


diff --git a/logcheck/ignore.d.server/amavisd-new b/logcheck/ignore.d.server/amavisd-new
index 2dce777..d0d8743 100644
--- a/logcheck/ignore.d.server/amavisd-new
+++ b/logcheck/ignore.d.server/amavisd-new
@@ -3,3 +3,5 @@
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ amavis\[[[:digit:]]+\]: \([-[:digit:]]+\) NOTICE: Not sending DSN in response to bulk mail from <[^.]*> containing [[:upper:] ]+, mail intentionally dropped$
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ amavis\[[[:digit:]]+\]: \([-[:digit:]]+\) INFO: unfolded [[:digit:]]+ illegal all-whitespace continuation lines$
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ amavis\[[[:digit:]]+\]: \([-[:digit:]]+\) WARN: address modified \((sender|recipient)\): <[^>]+> -> <[^>]+>$&lt;br />
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ amavis\[[[:digit:]]+\]: \([-[:digit:]]+\) Passed (BAD-HEADER-[:digit:]|UNCHECKED|CLEAN|SPAM(MY)?) {(RelayedInbound|RelayedTaggedInbound|RelayedOpenRelay|RelayedInternal)(,Quarantined)?},( LOCAL)? (\[[.[:digit:]]+\]:[[:digit:]]+ )?(\[[.:[:alnum:]]+\] )?<([._-=@[:alnum:]]+)?> -> <([._-=@[:alnum:]]+)?>,( quarantine: [._-=/@[:alnum:]]+,)? (Queue-ID: [[:alnum:]]+, )?(Message-ID: &lt;.*>, )?mail_id: [-_[:alnum:]]+, Hits: -?[.[:xdigit:]]*, size: [[:digit:]]+, queued_as: [_[:alnum:]]+, [[:digit:]]+ ms$&lt;br />
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ amavis\[[[:digit:]]+\]: \([-[:digit:]]+\) Blocked BANNED \(.*\) {(No)?BouncedInbound,Quarantined}, (\[[.[:digit:]]+\]:[[:digit:]]+ )?(\[[.:[:alnum:]]+\] )?<([._-=@[:alnum:]]+)?> -> <([._-=@[:alnum:]]+)?>, (quarantine: [[:alnum:]]/.*, )?(Queue-ID: [[:alnum:]]+, )?(Message-ID: &lt;[._-$%@[:alnum:]]+>, )?mail_id: [-_[:alnum:]]+, Hits: -?[.[:xdigit:]]*, size: [[:digit:]]+, (queued_as: [_[:alnum:]]+, )?[[:digit:]]+ ms$&lt;br />
diff --git a/logcheck/ignore.d.server/dovecot b/logcheck/ignore.d.server/dovecot
index 8f4dcb6..643a4e4 100644
--- a/logcheck/ignore.d.server/dovecot
+++ b/logcheck/ignore.d.server/dovecot
@@ -7,12 +7,13 @@
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot-auth: pam_unix\(dovecot:[[:alnum:]]+\): check pass; user unknown$
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot-auth: pam_ldap: error trying to bind as user \".*\" \(Invalid credentials\)$
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: (imap|pop3)-login: Login: [.[:alnum:]@-]+ \[[.:[:xdigit:]]+\]$
-^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: (pop3|imap)-login: Aborted login( \([[:digit:]]+ authentication attempts\))?: (user=<[-_.@[:alnum:]]+>, method=[[:alnum:]-]+, )?rip=[.:[:xdigit:]]+, lip=[.:[:xdigit:]]+(, (TLS( handshake)?|secured))?$
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: (pop3|imap)-login: Aborted login( \([[:digit:]]+ authentication attempts\))?: (user=<[-_.@[:alnum:]]+>, method=[[:alnum:]-]+, )?rip=[.:[:xdigit:]]+, lip=[.:[:xdigit:]]+(, (TLS( handshake)?|secured))?
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: (pop3|imap)-login: (Disconnected|Aborted login)(: Inactivity)? (\(no auth attempts\):|\(auth failed, [[:digit:]]+ attempts\): user=<[-_.@[:alnum:]]+>, method=PLAIN,|\(aborted authentication\): method=PLAIN,) rip=[.[:digit:]]+, lip=[.[:digit:]]+, (TLS|SSL)(( handshaking)?(: Disconnected)?|: SSL_read\(\) syscall failed: Connection reset by peer)?$
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: (pop3|imap)-login: Disconnected: ((Too many invalid commands|Inactivity): )?(user=<[-_.@[:alnum:]]+>, )?(method=[[:alnum:]-]+, )?rip=[.:[:xdigit:]]+, lip=[.:[:xdigit:]]+(, (TLS( handshake)?|secured))?$
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: (pop3|imap)-login: Disconnected: Logged out$
-^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: (pop3|imap)-login: Login: user=<[-_.@[:alnum:]]+>, method=[[:alnum:]-]+, rip=[.:[:xdigit:]]+, lip=[.:[:xdigit:]]+(, (TLS( handshake)?|secured))?$
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: (pop3|imap)-login: Login: user=<[-_.@[:alnum:]]+>, method=[[:alnum:]-]+, rip=[.:[:xdigit:]]+, lip=[.:[:xdigit:]]+(, mpid=[[:digit:]]+)?(, (TLS( handshake)?|secured))?
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: IMAP\([-_.@[:alnum:]]+\): Connection closed(: Connection reset by peer)?( bytes=[[:digit:]]+/[[:digit:]]+)?$
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: imap\([-_.@[:alnum:]]+\): Connection closed(: Connection reset by peer)?( in=[[:digit:]]+ out=[[:digit:]]+)?$
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: IMAP\([-_.@[:alnum:]]+\): Disconnected(: Logged out| for inactivity|: Disconnected| in [[:upper:]]+|: Too many invalid IMAP commands\.)?( bytes=[[:digit:]]+/[[:digit:]]+)?$
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: IMAP\([-_.@[:alnum:]]+\): Fixed index file /[-._/[:alnum:]&#038;]+/dovecot\.index: first_(recent|unseen)_uid_lowwater [[:digit:]]+ -> [[:digit:]]+$
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: POP3\([-_.@[:alnum:]]+\): Disconnected(: Logged out| for inactivity|: Disconnected)? top=[[:digit:]]+/[[:digit:]]+, retr=[[:digit:]]+/[[:digit:]]+, del=[[:digit:]]+/[[:digit:]]+, size=[[:digit:]]+$
@@ -22,5 +23,9 @@
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: auth\([[:alnum:]]+\): client in: CONT<hidden>
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: auth\([[:alnum:]]+\): client out: CONT[[:space:]]+[[:digit:]]+[[:space:]]+[[:alnum:]]+$
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: ssl-build-param: SSL parameters regeneration completed$
-^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: managesieve-login: Login: user=<[._[:alnum:]-]+>, method=[[:alnum:]-]+, rip=[.:[:xdigit:]]+, lip=[.:[:xdigit:]]+, (TLS( handshake)?|secured)$
-^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: MANAGESIEVE\([._[:alnum:]-]+\): (Connection closed|Disconnected: Logged out)( bytes=[[:digit:]]+/[[:digit:]]+)?$
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: managesieve-login: Login: user=<[._[:alnum:]-]+>, method=[[:alnum:]-]+, rip=[.:[:xdigit:]]+, lip=[.:[:xdigit:]]+, (TLS( handshake)?|secured)
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: managesieve\([._[:alnum:]-]+\): (Connection closed|Disconnected: Logged out)( bytes=[[:digit:]]+/[[:digit:]]+)?$
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: (pop3|imap)-login: (Disconnected|Aborted login)(: Inactivity)? \(
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: imap\([-_.@[:alnum:]]+\): Disconnected
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: lda\([-_.@[:alnum:]]+\): sieve: msgid=.*: stored mail into mailbox '[-.[:alnum:]]+'$
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ dovecot: auth-worker\([-_.[:alnum:]]+\): (pg|my)sql\([.:[:xdigit:]]+\): Connected to database [-_.[:alnum:]]+$
diff --git a/logcheck/ignore.d.server/movim b/logcheck/ignore.d.server/movim
new file mode 100644
index 0000000..64eef12
--- /dev/null
+++ b/logcheck/ignore.d.server/movim
@@ -0,0 +1,5 @@
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ movim\[[[:digit:]]+\]: movim.ERROR: Undefined (index|offseti|variable): [[:alnum:]]+ \[\] \[\]$
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ movim\[[[:digit:]]+\]: movim.ERROR: array_key_exists() expects parameter 2 to be array, boolean given \[\] \[\]$
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ movim\[[[:digit:]]+\]: movim.ERROR: Use of undefined constant FAIL_SAFE - assumed 'FAIL_SAFE' \[\] \[\]$
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ movim\[[[:digit:]]+\]: movim.ERROR: Trying to get property of non-object \[\] \[\]$
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ movim\[[[:digit:]]+\]: movim.ERROR: Invalid argument supplied for foreach() \[\] \[\]$
diff --git a/logcheck/ignore.d.server/postfix b/logcheck/ignore.d.server/postfix
index 7346aec..297771a 100644
--- a/logcheck/ignore.d.server/postfix
+++ b/logcheck/ignore.d.server/postfix
@@ -168,3 +168,4 @@
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ postfix/trivial-rewrite\[[[:digit:]]+\]: warning: valid_ipv4_hostaddr: invalid octet count: ?$
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ postfix/smtpd\[[[:digit:]]+\]: warning: TLS library problem: [[:digit:]]+:error:[[:xdigit:]]+:SSL routines:SSL23_GET_CLIENT_HELLO:(unknown protocol|http request):s23_srvr\.c:[[:digit:]]+:$
 ^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ postfix/verify\[[[:digit:]]+\]: cache [-._[:alnum:]/]+ full cleanup: retained=[[:digit:]]+ dropped=[[:digit:]]+ entries$
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ postfix/smtpd\[[[:digit:]]+\]: warning: hostname [-._[:alnum:]]+ does not resolve to address [.[:digit:]]+$

Updated 07.05.14

Updated 08.05.14

Updated 26.05.14

Updated 27.06.14 (also added movim logcheck rules)

Mai 2, 2014 · 4 Minuten