Posts tagged with 'Bug'

No Work in Progress!

  • Posted on May 12, 2013 at 4:21 pm

Beim Vermeiden der gedruckten Tageszeitung zum Frühstück bin ich über einen Blogartikel gestoßen, der die Zeile „Dieser Artikel ist noch work in progress.“ gleich nach dem Titel enthielt. Der Hinweis ist zwar nett gemeint, aber leider hilft das dem Leser (in diesem Falle ich, also kein -in) nicht.

Ein Artikel ist zum Zeitpunkt des Lesens durch Dritte fertig. Die Idee mit den Versionierungen oder Datumsangeben helfen da nicht. Warum? Weil es sich nicht um Software-Entwicklung handelt. Ein Autor kann nicht davon ausgehen, dass alle Leserinnen in periodischen Abständen wiederkehren und die neue Fassung lesen. Niemand macht das, nicht in Blogs, nicht bei digitalen Zeitungen oder Magazinen, nirgendwo. Alles das, was sich ein Autor beim Schreiben denkt, muß zum Zeitpunkt des Publizierens im Text enthalten sein. Natürlich neigt man dazu gelegentlich Sektionen mit dem klangvollen Update: hinzuzufügen. Man sollte sicher aber im Klaren darüber sein, dass es Leser, die den Text schon gelesen haben, nicht mehr verfolgen und daher auch nie sehen werden.

Helft mit das Internet sauber zu halten! Publiziert keine Entwürfe! Danke.

Wireless Tablet Terror

  • Posted on June 16, 2011 at 1:43 pm

Wireless tablets are all the fashion. I wonder why. I just had to reconfigure a wireless access point to use TKIP/AES instead of AES alone. WPA2 with AES is aournd since 2006 or even before. The end of personal computing is here. My laptop had no problems using the Wi-Fi network. The new gadgets didn’t get a single packet from the Internet.

Thinking positively, at least I got around sliding my fingers on the Galaxy Tab just a like a dog scratching on a door. It was definitely a whole new user experience. No one should miss this. It’s our new way of life.

802.11NO and the Linksys WAP610N

  • Posted on October 29, 2010 at 3:29 pm

A few months ago I set up a Linksys WAP610N access point in order to test its performance and its reliability. For all of you who are interested in the results – don’t buy this access point. Here’s why.

When under load the WAP610N spontaneously reboots. It also reboots when not under load. Most of the time it works, sometimes it doesn’t. This is very undesireable for any office environment. It seems to be a firmware issue, but the behaviour can be observed with the latest version. There is no fix.

If you try to configure the beast you have to use a web interface that lacks quite a bit of comfort. You can use the 2.4 GHz oder 5 GHz modes. If you stay with 2.4 GHz, then you can use either one of 802.11b, 802.11g or 802.11n only, or you use the 802.11bgn mixed mode. You cannot run 802.11gn. Fortunately you can use any combination of 802.11a and 802.11n when running the 5 GHz modes.

In order to avoid the reboots I have configured 802.11a mode and added a second access point (Buffalo WHR-HP-G54) to handle 802.11g clients. The Buffalo usually never reboots unless told, and the WAP610N seems to be more stable when running 802.11a only. Let’s see if this stays this way.

P.S.: If you use a GNU/Linux system with an Intel® WiFi network adapter that uses the iwlagn driver, make sure you disable 802.11n with the module option 11n_disable=1 until Intel® has fixed the firmware of the card. Gathering from the bug reports it’s also good to use swcrypto=1 for shifting the cryptography operations to software.

Semi-sentient installation scripts

  • Posted on July 5, 2010 at 6:01 pm

I like the SYMPA mailing list manager. SYMPA really is comfortable and has more feature you will ever need (which is also the biggest disadvantage). Usually I install it from source, because it allows for a better control of the upgrade paths. Unfortunately SYMPA 6.0 and 6.1 are a bit too new for the current Debian 5.0 (stable) version. So I decided to use the SYMPA package from the repository – which cannot be installed.

The reason is my aberrant behaviour. I do not run databases on all hosts. There are database hosts and there are application hosts. This is a very old-fashioned way of keeping things separated. This also leads to a very elegant failure of the SYMPA package’s post-install script.

  • The post-install script creates a sympa database and a sympa user for you. In order for doing this it wants the Postgres admin password.
  • If you supply all credentials (only the Postgres admin credential exists so far, the sympa role is created by the script) and you have no Postgres database package on your system, the install script will fail: Failed to determine UID for postgres user.
  • The package manager does not automatically install Perl’s DBD::Pg module – which is needed for SYMPA to interact with the Postgres database.
  • The install script or me fail to provide a password for the Postgres admin user (I am pretty sure I entered it).
  • The install script fails to hand over the ownership of the sympa database to the sympa login role, resulting in a permission denied error when SYMPA is started.
  • If you change the ownership of the database and rerun aptitude install sympa, then the install script complains that the sympa database already exists.

This is great work. There are already bug reports in the Debian bug database, so I am not the first one to encounter this. Folks, people really do run separate hosts for different purposes, especially since virtualisation got so widely spread. Please don’t assume that sane admins run overloaded servers with a thousand services, just in case. Thanks!


  • Posted on June 28, 2010 at 12:26 am

I met a surprise today. I am writing code that accesses a lot of files via NFSv4, stat()s  them, possibly extracts content and writes stuff into a couple of databases. Somewhen in the debug/development cycle a stat() call returned Resource temporarily unavailable (a.k.a. EAGAIN and EWOULDBLOCK). I tried replacing stat() by lstat() and finally by fstat() in order to assert more control over the flags provided to open(). The combination O_RDONLY | O_SYNC | O_NOATIME changed EAGAIN into EPERM (Operation not permitted). Why is that? Well, here’s a hint.

The O_NOATIME flag was specified, but the effective user ID of the caller did not match the owner of the file and the caller was not privileged (CAP_FOWNER).

Correct. I changed the machine the test ran on. This turned the effective UID into something different (the NFS share showed the numerical 4294967294 which is not the UID of the development account). I’d never have expected this behaviour from the description in the man pages…despite the quoted sentence above…which is really part of man 2 open

RTFM. Again.

Seriously Debugging the Text Indexer Code

  • Posted on February 28, 2010 at 4:55 pm

After feeling like wading in honey during the past weeks I finally get around to squash some bugs in my text indexer code. The first one was the obligatory use of a null pointer in rare cases. I know, this should never happen. Found it, squashed it. Won’t happen again (I am pretty confident about this).

The next problem was a wrong string comparison when dealing with file extensions. Ignoring the “.” leads to match of “ps” and “props”. The latter is no PostScript® file and cannot be indexed (well, it can be, but it shouldn’t). “.” are from now on never ignored.

The test data consists of 3755 files. After filtering 648 documents remain (file extensions .doc, .htm, .html, .odp, .ods, .odt, .ps, .pdf, .php, .rtf, .txt, .xml, .xls). The results are indexed by means of the PostgreSQL text index function. The resulting database has a table size of 488 kiB (23 MiB documents, 19 MiB text index). Indexing works fairly well so far. The database should be more than sufficient for testing the front end. I’ll probably have a go at the content of the two DVDs I ordered a couple of weeks ago. Both DVDs contain 42914 files in 1106 directories. The total size is over 8 GiB. Maybe I publish the front end URL to the indexed Cryptome data. Let’s see.

  • Comments are off for Seriously Debugging the Text Indexer Code
  • Filed under

The Joy of High Level Languages

  • Posted on February 16, 2010 at 6:06 pm

When programming you should use a high level programming language. This is important since you do not ever again have to deal with the intricacies of the platform you are working on. Coding becomes paradise. And the Earth is flat, and pigs can fly. I’ve spent over ten days tracking down a problem of Awstats stopping to update the web statistics. The configuration was copied from the old server, as were all the logs, the previous configurations, everything. Yet Awstats did not generate new statistics.

Finally I found an unsuspecting line in the logs. It went: „Warning: Error while retrieving hashfile: Byte order is not compatible at ../../lib/” It’s just a warning, so it’s nothing to be worried about, right? And since we use a high level language surely the change from 32 bit to 64 bit Debian cannot make a difference, right? We code in high level, we do not deal with byte orders and other wordly stuff anymore. We are enlightened. And obviously we are fucked. Thanks to a hint on a blog somewhere the web statistics are working again.

I will continue my text indexer project today. It’s written in C++.

  • Comments are off for The Joy of High Level Languages
  • Filed under

SugarCRM-, Apache- und Browserschmerzen

  • Posted on December 30, 2009 at 10:58 pm

Ich habe gerade stundenlang Upgrades auf einem Webserver gemacht. Im Prinzip ist es ganz einfach, da es ein LAMP System ist. Wegen besonderen Richtlinien wird dort Apache, PHP und MySQL durch den Compiler gejagt. Macht ja nichts, ist recht straightforward. Nach etlichen Segmentation Faults mußte ich dann herausfinden, daß beim Build PHP die alte MySQL-Library bevorzugt. Im phpMyAdmin sieht man dann eine schöne Warnung. Führt tatsächlich zu Crashes. Nachdem dann alles funktionierte, habe ich mit SugarCRM angenommen.

Die SugarCRM Webseite ist grottenschlecht. Das ganze Machwerk muß ein Unfall gewesen sein. Man findet das passende ZIP Archiv mit den Upgrade-Versionen nur mit Google und viel sinnlosem Herumklicken. Wenn die Download-Seite eine URL nicht auflösen kann, dann wird man zu einem Download-Portal geleitet wo es natürlich keine Links zu den Upgrades gibt. Es gibt nur einen Upgrade-Wizard, der Golfbälle durch Gartenschläuche saugen kann (sprich nach wenigen Klicks ist man so ratlos wie zuvor; er reicht einem aber ein Handbuch). Nach Studium des Manuals kann man dann tatsächlich von 5.0.0 auf 5.2.0 und letztlich auf 5.5.0 gehen. Man muß dazu nur bestimmte Einstellungen in der php.ini verändern (20 MB Upload „Limit”, sehr hohe Execution Time, etc.).

Die Sahnehaube auf der Aktion war die Involvierung mehrere Browser, denn

  • mein Iceweasel (Firefox) auf meiner Workstation im Büro hat ein defektes Profil und zickt mit JavaScript und so herum,
  • der Konqueror anfangs die SugarCRM Seite (vor dem Upgrade) nicht laden wollte,
  • nur der Opera alles konnte (aber nur bis kurz vor Ende des Upgrades),
  • der Konqueror dann doch die SugarCRM Seite lud,
  • irgendwie aber trotzdem der Upgrade Wizard nicht ganz fertig war,
  • und ich schließlich auf den Iceweasel auf meinem Laptop ausweichen mußte.

Ist doch toll, oder? Wenn das Web die Zukunft ist, dann können wir bald den Laden dichtmachen. Browser sind scheiße – und zwar alle. Gilt ebenso für Betriebssysteme, also macht euch keine Illusionen von frischem Obst.

“X-Mas: Bah humbug”

  • Posted on December 15, 2009 at 9:06 pm

Everyone is suddenly keen on getting a thousand things done before Christmas. What a joy! Miracle Max from The Princess Bride comes to my mind.

You rush a miracle man, you get rotten miracles.

Mark my words. And the title of this posting is wildly out of context. The zombie mobs are running on the streets. Do not leave your house or go to a shopping mall! It’s not worth the risk.

  • Comments are off for “X-Mas: Bah humbug”
  • Filed under

Von Barock Obama und den Stinker-Raketen

  • Posted on June 5, 2009 at 12:36 pm

Ich liebe gut durchdachte Algorithmen und Systeme. Manche verfolgen mich bis in den Alltag und werden meist rasch abgeschaltet. Automatische Korrekturen beispielsweise, die solche Vorschläge machen: „Internat statt Internet, Nato statt Nano, Cupertino statt Kooperation”

Konrad Lischka hat in einem Artikel auf die automatische Rechtschreibprüfung kritisch betrachtet (man findet den Artikel über diesen Link, der möglicherweise Spuren von Kinderpornografie enthalten kann:,1518,612714,00.html ). Offenbar finden sich auch prominente Opfer, wie Dokumente der NATO, der EU und der UNO bezeugen. Klar sind Lexika immer etwas spät dran, aber eine gute Software muß ja nicht immer einen Vorschlag liefern. Oft ist keine Aussage hilfreicher als Wortstürme.

  • Comments are off for Von Barock Obama und den Stinker-Raketen
  • Filed under

The devil is in the details.

  • Posted on February 24, 2009 at 1:08 pm

Yes, that’s how it is. I already mentioned the email interface to this blog. It basically works. The postings are imported into the blog software. The problem is that my email client usually wraps lines that are longer than 77 characters. The blog software interprets the wrap as a carriage return. This means that I have to disable wrapping in order to have a free flowing paragraph in the blog. Looks awful, but works. Never mind, it’s just a minor detail.

Text encoding is a passion of mine. I like properly encoded text. When programming I pay attention to text conversion and using a consistent encoding across all parts of my code. Whenever I use special characters outside the US ASCII domain in the subjects of my blog emails, these special characters lead to a premature end of the title. Why is that? Due to the legacy of email standards no part of the email header may contain a character with it’s 8th bit set. Email clients mark specially encoded strings by adding the encoding used and some escape characters (this looks a bit like this: „=?iso-8859-15?Q?KERZENST=C4NDER?=”). Should be no problem, but apparently it is. Never mind, it’s just a minor detail.

The movie „Ghost Dog” springs to my mind. Let me show you why by using a quote from the dialogues (or monologues).

Among the maxims on Lord Naoshige’s wall, there was this one: “Matters of great concern should be treated lightly.” Master Ittei commented, “Matters of small concern should be treated seriously.”

So, let’s take care of some minor details.

  • Comments are off for The devil is in the details.
  • Filed under

Endlich ein brauchbares In

  • Posted on February 21, 2009 at 6:27 pm

Wenn es wahr ist und ich mich nicht verfahren habe, dann kann ich nun
mit einem sehr brauchbaren Interface meine Blogpostings schreiben. Ich
bin ja doch sehr meinen E-Mail-Client gewöhnt. Nun werden bestimmte
E-Mails von mir auf einer Webseite öffentlich zur Schau gestellt. Einen
solchen Pranger habe ich mir immer schon gewünscht! Das ist mal
Technologie, die begeistert.

Mobile Grüße vom Luchs!