Sehr toll sind auch die Log-Meldungen die man so auf der Konsole findet, wenn man mal n Eclipse gestartet hatte: "Caused by: java.lang.RuntimeException: You have to be root to open port 427". Warum zum Geier will komische Java-IDE an privilegierten Ports fummeln?
Mal wieder eine ganz harmlose Frage: koennten wir ein Eclipse-Plugin installieren was Subversion kann? Erstmal war ich ja erstaunt, das Eclipse das nicht von alleine tut, wenns schon Plugins fuer nutzlose Klickgraphik und noch mehr Muell mitliefert bis die Platte kracht. Aber gut, den lokalen Eclipse-Guru befragt, der meinte, Subclipse.
Subclipse las sich erstmal gut, bis dann die Versionsanforderungen drankamen, es haette naemlich gerne nagelneues SVN. Nachdem das dann wieder in Schmerzen mit inkompatiblen Repositories ausartet wenn man da einfach so updated war das keine Option. Also mal Subversive probiert. Erstmal Anleitung gelesen, sehr toll mit Bildchen und allem. Das einzige was fehlte war natuerlich der wichtigste Teil, die URL die man eintragen muss von wo es die Pakete zieht. Die URL findet man, indem man da einem mies beschriebenen Link folgt und dann auf der 'Download'-Seite solange alle URLs mit den Bild-Ausschnitten auf denen Teile der URL zu sehen sind vergleicht, bis man die richtige hat. Hat man das erstmal geschafft passiert nichts.
Was naemlich noch dazukommt ist, dass man eine zweite Update-URL von woanders her "aus Lizenzgruenden" braucht. Interessanterweise ist das auch die einzige URL von der ueberhaupt Pakete kommen. Soweit so mysterioes. Will man dann anfangen Sachen zu installieren wirds noch lustiger: Setzt man Haekchen bei Sachen die man moechte berechnet der Update-Manager erstmal ne Minute lang die Abhaengigkeiten neu (uebrigens bei jedem Haken einzeln) nur um dann zu erzaehlen, mit einer absolut unverstaendlichen Fehlermeldung, dass er keine Loesung fuer sein Abhaengigkeitsproblem finden wuerde und irgendein org.eclipse.equinox.komischeszeug suchen wuerde...
Nachdem das irgendwie nach "Hilfe, update mich" roch, hab ich einfach mal versucht eclipse zu updaten. Einfach sollte man meinen, aber nach nur wenigen Minuten grottenlahmer Downloads von wirren Mirrors in fernen Landen (mit brutalen 50kB/s) ueberraschte mich eine hoechst interessante Fehlermeldung: Es gingen die Filedeskriptoren aus. Jetzt ist das gelegentlich ein Problem, wenn mal ein Ersti for (i=0; i<10000; i++) f[i] = open(...); macht, aber bei professioneller Software wie Eclipse? Nunja, anscheinend ja, das Problem scheint auch so aehnlich schon laenger bekannt aber noch nicht behoben zu sein: Eclipse oeffnet munter tonnenweise Dateien die es vielleicht mal braucht oder auch nicht, macht aber niemals ein close() auf die Filedeskriptoren sondern wartet drauf, dass der Garbage Collector mal aufraeumt, denn im finalize() wuerden die ja geschlossen werden. Wenn nur leider die Maschine zuviel Speicher hat (was nicht einfach ist, wenn man sich mal Eclipse anschaut) dann gehen einem die Deskriptoren vor dem Speicher aus und dann hat man das Problem.
Was lernt man daraus? Garbage Collection gehoert verboten, das verzieht Programmierer wie kleine Kinder, die ihr Zimmer nie aufraeumen muessen Resourcen sinnlos zu verbraten. Dementsprechend gibts auch keinen Fix fuer den Bug sondern nur den Tip doch die ulimits oder die Kernel-Limits mal tuechtig aufzudrehen. Aber ich schweife ab, dass Eclipse Bloat ist war ja eh schon klar.
Eclipse neustarten, Workspace loeschen, nochmal probieren half nicht wirklich gegen das Problem. Also vielleicht mal erst das Problem reduzieren und nutzlose Plugins in die Tonne treten. Weiss der Geier wer ueberhaupt so toll beschriebene Dinge wie BPEL, BIRT oder RSE braucht (klarer Fall von Abkuerzungswahn). Also mal oben angefangen und Sachen weggeklickt. Aber nach dem vierten Haken hab ichs aufgegeben, nachdem jedesmal erstmal die Abhaengigkeiten mit viel zappelndem Fortschrittsbalken-Trara neu berechnet wurden, nur um dann in 50% aller Faelle mit dem tollen org.eclipse.equinox.wasauchimmer-Fehler dann keine Loesung zu finden. Und bei etwa 200 Haken und einer Minute Wartezeit pro Haken waere es eine extrem daemliche Idee, mal iterativ eine Loesung ohne Abhaengigkeitsproblem zu finden.
Gut, habe ich eben gelernt, dass man kein Subversive will und dass man in Ganymede besser keine Updates macht. Aber es wird besser: Neuer Tag, neues Eclipse gestartet nachm Update und plopp, nicht der uebliche minutenlange Bootvorgang sondern n lustiges Fehlerfenster was auf eine Logdatei verweist in der was steht von "java.lang.RuntimeException: No application id has been found." Irgendwie hatte noch niemand den gesehen, also der messerscharfe und offensichtlich richtige Schluss: Nicht nur kann Eclipse nicht mit Resourcen umgehen, es macht bei sonem abgebrochenen Update auch die Installation kaputt. Frisches .tar.gz drueberentpackt und es hat wieder funktioniert. Der lokale Eclipse-Guru hat uebrigens den Update-Manager von Ganymede als "besonders toll" beschrieben.
Ich hab dann doch noch mal Subclipse installiert, was erstaunlicherweise reproduzierbar funktioniert im Gegensatz zu Subversive, zumindest was die Installation betrifft. Fragt sich nur noch, ob es dann auch mit nem SVN reden kann...