Dziś jest piątek, 21 listopada 2008 roku (z kalendarza...)

Bunt Eclipse'a

Icon

17.10.2007, 15:27

Komputery

Komentarze (7)

Powrót

Eclipse już drugi dzień próbuje dać mi delikatną aluzję, bym poszukał sobie innego IDE. Gdy spróbowałem go wczoraj włączyć, po paru sekundach ekran powitalny znikał, a cała aplikacja zamykała się bez słowa wyjaśnienia. Dopiero odpalenie programu z konsoli ujawniło, że w trakcie ładowania pojawia się OutOfMemoryException, co dotychczas się nigdy nie zdarzyło; w końcu dzień wcześniej jeszcze pisałem w tym skrypt i zamknąłem wszystko, jak zawsze.

Zwiększenie limitów pamięci dla JVM nic nie pomogło. Eclipse dostał już pół giga, ale i tak uporczywie proces ładowania przerywał z tym samym błędem. Dla próby usunąłem ustawienia z katalogu domowego, aby zbudował sobie wszystko od nowa i wtedy ruszył. A że przy okazji poleciały mi wszystkie ściągnięte moduły, postanowiłem zaktualizować od razu wszystko i zassałem wersję 3.3.1 z oficjalnej strony. Do tego doszedł nowy, finalny już moduł PDT, zainstalowany tym razem razem z programem i niby wszystko powinno działać. A g..., że tak powiem. Zacząłem importować projekty; pierwszy wszedł, drugi wszedł, przy trzecim (akurat tym, nad którym pracowałem ostatnio): OutOfMemoryException. Różnica jest taka, że teraz komunikat pokazuje się w kilka sekund po ostatecznym uruchomieniu i Eclipse pozwala kontynuować pracę, uprzedzając, że może się teraz legalnie bez ostrzeżenia wykrzaczyć. Jeszcze nie sprawdzałem, czy faktycznie spróbuje skorzystać z tego prawa. Wszystkie znaki na niebie i ziemi wskazują, że winny jest moduł kontroli składni, gdy zaczyna analizować pliki TPL:

!ENTRY org.eclipse.core.jobs 4 2 2007-10-17 14:54:41.604
!MESSAGE An internal error occurred during: "Building PHP projects ...".
!STACK 0
java.lang.OutOfMemoryError: Java heap space
	at org.eclipse.php.internal.core.util.SerializationUtil.deserializeFunctionsParameterArray(Unknown Source)
	at org.eclipse.php.internal.core.util.SerializationUtil.deserializeFunctionData(Unknown Source)
	at org.eclipse.php.internal.core.util.SerializationUtil.deserializeFunctionDataArray(Unknown Source)
	at org.eclipse.php.internal.core.util.SerializationUtil.deserializeClassData(Unknown Source)
	at org.eclipse.php.internal.core.util.SerializationUtil.deserializeClassDataArray(Unknown Source)
	at org.eclipse.php.internal.core.util.SerializationUtil.deserializePHPFileData(Unknown Source)
	at org.eclipse.php.internal.core.util.SerializationUtil.deserializePHPFileDataArray(Unknown Source)
	at org.eclipse.php.internal.core.util.DefaultCacheManager.innerLoadModel(Unknown Source)
	at org.eclipse.php.internal.core.util.DefaultCacheManager.load(Unknown Source)
	at org.eclipse.php.internal.core.phpModel.parser.PHPUserModelManager.<init>(Unknown Source)
	at org.eclipse.php.internal.core.phpModel.parser.PHPUserModel.initialize(Unknown Source)
	at org.eclipse.php.internal.core.phpModel.parser.PHPProjectModel.initialize(Unknown Source)
	at org.eclipse.php.internal.core.phpModel.parser.PHPWorkspaceModelManager.putModel(Unknown Source)
	at org.eclipse.php.internal.core.phpModel.parser.PHPWorkspaceModelManager.getModelForProject(Unknown Source)
	at org.eclipse.php.internal.core.project.build.FullPhpProjectBuildVisitor.handle(Unknown Source)
	at org.eclipse.php.internal.core.project.build.FullPhpProjectBuildVisitor.visit(Unknown Source)
	at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:105)
	at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:57)
	at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:81)
	at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:126)
	at org.eclipse.core.internal.resources.Resource.accept(Resource.java:67)
	at org.eclipse.core.internal.resources.Resource.accept(Resource.java:103)
	at org.eclipse.core.internal.resources.Resource.accept(Resource.java:87)
	at org.eclipse.php.internal.core.phpModel.parser.PHPWorkspaceModelManager$3.runInWorkspace(Unknown Source)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Aktualizacja nic nie pomogła także na stare problemy, głównie ze schowkiem. Eclipse 3.3 jakoś dziwnie reaguje na kombinację klawiszy Ctrl+C. Czasem w ogóle nie zauważa, że została ona wciśnięta, a czasem przenosi do schowka zupełnie inny fragment pliku, niż zaznaczony. W sumie da się z tym pracować, pod warunkiem pamiętania, aby pacnąć tę kombinację dwukrotnie, ale jest to denerwujące na dłuższą metę. Nie wiem, czy to wina po prostu mojego komputera, ale uważam, że jak coś ściągnąłem z oficjalnej strony, nieoznaczone dopiskiem "beta", "alpha", "rc" oraz napisane w języku, który teoretycznie gwarantuje pełną przenośność i większe bezpieczeństwo, to mam prawo oczekiwać po nim stabilnego działania, a tego wersji 3.3 brakuje w porównaniu z 3.2. Szkoda, bo pod względem możliwości Eclipse jest naprawdę rewelacyjny, a wydajności - w porządku.

Pojawia się pytanie o jakiś program zastępczy. Przecież nie mogę siedzieć pół miesiąca i rozwiązywać fanaberii Javy, z którymi teoretycznie nie powinienem mieć nic wspólnego. Niestety, największy konkurent - NetBeans - również zbudowany jest w tej technologii. Nawiasem mówiąc mam tutaj małą refleksję. Jedna grupa programistów zawzięcie krytykuje Javę za powolność itd., a druga na złość cioci tworzy dla nich programy napisane właśnie w niej :). Pytanie, dlaczego ci pierwsi nie siądą i nie napiszą własnego IDE w jakimś C++ czy innym?

Powrót

Komentarze

Napisał LBO w środę, 17 października 2007 o 17:21

A reinstalację samej Javy zrobiłeś?
Zawsze może pomóc.

Napisał scanner w środę, 17 października 2007 o 18:45

od dwu dni mam podobnie - eclipse wyłącza mi się w losowych momentach...

Napisał Zyx w środę, 17 października 2007 o 21:57

Spróbowałem aktualizacji - niestety nic ona nie dała. Skopany musi być albo Eclipse, albo PDT i żadna z tych możliwości nie jest zbyt ciekawa. Zobaczę, czy da się z tym pracować; w przeciwnym razie poszukam sposobu na zainstalowanie Quanty pomimo posiadania KDEModa, a nie zwykłego KDE (zależności międzypakietowe), wyślę teamowi raport o błędzie i poczekam, aż go naprawią. Jak nie, to astalavista.

Napisał Marcin w czwartek, 18 października 2007 o 00:45

Eclipse 3.1 + PHPEclipse = Sukces

Co prawda, oba to starocie ale pracuje się bardzo dobrze :)

Napisał Bob w czwartek, 18 października 2007 o 09:19

Jakoś tak się dziwnie składa że wszystkie większe projekty czyli Eclipse, Netbeans i Zend Studio są pisane w javie przy czym to eclipse ma najwięcej problemów. Zmianę edytora już przerabiałem ale prawda jest taka że po prostu lepszego darmowego nie znajdziesz. Zdaje się że przy 3.4 mają popracować nad błędami wynikającymi z korzystania z javy więc jest nadzieja :) Polecałbym zainstalować javę 1.5 koniecznie od suna i pod żadnym pozorem alternatyw. Możesz spróbować zmienić architekturę a w ostateczności nawet OS. Np. kilka dni temu postanowiłem wypróbować nowe Ubuntu i jestem ogromnie zaskoczony. Jak dotąd żadnego, najmniejszego problemu czy to z instalacją czegoś, czy to z działaniem programu. Ile to ja się wcześniej namęczyłem pod suse x64 żeby eclipse mi działał. Tutaj ściągnij, rozpakuj, pisz.

Napisał Zyx w czwartek, 18 października 2007 o 14:04

Marcin -> dokładnie! Do sierpnia też miałem właśnie zestaw Eclipse 3.2 + PHPEclipse i nie pamiętam, by były z nim TAKIE problemy; nawet to rzekomo bardziej złożone obliczeniowo kolorowanie składni było lepsze+stabilniejsze :). Być może downgrade to jest najwłaściwsze rozwiązanie?

Bob -> jest Java od Suna. System operacyjny nie będzie zmieniany, a tym bardziej architektura. Arch Linux spisuje się bardzo dobrze - nawiasem mówiąc za kilkanaście dni będzie rocznica oficjalnej przesiadki :).

Napisał nedo w niedzielę, 21 października 2007 o 10:42

Jestem z Tobą. Chciałem potestować Zend Studio Neon, ale wobec regularnej zwiechy co parę minut postanowiłem spróbować PDT. Męczę się już 3 dzień. Zend neon wiesza się przy 'building php projects' a Eclipse 3.3.1 przy otwieraniu edytora php po Remote System Explorer / FTP wywala unable to open editor (java null pointer exception)
Dostaje bladej cholery, bo stare dobre zend studio 5.5 nie radzi sobie z serwerem FTP home.pl a tam mam swoj projekt.

Strona 1 z 1 :: 1

Skomentuj

NickInformacja
E-mailTylko do użytku wewnętrznego.
WWWNie zapomnij o http://
LayoutNapisz tu, czy widzisz dzienny czy nocny layout.
WpisFormatowanie wiki
Internauto, pamiętaj! Wolność to nie samowola - dbaj o kulturę wypowiedzi oraz dyskusji w sieci.

Na Zyxist.com panuje swoboda wyrażania opinii oraz krytyki pod dowolnym adresem. Jedyny warunek: musi być ona kulturalna i rzeczowa. Na chamstwo, prostactwo lub jawne obrażanie kogokolwiek nie ma tu miejsca i takie komentarze są bardzo szybko usuwane. Jeśli zamierzasz polemizować z treścią wpisu, wpierw uważnie ją przeczytaj.

© Tomasz "Zyx" Jędrzejewski 2005 - 2008 | Wykonanych zapytań: 2 | Serwer wirtualny zapewnia