python pip läuft nicht mehr wegen OpenSSL lib Fehler

Heute hat mich pip mit der Fehlermeldung

AttributeError: 'module' object has no attribute 'SSL_ST_INIT'

begrüßt. Da nach diesem Fehler sämtliche pip Operationen nicht mehr funktionieren, muss man etwas nachhelfen. Genauer gesagt: zwei Python OpenSSL Module müssen entfernt und nochmal neu installiert werden:

rm -rf /usr/lib/python2.7/dist-packages/OpenSSL
rm -rf /usr/lib/python2.7/dist-packages/pyOpenSSL-0.15.1.egg-info
sudo pip install pyopenssl

Danach sollte pip wieder wie gewohnt funktionieren.

PS: bitte achte drauf, dass du die korrekte Python Version bereinigst, das gleiche gilt für die pyOpenSSL Version!

Am einfachsten findest du die Version heraus, indem du dir per

which pip

den Pfad zu pip geben lässt, dann mit einem vi/nano /[PATH_TO_PIP]/pip in der obersten Zeile anschaust, welcher Interpreter verwendet wird, diesen Pfad kopierst und dann mit

/PATH_TO_PYTHON/python --version

die korrekte Version herausbekommst.

Freenas s.m.a.r.t service (smartd) startet einfach nicht

In meiner Freenas Installation wurde ich vor kurzem darauf hingewiesen, dass der smartd Service nicht läuft. Ich dachte nach einem Reboot gibt sich das, war aber natürlich nicht der Fall.

Nachdem ich zunächst auf der Shell im Freenas ein

smartd -d

ausgeführt hatte, startete der smartd Service im Debug Modus und listete mir auf, was er tat. Und da war auch schon die entsprechende Fehlermeldung zu sehen:

Device: /dev/da0, unable to autodetect device type
Unable to register device /dev/da0 (no Directive -d removable). Exiting.

Mittels

camcontrol devlist

war dann schnell klar, dass die SD Karte, auf der mein Freenas System läuft, das Problem verursachte.

Die Problemlösung ist etwas unkonventionell, aber in meinem Fall ist sie ok: die SD Karte braucht keine SMART Überwachung.

Also einfach die Freenas Weboberfläche aufgerufen, und dort unter “Speicher –> zeige Festplatten” die Platte ausgewählt und per “Edit” Button das Häkchen bei “S.M.A.R.T aktivieren” raus nehmen:

Nach dem Speichern dieser Änderung lief der smartd sofort wieder 🙂

Python MySQL connector liefert in einer Endlossschleife immer das gleiche Query Ergebnis

Für ein Projekt habe ich einen Runner laufen, der in bestimmten Intervallen eine MySQL Datenbank abfragt, ob es neue Jobs für ihn zu tun gibt. Letztendlich handelt es sich einfach um eine Endlos-While-Schleife, in der immer wieder die Query ausgeführt wird.

Das Problem war aber nun: der Runner hat im aktuellen Lauf scheinbar immer nur das Ergebnis des ERSTEN Durchlaufs der Schleife aus dem Cache gelesen. Dabei handelt es sich wohl nicht um einen Fehler auf Python Seite, sondern in MySQL selbst. Die Lösung ist zwar technisch nicht gerade schön gelöst, aber sie funktioniert: man muss einfach nur die Autocommit-Funktion für die aktuelle Verbindung zum MySQL Server aktivieren. Und das geht so:

cnx = mysql.connector.connect(...)
cnx.autocommit = True

Durch dieses Setting wird dem MySQL Server ein “set autocommit=1;” übertragen, was dann dazu führt, dass der Query Cache komplett umgangen wird.

[Quicktip] Adobe Photoshop Lightroom 6 / CC stürzt in OSX direkt beim Start ab

Nachdem ich mich sehr auf das neue Lightroom Update über die Creative Cloud gefreut hatte, war die Ernüchterung sehr schnell da: Die App stürzt immer kurz nach dem Start ab. Zunächst wurde mein Katalog ohne Probleme konvertiert, dann kam der Lightroom Splashscreen und kurz danach erschien der Apple Crashreport. Dieser enthielt folgende Meldung:

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000348 

Der Fehler tritt bei jedem Start von Lightroom auf. Da Adobe bisher noch keinen Fix für das Problem bereit gestellt hat, möchte ich hier zumindest einen Workaround zeigen:

Startet Lightroom mit gedrückter Alt Taste, sodass der Auswahldialog für den zu öffnenden Katalog erscheint. In diesem Dialog wählt ihr einfach euren bestehenden Katalog und klickt auf „öffnen“. Nun sollte Lightroom wie gewohnt laufen. Sollte das auch nicht funktionieren, erstellt über den Dialog einen neuen Katalog, öffnet diesen und klickt dann direkt in Lightroom auf Datei – „Katalog öffnen“ und wählt da euren „alten“ Katalog aus.

[Quicktip] Symfony2 / Doctrine Schema Update funktioniert nicht und liefert keine Ausgabe

Die Logging Mechanismen von Symfony2 sind manchmal nicht ganz durchschaubar: wenn irgendwas in den Entities nicht stimmt, kann es sein, dass die Schema Validierung oder auch das Schema Update beim Aufruf des entsprechenden Konsolenkommandos kommentarlos beendet werden. In diesem Fall prüft intensiv, dass die Namespaces und auch die Annotations innerhalb der Entities sowie den Repositories korrekt sind!

[Quicktip] Symfony2 Framework läuft nach Update auf Version 2.3.3 nicht mehr

Nachdem ich eine Symfony2 Installation auf die neueste Version 2.3.3 per Composer geupdatet hatte, bekam ich auf dem Zielsystem per app/console immer wieder die Fehlermeldung

[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
  The parameter "kernel.trusted_hosts" must be defined.

präsentiert. Scheinbar haben diesen Fehler nicht allzu viele Leute, eine Google Suche brachte keine Ergebnisse. Die Formulierung der Fehlermeldung ist auch relativ ungünstig, denn es fehlt kein Parameter, sondern ein Config Eintrag. Kurz gesagt, müsst ihr folgende Zeile in euere app/config/config.yml Datei eintragen:

...
framework:
    ...
    fragments:       ~
    trusted_hosts:   ~
...

Anschließend sollte die Symfony2 Console sowie das System an sich wieder laufen.

[Quicktip] iTunes Match meldet Fehler 4002 und kann nicht mehr synchronisieren

Dieser Fehler hat mich schon länger beschäftigt, die Lösung ist aber dann doch relativ einfach. Er kommt durch “Genius” zustande und kann sehr leicht so behoben werden: “iTunes Match deaktiveren” im Menüpunkt “Store” auswählen, anschließend iTunes Match wieder aktivieren. Bei mir war das Problem damit behoben 😉

[Quicktip] Magsafe 65W Netzteil an Macbook Retina lädt nicht

Auch wenn das 15″ Macbook Retina (wie auch das 13″) mit einem Magsafe2 Netzteil ausgestattet ist, kann man es mittels Magsafe Adapter auch mit einem alten Macbook Netzteil betreiten. Das funktioniert selbst mit dem deutlich schwächeren 65W Netzteil noch, auch wenn das evtl. dann unter Vollast nicht mehr lädt, sondern nur noch den Rechner mit Strom für den Betrieb versorgt. Aber das soll hier gar nicht das Thema sein.

Da das Netzteil eigentlich nicht unterstützt wird, kann es ab und zu dazu führen, dass das die Ladeelektronik (die Macbook Netzteile sind keine simplen Stromspender sondern technisch sehr ausgefeilt) nicht korrekt arbeitet. Das äußert sich dann darin, dass die LED des Netzteiles gar nicht oder nur extrem schwach leuchtet – in einigen Fällen fing die LED bei mir auch an zu flackern bzw. blinken. In diesem Zustand wird das Macbook noch mit Strom versorgt und verliert keine Akku Leistung, jedoch wird es auch nicht mehr aufgeladen. Da mir dies bereits öfter passiert ist, habe ich folgende Dinge bemerkt, die das Problem lösen können:

  • die einfachste Methode ist es, das Netzteil abzuziehen und wieder an das Macbook zu stecken. In eineigen Fällen reicht dies bereits.
  • das Netzteil sowohl von der Steckdose als auch vom Macbook trennen und für 60 Sekunden getrennt halten. Anschließend alles wieder anstecken.
  • und der Trick der bei mir bisher immer geholfen hat: das Netzteil einfach kurz an ein Macbook hängen, für das es ausgelegt ist. Sobald dort die LED anfängt zu leuchten kann man es wieder abziehen und zurück an das Retina Macbook stecken. Schon sollte es wieder laden.

In jedem Fall solltet ihr während derartiger Probleme das Macbook geschlossen halten, damit es so wenig Strom wie möglich verbraucht.

[Quicktip] Hosts Datei unter Windows 7 wird ignoriert

Durch solche Probleme werde ich immer wieder erinnert, warum ich einen Mac und keine Windows Kiste verwende. Aber egal 😉

Die Hosts Datei eines Windows Systems befindet sich ja bekanntlich unter C:\Windows\System32\drivers\etc\hosts – eine direkte Bearbeitung ist so nicht möglich, da dafür Administratorrechte benötigt werden. Hinzu kommt, dass der Windows Editor so intelligent ist eine keine Dateien ohne Endung zulässt. Mittlerweile wird die Endung einfach nicht mehr angezeigt, sie ist aber trotzdem da 😉

Aber nun die einfache Möglichkeit, wie es funktioniert:

  • Im Startmenü nach “Editor” suchen und das Ergebnis mit rechts anklicken und “Als Administrator ausführen” auswählen.
  • Datei – öffnen und dort den Pfad C:\Windows\System32\drivers\etc\ heraussuchen (beim Filter “alle Dateien” auswählen nicht vergessen)
  • Hosts Datei auswählen
  • eure Änderungen durchführen
  • originale Hosts Datei löschen
  • im Editor “speichern unter” wählen und prüfen, ob ihr noch im richtigen Pfad seid. Im Filter wieder “alle Dateien” auswählen und als Dateiname hosts wählen und auf speichern klicken
  • nun im Explorer prüfen, ob beim Dateityp der Hosts Datei “Textdatei” steht – das war bei mir der Fall
  • wenn dem so ist, die cmd Box auch als Administrator starten, in den Pfad wechseln und ein “rename hosts.txt hosts” ausführen.
  • fertig.