Linux and Eclipse have proved themselves as a killer combination for Java (EE) development. Specially for technology savvy users, which i guess a lot of programmers are, the combination is a dream come true.

Though once in a while things can heat up under the hood.

With the uprise of Ubuntu, meant as a very user friendly version of Debian, many developers are trusting in their Ubuntu/Java/Eclipse environment and with good reason. It installs very easily, runs very fast and provides features like update-notifications, very fast turn around times for security updates and an almost insane amount of hard and software support.

Though the common Linux distributions (may i even say OpenSource) practice of fast turn around on security updates is a very good thing to have. It can once in a while turn into an unpleasant experience. Like today 18 Januari 2008.

To fix a programming error in the Xorg graphical software component of Linux the Ubuntu people pushed out an update for it called xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8.1. I applied this update in the early morning when working at home and when i had to leave to continue working at the office i shutdown my laptop and went to the office as usual.

Only to find out that my laptop was not working as expected when booting up. The login manager appeared (GDM) and i logged in, finding my desktop (Gnome) in a half broken state. Firing up Eclipse was even worse, throwing me the following ‘unclear’ error message on the console:

The program ‘Eclipse’ received an X Window System error.
This probably reflects a bug in the program.
The error was ‘BadAlloc (insufficient resources for operation)’.
(Details: serial 1086 error_code 11 request_code 147 minor_code 5)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the –sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)

Error Message

Now the obvious solution is to reinstall the package version before the security update or wait for the next update.

You can download the old version of the package from the following location: http://security.ubuntu.com/ubuntu/pool/main/x/xorg-server/xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8_i386.deb

Install this package with the following command

$ dpkg -i xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8_i386.deb

Now restart your X server by loggin out of your desktop and back in again or restarting your server and you should be fine again.

At the time of writing, which is about half a day after the update hit the Ubuntu servers and i first found myself dealing with this problem, the Ubuntu people are pushing out there second update for the broken xserver-xorg-core package called: xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8.2

You can safely install this new version and have everything working as expected.

Summary:

Old good version:

xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8

Broken updated version:

xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8.1

New good version:

xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8.2

If you want to be safe, wait until tomorrow (19/20 Januari 2008) before you hit the update button, make sure that you updated your apt repository and verify that it’s installing the 8.2 update version of xserver-xorg-core. Then you should be all set to keep your desktop up to date and running like a charm 🙂

The X.org fix for CVE-2007-6429 introduced a regression in the MIT-SHMextension, which prevented the start of a few applications. This updatefixes this problem and also references the patch for CVE-2008-0006,which was included in the previous update, but not mentioned in theadvisory text.

Ing. Bas van Oostveen

M4N

Post-Scriptum: currently Ubuntu has released even a third patch to xserver-xorg xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8.3

This entry was posted
on Saturday, January 19th, 2008 at 1:03 am and is filed under Eclipse.
You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.

3 comments to “Ubuntu and Eclipse: The error was ‘BadAlloc (insufficient resources for operation)’.”

That’s a very interesting work around, especially since currently Java 6 is not required for Eclipse itself anyway. (the JDK you use to run Eclipse on is independent from the one with which you run the code you develop with Eclipse)