Dziwny fatal error.

0

Witam. Dziś przy pisaniu programu wyskoczył mi "Fatal: Internal error 200309201
Szukałem w Internecie, lecz nie wiem o co chodzi w ogóle i dlaczego on się pojawia.

2

Jest to wewnętrzny błąd kompilatora (FPC, jak zgaduję); pobierz najnowszą wersję + update z trunk'a i powinno być ok lub przepisz kod.
Wrzuć kawałek kodu, który powoduje ten internal error - zobaczymy, co więcej z tym można zrobić (tzn.poza ewentualnym zgłoszeniem na buqtraq ;P).

0

Przy End. niby. Ale musze zainstalować najnowszą wersje bo to nic z programem chyba :]
Dzięki

0

bo to nic z programem chyba

To jest „coś z programem” w tym sensie, że FPC się na twoim programie wywala.
Zresztą ten kompilator stabilny jak skała nigdy nie był, przyzwyczaj się że raz na jakiś czas trafisz na “internal error” nawet na prawidłowym zdawałoby się kodzie.

1

Zgłoś problem tutaj: http://bugs.freepascal.org/my_view_page.php
Ale najpierw sprawdź czy nie jest on już zgłoszony (najlepiej szukać po kodzie błędu) i zredukuj przykład który wywala FPC do najprostszej postaci. Wtedy wrzuć kod, opisz okoliczności błędu, może przy wyższych poziomach wyświetlania FPC poda dokładniejsze miejsce problemu. I koniecznie sprawdź na trunku, czyli pobierz sobie repozytorium SVN i daj make clean all install INSTALL_PREFIX=C:\KatalogNowegoFPC OPT="-gl" i na tej wersji zobacz czy wykrzacza, jak tak to nie naprawili i powiedz im że wywala na 2.7.1 + numer wersji SVN.
Jeżeli chcesz to mogę Tobię pomóc jeżeli dasz kod który wywala, bo akurat mam skompilowany w miarę świeży FPC z debugiem...

To jest „coś z programem” w tym sensie, że FPC się na twoim programie wywala.

Żaden kod nie powinien wywalać FPC, takie jest założenie. Więc w takim znaczeniu nic z nim nie jest.

0

Wywalało przy kompilacji kilku kodów, które wcześniej działały. Zainstalowałem najnowszego i działa.

0

Jest to wewnętrzny błąd i nie zależy od poprawności kodu. Pomaga zazwyczaj update (aktualizacja) lub przeinstalowanie Pascala.

0
Patryk27 napisał(a)

Btw, w większości przypadków/czasami zależy od poprawności kodu. Dla przykładu, FPC 2.6.2 crashuje się (internal error) przy takim bezsensownym kodzie: mov xmm, [xmm] ;]

Jeżeli nie jest zgłoszone to zgłoś w mantisie. W żadnym wypadku nie powinien być zgłaszany internal error i @programmerr ma rację że jest to wewnętrzny błąd natomiast zapewne chodziło mu że nie powinien on zależeć od poprawności kodu.
Natomiast...

Pomaga zazwyczaj update (aktualizacja) lub przeinstalowanie Pascala.

W jaki sposób twoim zdaniem przeinstalowanie kompilatora ma pomóc na internal error który jest błędem jak sam stwierdziłeś wewnętrznym? Wtf.
Co do update, zgoda, tylko że cykl wydawniczy takiego FPC to powiedzmy że pół roku, więc ciężko nie mieć najnowszego (chyba że nie umiesz powtórzyć kroków które wykonałeś aby pobrać pierwszego FPC lub nigdy nie wchodzisz na stronę bo dokumentacja jest dla cieniasów), no chyba że korzystasz z SVN.

Generalnie to kolega coś mi się wydaje że udaje że umie, natomiast tak dokładnie to nie wie o co chodzi. Ale ciężko stwierdzić na podstawie dwóch postów.

0

In fact, czasami przeinstalowanie może również pomóc pozbyć się internal error-ów, gdy np.jakiś plik z którego korzysta kompilator był uszkodzony (np.systemowe ppu)...

Tak? Bardzo ciekawe, bo ppu mają checksum i raczej mała jest szansa że ktoś to zepsuje. Wątpię żeby jakiekolwiek uszkodzenie ppu było w stanie wypluć IE.
Nigdy nie spotkałem się z przypadkiem że IE wynikał ze złej konfiguracji etc., więc proszę o poparcie przykładem jeżeli tak nie jest.
Sprawa jest taka że IE nie powinien występować nigdy poza błędem który nie wynika z błędu użytkownika i każde wyplucie IE jest traktowane jako błąd, nie ważne czy ppu czy inny kosmos jest zepsuty. Więc reinstall nic do tego nie powinien mieć i skłaniam się ku poglądowi że nie ma, bo tak czy siak należy go zgłaszać.

Chodziło mi o aktualizację. Szybko pisałem i przejęzyczyłem się z przeinstalowaniem.

Przejęzyczyłem? Więc chodzi ci o: Pomaga zazwyczaj update (aktualizacja) lub aktualizacja Pascala. Ach no tak, teraz wszystko jasne.

Zgłosiłem parę dni temu (bug odkryłem optymalizując mój raytracer ;P) - odpowiedzieli, że ktoś go już naprawił, bo w trunku nie występuje IE.

Ty się ciesz że twój problem naprawili w trunku, bo mój patch już od paru miesięcy czeka aż do zaaplikują na co się nie zanosi więc korzystam ze swojego zmodyfikowanego trunka przy większości rzeczy...

1 użytkowników online, w tym zalogowanych: 0, gości: 1