"Error while computing" na Linuxie

Zaczęty przez pwl, 08 Maj 2011, 19:04

pwl

Witam.
Problem jest taki, że po pare razy klient pobrał mi pakiety dla Astropulse v505 v5.06 i liczenie po paru sekundach zakończyło się statusem "Błąd". Na stronie Tasks/Wyniki widnieją takie wpisy:
Cytat




Task nameStatystykiKomputerySentTime reported
or deadline
StatusRun time
(sec)
CPU time
(sec)
StwórzAplikacje
ap_29no06aa_B0_P1_00284_20110507_32602.wu_073983729659323348 May 2011 | 7:44:02 UTC8 May 2011 | 12:37:21 UTCError while computing1.090.00---Astropulse v505 v5.06
ap_28dc06ai_B1_P1_00158_20110507_26557.wu_173964552259323348 May 2011 | 0:43:05 UTC8 May 2011 | 3:04:32 UTCError while computing0.000.00---Astropulse v505 v5.06
ap_27ja07ab_B5_P1_00187_20110507_11736.wu_173954003559323347 May 2011 | 20:44:45 UTC8 May 2011 | 0:26:22 UTCError while computing1.160.00---Astropulse v505 v5.06
ap_22mr07aa_B2_P1_00186_20110506_12927.wu_173925222059323347 May 2011 | 8:57:19 UTC7 May 2011 | 14:23:15 UTCError while computing1.090.00---Astropulse v505 v5.06

Po wejściu w szczegóły zadania w Stderr output w każdym z zadań wurzuca podobny komunikat:
CytatStderr output

<core_client_version>6.10.58</core_client_version>
<![CDATA[
<message>
process got signal 11
</message>
<stderr_txt>
In ap_gfx_main.cpp: in ap_graphics_init(): Starting client.
SIGSEGV: segmentation violation

</stderr_txt>
]]>

Mój sprzęt: HP Pavilion dv6640ew; AMD Turion(tm) 64 X2 Mobile Technology TL-58 [Family 15 Model 104 Stepping 2] 512 KB cache; 1 GB RAM; NVIDIA GeForce 8400M GS (sterowniki z repo, CUDA 3020, compute capability 1.1, 127MB, 26 GFLOPS peak)
Mój OS: GNU/Linux Ubuntu 10.10PL Malinowa Mandarynka amd64 (x86_64) (2.6.35-29-generic)
Mój klient: 6.10.58 for x86_64-pc-linux-gnu
Aplikacje: SETI@home Enhanced 5.28 x86_64-pc-linux-gnu; Astropulse v505 5.06 x86_64-pc-linux-gnu

Szukając w necie znalazłem tipa, żeby zaznaczyć opcię: Preferencje lokalne > Użycie dysku oraz pamięci > przełączając między projektami pozostawiaj aplikacje w pamięci operacyjnej. Opcja ta była cały czas zaznaczona.
Pamięć została sprawdzona programem MemTest86 v4.10.

Proszę o pomoc w rozwiązaniu problemu. Z góry dziękuje za odpowiedzi.
Pozdro

Troll81

witamy pwl na forum i zapraszam cię do działu wizytówki gdzie możesz nam opowiedzieć więcej o sobie :D Jak nam podasz z jakiego województwa jesteś i link do swoich statystyk to odnotujemy cię w wyścigu województw.

hm.... a jaką masz temperaturę procesora?

emik

a co z uprawnieniami na zapis plików


pwl

Procek się troche zgrzał, ale nie ma wpływu na wydajność kompa. Pracuje stabilnie - Przy pełnym obciążeniu przez BOINCa, swobodnie przeglądam internet i słucham muzy. Poza tym na SETI@home Enhanced v5.28 już 631 pktów zdobyłem bez żadnych problemów, więc stabilność proca i uprawnienia ok.

Znalazłem takie coś: http://boincfaq.mundayweb.com/index.php?view=459&language=1
CytatBut it can also happen when you use a 64bit operating system, while the project you're getting the crashes on only gives out 32bit applications (such as Einstein does). Installing the ia32 library package will fix this problem. See also process exited with code 22 which is a similar error, on the application level.

Czy Astropulse "only gives out 32bit applications"?

Województwo świętokrzyskie. http://boinc.netsoft-online.com/e107_plugins/boinc/get_user.php?cpid=78b35f17591c289d4e13b30451897835&html=1

Pozdro

Troll81

CytatAplikacje: SETI@home Enhanced 5.28 x86_64-pc-linux-gnu; Astropulse v505 5.06 x86_64-pc-linux-gnu

wygląda na to ze dostałeś aplikację 64bitową

pwl

Na stronie: http://boincfaq.mundayweb.com/index.php?language=1&view=280 jest napisane:
CytatThe explanation for this is that 32-bit binaries don't just work on every 64-bit Linux. If for example you install a fresh Ubuntu 6.10 or 7.04, 32-bit binaries won't work. They are not even recognized as valid executables. You first have to install the ia32 package and dependent packages. Further, for programs that link with the graphic library, you will manually have to copy a 32-bit libglut library to the usr/lib32 directory.
pwl@HP-Pavilion:~$ sudo apt-get install ia32-libs
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności      
Odczyt informacji o stanie... Gotowe
ia32-libs jest już w najnowszej wersji.
0 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 0 nieaktualizowanych.
pwl@HP-Pavilion:~$ cd /usr/lib32 && ls | grep libglut
libglut.so
libglut.so.3
libglut.so.3.9.0
pwl@HP-Pavilion:/usr/lib32$

Jakieś pomysły? :)

buninek

Jeśli są trudności z określeniem przyczyny błędu najprościej jest odpalić tą aplikację w terminalu z uprawnieniami użytkownika, który odpala boinca.
Skopiuj aplikację do /tmp i odpal.
Przykładowo, jeśli jest to użytkownik systemowy boinc, to

su boinc -c '/tmp/./astropulse-seti...'

Jesteś pewien, że z pomocą tej karty 8400M GS, można liczyć w tym projekcie?

Troll81

8400 obsługuje CUDA i powinna ruszyć Seti

Grzes

Miałem podobną sytuacje, astropulse zaczynało liczyć, czasami liczyło pare minut a czasami nawet ponad godzinę.... zawsze kończyło się błędem. Nie policzyło mi ani jednej próbki poprawnie. Zanim zdążyłem znaleźć przyczyne przestali mi te próbki przysyłać. Od dłuższego czasu już ich nie widzę.

buninek

No, tak. Oficjalnej aplikacji CUDA dla Linuxa nie ma. Nieoficjalne

http://lunatics.kwsn.net/index.php?module=Downloads;catd=34
lub kombinowana CUDA+CPU
http://www.mpits.net/opt_sah.php

mogą, ale nie muszą działać w każdej konfiguracji sprzętowej
Ta karta łapie się do absolutnego minimum, jakie obsługują CUDA. Wersja sterowników też jest bardzo istotna.

Błąd
CytatSIGSEGV: segmentation violation
to już raczej coś poważnego, stąd propozycja uruchomienia aplikacji "z palca".

pwl

Sorry, że się nie odzywałem. Miałem trochę innych zajęć.
Cytat: buninek w 09 Maj 2011, 14:43
No, tak. Oficjalnej aplikacji CUDA dla Linuxa nie ma. Nieoficjalne

http://lunatics.kwsn.net/index.php?module=Downloads;catd=34
lub kombinowana CUDA+CPU
http://www.mpits.net/opt_sah.php
Więc którą z nich wybrać? Która jest lepsza? Jakie są minusy używania modyfikacji?
Cytatmogą, ale nie muszą działać w każdej konfiguracji sprzętowej
Ta karta łapie się do absolutnego minimum, jakie obsługują CUDA. Wersja sterowników też jest bardzo istotna.
Zgonie z nvidia-settings NVIDIA Driver Version:260.19.06
CytatBłąd
CytatSIGSEGV: segmentation violation
to już raczej coś poważnego, stąd propozycja uruchomienia aplikacji "z palca".

Co masz na myśli pod pojęciem "z palca"?
Cytat: buninek w 08 Maj 2011, 23:18
Jeśli są trudności z określeniem przyczyny błędu najprościej jest odpalić tą aplikację w terminalu z uprawnieniami użytkownika, który odpala boinca.
Skopiuj aplikację do /tmp i odpal.
Przykładowo, jeśli jest to użytkownik systemowy boinc, to

su boinc -c '/tmp/./astropulse-seti...'

Jesteś pewien, że z pomocą tej karty 8400M GS, można liczyć w tym projekcie?

su boinc -c '/tmp/./astropulse-seti...' - nie bardzo jestem w  stanie ogarnąć sens tej linijki. Po parametrze -c powinno być jakieś polecenie.

Pozdro

buninek

Z palca, czyli samodzielnie w terminulu. Przeciwieństwo automatycznego uruchamiania przez boincowy daemon.
Uruchomienie w celu prostego testu, mającego określić czy aplikacja wykłada się już w momencie startu. Na terminalu uzyskasz bardziej przejrzysty komunikat błędu.

Cytatsu boinc -c '/tmp/./astropulse-seti...' - nie bardzo jestem w  stanie ogarnąć sens tej linijki. Po parametrze -c powinno być jakieś polecenie.
Jest.
Polecenie brzmi - przeczytaj (uruchom) plik "astropulse-seti..." z katalogu /tmp z ID użytkownika boinc.

pwl

#12
No w sumie niby racja ;) Ale IMHO powinno być su boinc -c './tmp/astropulse-seti...' albo su boinc -c 'cd /tmp/ && ./astropulse-seti...'
Czy mowa o tym pliku: /var/lib/boinc-client/projects/setiathome.berkeley.edu/astropulse_5.06_x86_64-pc-linux-gnu ?? Innego podobnego nie znalazłem. Mam rozumieć, że uruchomić jako użytkownik 'boinc'?

A jak z tymi modami?

Pozdro

buninek

Od początku coś sobie zakodowałem, że masz problemy z aplikacją pod CUDA.   :wacko:
Prawdopodobnie przez ten komunikat.
Cytat<stderr_txt>
In ap_gfx_main.cpp: in ap_graphics_init(): Starting client.
SIGSEGV: segmentation violation
</stderr_txt>
Dopiero teraz do mnie dociera, że samodzielnie nic nie instalowałeś,  :) czyli masz aplikację stockową na CPU. Możesz ją  odpalić na prawach zwykłego użytkownika ona i tak pewnikiem działa.

Zgodnie z tym, http://setiathome.berkeley.edu/apps.php, aplikacji pod CUDA nie ma, a komunikat sugeruje próbę zai
nicjowania grafy.

Jakie masz ustawienia w profilu na koncie SETI dotyczące liczenia? Może trzeba odhaczyć coś, aby nie liczył na grafie.

Ewentualni pobrać aplikację pod CUDA (link wyżej).

Rozpakować, przeczytać instrukcję zawartą w pliku. Zatrzymać boinca, skopiować do odpowiedniego katalogu z projektem
np. /var/lib/boinc-client/projects/setiathome.berkeley.edu.
Ponownie uruchomić boinc i liczyć na cud.

pwl

Nie, niczego nie instalowałem "manualnie". BOINC z repozytorium. Jest możliwość odhaczenia, ale trochę żal dupę ściska, że nie będzie wykorzystywana pełna moc komputera... :(
A jak jest z tymi modami/optymalizacjami? Są jakieś minusy ich instalacji? Którą z tych dwóch wyżej podanych wybrać?

Pozdro


lolek

Cytat: Tomasz R. Gwiazda w 14 Maj 2011, 00:02
szkoda GPU na SETI

Odpal na tym PG lub CC i pójdzie Ci od palca - a i efekt punktowy będzie leszy (szczególnie w PG)

pwl

Witam ponownie.
Więc to co poczyniłem w materii problemu to na początek sprawdziłem czy BOINC pobierze jakieś paczki jeśli w ustawieniach SETI będzie:
CytatUse CPU    yes
Use NVIDIA GPU    no
SETI@home Enhanced: no
Astropulse v5: yes
Astropulse v5.05: yes
Próba ta zakończyła się niepowodzeniem, więc postanowiłem zainstalować optymalizację. Wybrałem 01-Linux 64bit AstroPulse_v505, v5.06 SSE3 (r411), Aug10. Skopiowałem zgodnie z instrukcją plik ap_5.06r411_sse3_linux64 oraz plik app_info.xml o zawartości:<app_info>
   <app>
       <name>astropulse_v505</name>
   </app>
   <file_info>
       <name>ap_5.06r411_sse3_linux64</name>
       <executable/>
   </file_info>
   <app_version>
       <app_name>astropulse_v505</app_name>
       <version_num>506</version_num>
       <file_ref>
           <file_name>ap_5.06r411_sse3_linux64</file_name>
           <main_program/>
       </file_ref>
   </app_version>
</app_info>
Jednak po uruchomieniu BOINCa, zaczął krzyczeć (nie pamiętam dokładnie a nigdzie nie zapisałem), że nie może znaleźć pliku dla SETI@home Enhanced więc zmodyfikowałem plik app_info.xml do takiej postaci:<app_info>
   <app>
       <name>astropulse_v505</name>
   </app>
   <file_info>
       <name>ap_5.06r411_sse3_linux64</name>
       <executable/>
   </file_info>
   <app_version>
       <app_name>astropulse_v505</app_name>
       <version_num>506</version_num>
       <file_ref>
           <file_name>ap_5.06r411_sse3_linux64</file_name>
           <main_program/>
       </file_ref>
   </app_version>

   <app>
       <name>setiathome_enhanced</name>
   </app>
   <file_info>
       <name>setiathome-5.28.x86_64-pc-linux-gnu</name>
       <executable/>
   </file_info>
   <app_version>
       <app_name>setiathome_enhanced</app_name>
       <version_num>528</version_num>
       <file_ref>
           <file_name>setiathome-5.28.x86_64-pc-linux-gnu</file_name>
           <main_program/>
       </file_ref>
   </app_version>
</app_info>
Po tym zabiegu BOINC zaczął działać bez komunikatów o błędach i pobrał 2 paczki dla Astropulse v505 i rozpoczął liczenie. Liczenie (trwajace już ~35 godzin) powoli kończy się. A na stronie Tasks wygląda to tak:
Cytat1912810751    744851992    5932334    16 May 2011 | 18:21:41 UTC    10 Jun 2011 | 18:21:41 UTC    In progress    ---    ---    ---    Astropulse v505 Anonymous platform (CPU)
1911417381    738845583    5932334    15 May 2011 | 13:52:08 UTC    9 Jun 2011 | 13:52:08 UTC    In progress    ---    ---    ---    Astropulse v505 Anonymous platform (CPU)
Moje pytania to:

  • Czy plik app_info.xml jest poprawnie zapisany? Czy może coś trzeba zmienić/poprawić?
  • O co kaman z "Anonymous platform" na stronie Tasks?
  • Czy 35h to nie za długo?

Teraz zamierzam przetestować liczenie Astropulse na GPU. Zobaczymy co z tego wyjdzie. :)

Cytat: lolek w 14 Maj 2011, 19:35
Cytat: Tomasz R. Gwiazda w 14 Maj 2011, 00:02szkoda GPU na SETI
Odpal na tym PG lub CC i pójdzie Ci od palca - a i efekt punktowy będzie leszy (szczególnie w PG)
Cytat: Tomasz R. Gwiazda w 14 Maj 2011, 00:02szkoda GPU na SETI
Nie liczę dla punktów ;)

Pozdro

buninek

Nie chciał pobrać zadań na CPU? Może trzeba zresetować albo dla pewności odłączyć się od projektu i przyłączyć ponownie.

Anonymous platform - pozwala na użycie aplikacji nie pochodzącej z serwera projektu. Taka możliwość istnieje w przypadku projektów, które udostępniają kod źródłowy i pozwalają na użycie takich zewnętrznych appek. Daje to szanse udziału w liczeniu na nietypowej platformie sprzętowo-systemowej.

Cytat: pwl w 18 Maj 2011, 13:41
Cytat: Tomasz R. Gwiazda w 14 Maj 2011, 00:02szkoda GPU na SETI
Nie liczę dla punktów ;)
Nie każdy rodzaj obliczeń da się wydajnie zaimlementować na GPU. Seti to bardzo popularny projekt wokół niego kręcą się naprawdę zdolni programiści.

lolek

Nie chodziło mi o punkty, tylko o bezsens wykorzystywania GPU tam gdzie się nie sprawdza. W SETI dobry procek da tyle samo co doba grafa. Natomiast w wielu projektach kiepska grafa da więcej niż dobry procesor.