Im Vergleich mit anderen Leuten, dachte ich immer, sind meine Ansprüche an Software meistens gering und ich kann mich besser eher mit irgendwelchen Mätzchen arrangieren. Seit ich twitter benutze, hat sich das offensichtlich geändert. Ich hab vermutlich alle gegenwärtig über apt zu bekommende linux-Versionen probiert und keinen client gefunden, der nicht irgendein Haar in der Suppe hat. Manche waren länger im Einsatz, zum Beispiel qwit und zur Zeit hotot, andere sind sofort nach dem ersten Ausprobieren wieder von der Platte geflogen. Ich verwende kein KDE/gnome, daher mach ich um explizit für diese Desktop-Umgebungen entwickelte Clients gleich einen Bogen. qwit, zum Beispiel, hat tweets oft verkürzt in der timeline, obwohl weit weg von der 140-Zeichen-Grenze. Da gerade hashtags und URLs am Ende eines Tweets stehen, ist das unendlich nervig. hotot hab ich dabei noch nicht erwischt, aber der client ist im Gegensatz zur Meinung des Autors nicht wirklich lightweight (baut auf webkit auf) und dem fehlt ein mir langsam lieb gewordenes feature von qwit: Klick auf den @autor öffnet im Browser dessen timeline. Mal davon abgesehen, dass die twitter-Seite auch seltsame Eigenheiten aufweist (die letzten X tweets werden irgendwie erst nach einer halben Minute oder mehr geladen), seh ich dort eigentlich alle tweets eines Autors. Die Webseite fand ich bisher deswegen interessant, weil da seit einer ganzen Weile zu einem tweet auch die komplette Unterhaltung mehrerer Autoren zu finden ist. Dankenswerterweise kann hotot das auch. Und so bleibt dieser client für die nächste Zeit auf meinem Desktop. Solange bis eine bessere Software auftaucht.
Archiv der Kategorie: linux
kaputter flash-sound… und was das mit der glibc zu tun hat
Manch einer wird das vermutlich schon bei fefe gelesen haben, aus fedora-Kreisen gibt es Beschwerden über defektes Audio beim Abspielen von youtube-Videos. Betrifft mich jetzt erstmal nicht direkt, hier funktioniert das gut und stabil. Aber den Bugreport sollte jeder, der weiß, was memcpy und memmove sind, mal lesen.
Kurzabriss (aus meiner Sicht; alle Details versteh ich [noch] nicht): Von Intel-Leuten wird bei der glibc-Entwicklung ein Patch eingereicht, der die oben angesprochenen Speicherfunktionen für diverse Intel-CPUs (bei 64Bit-Systemen) beschleunigt, teilweise erheblich (fefe ist der Meinung, dass die erhebliche Beschleunigung auf einen möglichen Fehler in der Atom-CPU zurückzuführen ist). Einzige Begründung ist eben diese Beschleunigung. Und diese Änderung krempelt die interne Arbeitsweise der Befehle um, was aber bedeutet, dass bestimmte Annahmen bei der Nutzung über den Haufen geworfen werden. Für memcpy(3) ist zB. eine Annahme, dass die Speicherbereiche von Quelle und Ziel nicht überlappen dürfen. Hat man diese Situation im Programm, ist memmove(3) zu nutzen. Bei Adobe wiederum hat man sich für diese Annahmen offensichtlich nicht interessiert, was bisher nicht negativ aufgefallen sein dürfte. In neueren Linux-manpages von memcpy fehlt da ein interessanter Nebensatz, der den Spezialfall der überlappenden Speicherbereiche als undefiniert bezeichnet. Und jetzt (tatsächlich wurde der Fehler schon im September/Oktober letzten Jahres diskutiert) führt diese Situation eben dazu, dass der bestehende Code im flashplayer mit der alten glibc-Version (Fedora 13) funktioniert, aber in der neuen Fedora-Version 14 nicht mehr. Kein großes Ding, möchte man meinen, es wurden auch verschiedene Würgarounds gefunden – der Fehler in der glibc existiert aber eben weiter. Wenig überraschend tauchen nach und nach weitere Programme auf, die plötzlich Probleme haben.
Was dann am stärksten in dieser Situation nervt, ist die Tatsache, dass die Verantwortung gegenseitig hin- und hergeschoben wird. Die Fedora-Leute (die imo keine Schuld trifft) meinen, dass das nur upstream (also bei den glibc-Leuten) zu behandeln sei; die glibc-Entwickler sagen, dass Adobe schuld ist, weil sie eben den Code nicht so einsetzen, wie das zu machen ist; und Adobe kommt nicht aus dem Arsch, um einen Fix bereitzustellen. Öhm, und was ist jetzt mit dem Fehler in der glibc? Die Entwickler meinen, dass Verhalten der Funktion ist ok und bedarf keiner Änderung. Linus Torvalds, der von dem Fehler eben auch betroffen ist, hat aber einige Argumente aufgezählt, warum es eben nicht ok ist (Stichwort: prefetch-Logik einer CPU). Es ist nicht das erste Mal, dass die glibc-Entwickler eine gewisse Sturheit an den Tag legen und sinnvolle Argumente vom Tisch wischen. Bis dato bleiben die Änderungen bestehen.
In einem Post, der in der weiter fortgeschrittenen Diskussion (in dem bug-report) auftaucht, macht ein Kommentator einen weiteren, imo schwerwiegenden Aspekt deutlich. Wenn das Verhalten vom memcpy zu falschen Speicherzugriffen führt und vielleicht auch Speicherbereiche überschreibt, ist das ein Sicherheitsproblem. Da die glibc auch noch ein elementarer Bestandteil jedes Std-Linux-Systems ist, kann das auch als schwerwiegendes Problem bezeichnet werden, denn falls ein Malware-Schreiber einen Weg finden sollte, wie dieses Problem für ihn nutzbar ist, dann sind da recht schnell alle Distributionen betroffen, sprich die Wirkung wäre verheerend.
update: ich war gerade fertig mit schreiben und hab auf der glibc-Mailingliste nachgesehen, ob es nicht vielleicht Neuigkeiten in der Angelegenheit gibt. Entgegen meiner Befürchtung, dass nichts zu finden ist, war tatsächlich ein neuer Patch da, der zumindest einen der vorgeschlagenen workarounds implementiert und sicheres Verhalten bewirkt.
BFS raus der Warteschleife
Es hat also doch nicht so lange gedauert bis zur Veröffentlichung der BFS-Version, die mit dem 2.6.38er Kernel eingesetzt werden kann. Natürlich läuft der lokale Rechner hier schon mit so einem und tut das sehr gut. Interessanterweise gibt es im oben verlinktem Verzeichnis auch einige weitere Patches, die zeigen, wie das eigene System noch etwas mehr auf Desktop-Bedürfnisse angepasst werden kann. Es gibt schliesslich im Standard-Kernel nicht wenige Annahmen oder Kompromisse, die für embedded-Systeme genauso gelten wie für dicke Mainframe-Kisten oder Cluster.
BFS für 2.6.38 in Warteschleife
Alle letzten Kernel-Versionen liefen hier mit dem BFS, weil einfach der reine Eindruck von Interaktivität immer spürbar besser war. So erscheint es logisch, mit dem Release eines neuen Kernels bzw. einer neuen Version auch nach einem Update des Schedulers zu kucken. Der lässt allerdings auf sich warten. Wie jetzt in Kolivas‘ Blog nachzulesen ist, war er etwas überrascht vom schnellen Release und auch anderweitig mit weiterer Software beschäftigt, weswegen noch keine neue Version auf dem Tisch liegt. Das wird auch noch eine Weile so bleiben, will Kolivas doch erstmal die Auswirkungen des autogroup-Patches beobachten.
xorg – roll it back!
Weil der aktuelle Xorg hier nahe an der Unbenutzbarkeit (sehr langsam, flackernd) ist, hab ich die alte Version aus dem November letzten Jahres wieder installiert. Downgrade ist allerdings immer so eine Sache, man kann sich damit auch gepflegt in den Fuss schießen. Offiziell wird so etwas nicht von debian unterstützt, die Software (apt und Konsorten) gestattet es aber.
Zuerst sichert man die sources.list, dann erzeugt man eine neue mit dem Inhalt:
deb http://snapshot.debian.org/archive/debian/20101201/ unstable main contrib
snapshot ist das Archiv der debian-Repositories und spiegelt den Inhalt von 2005 an bis zum heutigen Tag. Also wenn der Paketzustand vom 1. Dezember letzten Jahres wieder hergestellt werden soll, ist die obige Zeile in die neue sources.list einzutragen. Ein anschließendes Update holt das Verzeichnis der zu diesem Zeitpunkt vorhandenen Versionen aller Pakete:
apt-get -o ‚Acquire::Check-Valid-Until=false‘ update
Die Angabe der Option ist dabei notwendig, da sonst apt das Update verweigert.
Da ich meine xorg-relevanten Pakete vorher schon alle entfernt hatte, reicht ein einfaches
apt-get install xserver-xorg xserver-xorg-core …
und ich hab wieder die Versionen aus dem November auf der Platte.
CLT 2010 steht an
Für den morgigen Samstag und den Sonntag sind in Chemnitz die Türen der TU wieder für alle geöffnet, die sich für Open Source oder Linux interessieren. Bei den Chemnitzer Linux-Tagen 2010 findet erstmals auch ein Kernel-Track statt, also ein Teil der Vorträge widmet sich nur Kernel-Themen. Da aber das Vortragsprogramm noch dicker erscheint als letztes Jahr, wird man sich wieder „quälen“ müssen bei der Frage, was man sich denn am liebsten anschauen möchte.