Skip to content

Eclipse unter Linux (x86_64)

Es scheint einen Bug in Eclipse (oder wahrscheinlich eher der JVM) zu geben, der dazu führt, dass Eclipse unter Linux auf x86_64 ziemlich häufig mit etwa folgender Meldung abstürzt:

#
# An unexpected error has been detected by Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fa594b7025a, pid=471, tid=1109551440
#
# Java VM: Java HotSpot(TM) 64-Bit Server VM (10.0-b22 mixed mode linux-amd64)
# Problematic frame:
# V [libjvm.so+0x1f125a]
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Der Bug scheint bekannt zu sein und zum Glück gibt es einen Workaround, der zumindest bei mir ganz gut funktioniert: Wenn man die eclipse.ini um den Eintrag -Xint erweitert, läuft Eclipse stabil. Diese Option bewirkt, dass der JIT-Compiler deaktiviert wird, der für die Abstürze verantwortlich zu sein scheint. Natürlich läuft der Code dadurch langsamer, aber ich finde den Unterschied zumindest auf meinem Rechner zu Hause (Core 2 Quad @ 2.4 GHz) kaum spürbar.

Making Xen work on Ubuntu 8.04 Hardy Heron

I tried to upgrade my Xen server from Feisty Fawn to Hardy Heron some time ago.

Now, I gave it a second chance, but the same problems occurred again. However, I now found out, what has to be done in order to make Xen work after the upgrade to Hardy:

I removed all Xen-related packages (bacause they were still Xen 3.1 while Hardy ships Xen 3.2) and purged the configuration files (after I had made backups). Than I installed the ubuntu-xen-server meta-package.

Package configuration failed, so I had to boot the standard ubuntu-server kernel (without Xen) and run dpkg --configure -a.

After this, I booted into Xen mode, however I could not connect using SSH, although I got ping replies from the server. Then i figured out, that the server did not boot correctly because the /etc/init.d/loadcpufreq and /etc/init.d/cpufrequtils scripts hang and block the startup process. Therefore I deactivated them using update-rc.d and voilà: Xen is working flawlessly.

I hope this articles helps anyone, who runs into the same problem.

Registrierung neuer Benutzer im MoinMoin Wiki verhindern

Per ACLs kann man bei MoinMoin zwar leicht dafür sorgen, dass nur bestimmte Benutzer Seiten bearbeiten dürfen. Dies verhindert aber leider nicht, dass SPAM-Bots neue Benutzer anlegen und damit die Liste der Benutzer mit der Zeit immer größer wird.

Zum Glück kann man durch eine kleine Änderung an MoinMoin verhindern, dass sich neue Benutzer registrieren. Wie das geht, wird unter http://moinmo.in/FeatureRequests/DisableUserCreation beschrieben.

Ubuntu 8.04 Hardy Heron breaks Xen

Yesterday I upgraded the Xen Dom0 hosting various DomUs (for example my Jabber server) from Ubuntu 7.10 to 8.04.  However, after upgrading Xen stopped working.

I tried to use the old 2.6.22 kernel instead of the new 2.6.24 one, but no chance. Xen did not show any error messages and started the DomUs, however neither networking nor "xm console" were working. In fact "xm console" did not show anything and did not react on keyboard input and even a SIGTERM caused no effect. I had to kill the instance with a SIGKILL or SIGHUP.

Now, after I have restored a backup of the old system, everything is working fine again. Therefore I advise everyone using Xen on Ubuntu not to upgrade to 8.04. Upgrading the DomUs however did not cause any problems, Ubuntu Hardy Heron seems to be broken for Dom0 only.

FreePBX: Adding Extensions does not work

After installing trixbox and updating the system I could not add new extensions using FreePBX.

Although the solution is quite easy, it took some time to find out. So here it is (I found it in the FreePBX-Forum):

Simply delete all contents in the files /etc/asterisk/vm_general.inc and /etc/asterisk/vm_email.inc. Then perform an amportal restart and everything works fine again.

Installing trixbox 2.4 on an IBM Netfinity 5000

I wanted to give Asterisk a second chance and thus decided to install trixbox 2.4 on a test machine. This machine is an old IBM Netfinity 5000 (dual Pentium II, only 128 MB memory but a nice SCSI RAID). Unfortunately the installation failed because the system got locked, when the driver for the Adaptec SCSI controller (not the RAID controller) was loaded.

Surprisingly, when I used the "linux" boot command instead of "default", the installation went fine. However, trixbox did not work (freePBX was not installed correctly). So it took me some extra time to find out, that using the "linux" boot mode the wrong installation script was used.

So finally I figured out, that actually trixbox can be installed correctly by using the boot command "linux ks=cdrom:/ks.cfg skipddc". Basically this is the same as using "default", but "default" also includes the "acpi=off" option which causes the problems with the SCSI driver mentioned above.

Sometimes small problems like a wrong boot option can literally take hours to be solved...

Now I am looking forward to get a working Asterisk installation, however there are probably more problems to come as I want to use an ISDN card with mISDN. So it looks that I will be busy with Asterisk for some more hours :-)

Kaputtes Paket-Management unter Ubuntu

Am Sonntag und auch noch gestern hatte ich ein kritisches Problem mit dem Ubuntu auf meinem Rechner: Der Paket-Manager funktionierte plötzlich nicht mehr und meldete hunderte nicht auflösbare Abhängigkeiten (meistens im Zusammenhang mit der glibc). Auch ein "aptitude -f install" half nicht: Wenn der Konflikt aufgelöst werden konnte, dann nur durch Entfernung von mehreren hundert Paketen, darunter auch solche, die zum Betrieb des System zwingend notwendig sind.

Heute jetzt die Erleichterung: Nach einem "aptitude update", funktioniert wieder alles wie gewohnt. Anscheinend gab es also tatsächlich einen Fehler im Ubuntu-Repository, durch den die Abhängigkeiten zerstört wurden, den jetzt aber die Ubuntu-Leute gefunden und behoben haben.

Eclipse CDT with autotools support

The guys from Fedora Eclipse have developed a plugin for GNU autotools support:

When using Eclipse CDT without this plugin, you have to choose between a "managed make" and a "standard make" project type. The first one causes severe restrictions on the build system of your project and will usually not be sufficient for larger projects as you cannot provide your own Makefile. The second one does not have this restriction but has a less sophisticated integration with the Eclipse build system.

The autotools plugin combines the advantages of both modes in one new mode: You can use your own Makefiles created by GNU autoconf and automake but Eclipse will still take care of automatically building the project.

This mode works just fine for existing projects: I checked out the source code of suPHP from the repository and converted the project to an autotools C project (this can be done using the File -> New -> Other... menu). Without much need for configuration Eclipse ran the configure script and built the project. After the automatic build process completed the autocompletion feature worked like a charm: It provides autocompletion for methods and attributes of an object making C++ development nearly as much fun as Java development.

By the way, have a look at the ChangeLog plugin also provided by Fedora Eclipse. It is only a small plugin but can be very handy when documenting changes.

5.1 surround sound with Xine

Today I had a very strange problem: While Totem (with gstreamer backend) was playing a VOB test file with correct 5.1 surround sound output, Kaffeine (with Xine backend) mixed up the channels incorrectly.

After looking some time around and trying different hints found on the web, I finally got the right hint in a bugreport: Some magic settings in the ~/.asoundrc or /etc/asound.conf solve the problem:

pcm.!default {
type plug
slave.pcm "surround51"
slave.channels 6
route_policy duplicate
}

Of course you have to make sure this settings do not collide with other settings (which might have been created automatically by some tool).

Update (2007-03-12):

Forget what I have written above: This solution works for Kaffeine, however it creates other problems. The right solution is to set the setting "audio.device.alsa_default_device" to "plug:surround51:0". The reason is that Xine does all checks (like how many channels are supported) on this device, even if configured for 5.1 surround mode. However I had to read the corresponding Xine source code to find out. This behaviour seems to be documented nowhere and one would usually expect Xine to use the device defined in "audio.device.alsa_surround51_device" for 5.1 sound output.

Ubuntu 6.10 and X11 radeon driver

Today I replaced the totally outdated Gentoo system on my desktop PC with Ubuntu "Edgy Eft".

When I tried to switch from the "vesa" to the "radeon" driver, the PC crashed on startup of the X server. After some internet search I found a corresponding bug report: This is actually a bug in the radeon driver. However there is a workaround: By setting the "AGPMode" option to "8" in the /etc/X11/xorg.conf the problem can be fixed. At least this perfectly worked for my ATI Radeon 9600 XT.

RoundCube Webmail

Some day ago, I installed RoundCube Webmail on my server to test this new exciting webmail interface.

In the past I used SquirrelMail as my main Webmail interface. I tried Horde/IMP, but I really did not like it, because its installation process is very difficult compared to SquirrelMail and its user interface is not convenient.

So, when I tried RoundCube, I was really astonished how convenient a webmailer can be, if it heavily uses AJAX technology. This software not only has a very user-friendly interface but also has a superior German localization. With its Aqua-like design the UI resembles Mac OS X's Mail.app. In fact the application runs best using Safari, which is surprising because usually Firefox's JavaScript engine is much faster. I guess the developer of RoundCube Webmail is using a Mac and therefore Safari is the main target platform.

Performance is the only issue which should be improved. Regarding almost all other qualities of the software you would not think that this is still a 0.1 beta release. The guys from Microsoft who developped Outlook Web Access should really learn a lesson from this software.

The roadmap of RoundCube is very promising and makes me expect even more cool features.

Although it is still a beta relase, I think RoundCube webmail is ready for restricted production use. Of course I will keep an installation of SquirrelMail on my server as a fallback for clients that are not AJAX capable. However anyt I want to check my e-mails from a computer with a modern browser and broadband internet connection, I will prefer RoundCube.

Ärger mit Cyrus IMAPd

Am Freitag tauchten in den Logfiles meines "Cyrus IMAPd"-Servers plötzlich merkwürdige Meldungen folgender Form auf:
Jul 21 15:13:12 p15161622 ctl_cyrusdb[28409]: recovering cyrus databases
Jul 21 15:13:14 p15161622 ctl_cyrusdb[21297]: DBERROR db4: fatal region error detected; run recovery
Jul 21 15:13:14 p15161622 ctl_cyrusdb[21297]: DBERROR db4: fatal region error detected; run recovery
Jul 21 15:13:14 p15161622 ctl_cyrusdb[21297]: DBERROR db4: fatal region error detected; run recovery
Jul 21 15:13:14 p15161622 ctl_cyrusdb[21297]: DBERROR db4: fatal region error detected; run recovery
Jul 21 15:13:14 p15161622 ctl_cyrusdb[21297]: DBERROR db4: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
Jul 21 15:13:14 p15161622 ctl_cyrusdb[21297]: DBERROR: critical database situation
Nach verschiedenen Versuchen das Problem in den Griff zu bekommen, lief der Server tatsächlich wieder, nach die Dateien in /var/imap/db gelöscht worden waren. Die Freude war jedoch nicht von langer Dauer, da das Problem bald wieder auftrat. Tatsächlich konnte ich das Problem nicht direkt lösen. Abhilfe konnte jedoch dadurch geschaffen werden, dass ein Upgrade auf Cyrus IMAPd Version 2.3 vorgenommen wurde, welche nicht mehr BerkeleyDB sondern skipDB verwendet. Nach der Konvertierung der Mailbox-Liste in das neue Format klappt jetzt wieder alles problemlos

Callisto ist da!

Gerade noch rechtzeitig um das Versprechen "erscheint im Juni" zu halten, ist heute abend endlich Callisto erschienen. Um 22:00 Uhr stand auf der Seite noch ein "Coming soon", als ich dann gerade eben (kurz vor Mitternacht) wieder nachschaute, waren die Downloads verfügbar.

Damit gibt es endlich ein offizielles Eclipse-Release, das auf Intel-Macs läuft und gleichzeitig das Versions-Wirrwarr, das durch die vielen verschiedenen Unterprojekte entstanden ist, beseitigt.

Ich werde, sobald ich dazukomme, hier über meine Erfahrungen mit dem neuen Eclipse 3.2 berichten.

Den Sternen kaum näher

Ich habe das Wochenende damit verbracht einen Asterisk PBX zum Laufen zu bekommen. Leider nur mit mäßigen Erfolg. Aber immerhin bin ich nach ca. 12 Stunden ausprobieren um zwei Erkenntnisse reicher:

  1. Asterisk funktioniert nicht richtig, wenn man ihn unter Gentoo mit zaptel- und bri-Unterstützung (über bristuff) installiert. Nein damit meine ich nicht nur den ISDN-Teil - mit diesen Optionen funktioniert nicht einmal die SIP-Unterstützung mehr richtig (diese Erkenntnis hat mich schätzungsweise 8 Stunden gekostet).
  2. Mit visdn funktioniert wenigstens VoIP richtig, allerdings will ISDN trotzdem nicht. Entweder ich bin zu blöd, das richtig zu konfigurieren, oder die verwendete ISDN-Karte hat einen Schatten weg.

Die zweite These werde ich demnächst noch genauer untersuchen, wenn eine heute über eBay gekaufte weitere Karte mit HFC-Chipsatz eintrifft. Wenn ich diese auch nicht zum Laufen bekomme, bin ich offensichtlich einfach zu blöd. ;-)

Dann müsste ich es wohl doch nochmal mit bristuff und CAPI oder mISDN versuchen. Allerdings habe ich noch keine konkrete Idee, wie ich dafür sorgen soll, dass der bristuff-Patch nicht den Asterisk zerschießt.