work units

Zaczęty przez mariotti, 13 Lipiec 2013, 15:24

mariotti


mariotti

Niby dodałem aplikację liczącą i work unit, ale coś nie działa. Klient krzyczy HTTP file not found.

sob, 13 lip 2013, 18:18:53 | perft | update requested by user
sob, 13 lip 2013, 18:18:54 | perft | Sending scheduler request: Requested by user.
sob, 13 lip 2013, 18:18:54 | perft | Requesting new tasks for CPU
sob, 13 lip 2013, 18:18:56 | perft | Scheduler request failed: HTTP file not found

Nie wiem nawet jakiego pliku nie możne znaleźć.

Pozdrawiam



Rysiu

Najprawdopodobniej coś namieszałeś podczas zmiany URL projektu i teraz nie chce łyknąć.

mariotti

Cytat: Rysiu w 13 Lipiec 2013, 18:26
Najprawdopodobniej coś namieszałeś podczas zmiany URL projektu i teraz nie chce łyknąć.

Wyciągnąłem URL z logów apache2:

File does not exist: /home/perft/www/html/user/perft_cgi

Pierwsze słyszę że do czegoś powinien być taki plik.

Pozdrawiam

Rysiu

Dlaczego masz tak dziwną ścieżkę? Sam coś kombinowałeś czy standardowo była taka?

mariotti

#5
Cytat: Rysiu w 13 Lipiec 2013, 18:44
Dlaczego masz tak dziwną ścieżkę? Sam coś kombinowałeś czy standardowo była taka?
Moim zdaniem nie jest dziwna. Wszystko robiłem sam, ale według tutoriali. Użytkownik-właściciel
projektu nazywa się perft, więc do momentu /home/perft nie ma nic dziwnego. Instalacja jest w
pod-katalogu użytkownika www. Dalej html/users to standardowy katalog części serwisu dostępnej dla
wszystkich userów. Natomiast nie mam bladego pojęcia  skąd się bierze i do czego służy i dlaczego
boinc-client pyta o perft_cgi.

Pozdrawiam
[edit]
Chodzi o te logi:

cat var/log/apache2/error.log
[Sat Jul 13 20:28:49 2013] [error] [client 153.153.153.25] File does not exist: /home/perft/www/html/user/perft_cgi
[Sat Jul 13 20:29:55 2013] [error] [client 58.153.153.131] File does not exist: /home/perft/www/html/user/perft_cgi
[Sat Jul 13 20:31:32 2013] [error] [client 58.153.45.108] File does not exist: /home/perft/www/html/user/perft_cgi
[Sat Jul 13 20:31:51 2013] [error] [client 153.153.153.25] File does not exist: /home/perft/www/html/user/perft_cgi
[Sat Jul 13 20:33:45 2013] [error] [client 58.153.153.69] File does not exist: /var/www/phppath
[Sat Jul 13 20:36:02 2013] [error] [client 58.45.153.158] File does not exist: /home/perft/www/html/user/perft_cgi
[Sat Jul 13 20:37:19 2013] [error] [client 153.153.153.25] File does not exist: /home/perft/www/html/user/perft_cgi
[Sat Jul 13 20:39:15 2013] [error] [client 58.153.45.15] PHP Notice:  Undefined variable: PROJECT in /home/perft/www/html/languages/compiled/pl.po.inc on line 374
[Sat Jul 13 20:39:18 2013] [error] [client 58.153.45.15] File does not exist: /home/perft/www/html/user/favicon.ico
[Sat Jul 13 20:39:20 2013] [error] [client 58.153.45.15] File does not exist: /home/perft/www/html/user/favicon.ico
[Sat Jul 13 20:39:21 2013] [error] [client 58.153.45.15] File does not exist: /home/perft/www/html/user/favicon.ico
[Sat Jul 13 20:39:22 2013] [error] [client 58.153.45.15] File does not exist: /home/perft/www/html/user/favicon.ico
[Sat Jul 13 20:42:47 2013] [error] [client 58.153.153.20] File does not exist: /home/perft/www/html/user/perft_cgi
[Sat Jul 13 20:47:42 2013] [error] [client 153.153.153.25] File does not exist: /home/perft/www/html/user/perft_cgi
[Sat Jul 13 20:52:47 2013] [error] [client 58.153.45.75] File does not exist: /home/perft/www/html/user/perft_cgi
[Sat Jul 13 20:56:18 2013] [error] [client 153.153.45.2] File does not exist: /home/perft/www/html/user/perft_cgi
[Sat Jul 13 21:08:07 2013] [error] [client 58.45.153.14] File does not exist: /home/perft/www/html/user/robots.txt
[Sat Jul 13 21:08:11 2013] [error] [client 58.153.153.175] Invalid method in request \x16\x03\x01
[Sat Jul 13 21:11:48 2013] [error] [client 58.45.153.158] File does not exist: /home/perft/www/html/user/perft_cgi
[Sat Jul 13 21:14:42 2013] [error] [client 58.153.45.108] File does not exist: /home/perft/www/html/user/perft_cgi
[Sat Jul 13 21:18:44 2013] [error] [client 153.153.153.25] File does not exist: /home/perft/www/html/user/perft_cgi
[Sat Jul 13 21:23:34 2013] [error] [client 58.153.153.183] File does not exist: /home/perft/www/html/user/robots.txt
[Sat Jul 13 21:31:07 2013] [error] [client 153.153.45.2] File does not exist: /home/perft/www/html/user/perft_cgi

Rysiu

Ok. Właśnie te www trochę mnie zmyliło.

Pod jakim adresem www masz cgi?

mariotti

Cytat: Rysiu w 13 Lipiec 2013, 20:08
Ok. Właśnie te www trochę mnie zmyliło.
Racja, ten element jest mylący.

Cytat: Rysiu w 13 Lipiec 2013, 20:08
Pod jakim adresem www masz cgi?
Hmmm... pod ten link podpiąłem program  /cgi-bin/cgi
http://perft.computers-chess.com/perft_cgi

Teraz błedu nie mam, ale wygląda jakby nie było tasków. Zrzut z
boinc-manager

sob, 13 lip 2013, 20:35:20 | perft | update requested by user
sob, 13 lip 2013, 20:35:25 | perft | Sending scheduler request: Requested by user.
sob, 13 lip 2013, 20:35:25 | perft | Requesting new tasks for CPU
sob, 13 lip 2013, 20:35:27 | perft | Scheduler request completed: got 0 new tasks
sob, 13 lip 2013, 20:35:27 | perft | No tasks sent


Pozdrawiam

mariotti

Cytat: mariotti w 13 Lipiec 2013, 20:38
Teraz błedu nie mam, ale wygląda jakby nie było tasków.
A może wersja systemu operacyjnego po stronie klienta się nie zgadza.
Klient wysyła takie zapytania:

perft.computers-chess.com:80 ip.ip.ip.ip - - [13/Jul/2013:22:39:14 +0400] "POST /perft_cgi/cgi HTTP/1.1" 200 1000 "-" "BOINC client (windows_x86_64 7.0.64)"
perft.computers-chess.com:80 ip.ip.ip.ip - - [13/Jul/2013:22:39:15 +0400] "GET /notices.php?userid=3&auth=3_f6561438c2745c833f980c0266990d74 HTTP/1.1" 200 621 "-" "BOINC client (windows_x86_64 7.0.64)"
perft.computers-chess.com:80 ip.ip.ip.ip - - [13/Jul/2013:22:39:47 +0400] "GET /notices.php?userid=1&auth=1_ae1cb2da42715363e209d0d32481eec3 HTTP/1.1" 200 621 "-" "BOINC client (x86_64-pc-linux-gnu 6.12.33)"
perft.computers-chess.com:80 ip.ip.ip.ip - - [13/Jul/2013:22:39:49 +0400] "POST /perft_cgi/cgi HTTP/1.1" 200 960 "-" "BOINC client (x86_64-pc-linux-gnu 6.12.33)"


Czy z tego można wnioskować, ze nazwa systemu powinna w pierwszym przypadku brzmieć: windows_x86_64, a
w drugim x86_64-pc-linux-gnu? Czy może ten numerki na końcu też się jakoś liczą: windows_x86_64 7.0.64   i
x86_64-pc-linux-gnu 6.12.33 ?
Pozdrawiam

Rysiu

Nie rozumiem za bardzo ostatniego pytania.

Dodałeś aplikację na Linux'a 64-bit i musisz połączyć się za pomocą klienta z takiej maszyny. Z innych systemów operacyjnych nie pobierzesz zadań.

Te numerki na końcu oznaczają wersję klienta BOINC.

Szopler

Nic dziwnego skoro masz: upload/download server   x   Disabled

Rysiu

Cytat: Szopler w 13 Lipiec 2013, 21:06
Nic dziwnego skoro masz: upload/download server   x   Disabled
To nic do tego nie ma. W OProject@Home też mam wyłączony upload/download server i zadania są normalnie przydzielne. Na to nie ma co zwracać uwagi bo to odnosi się do czegoś innego.

mariotti

Cytat: Rysiu w 13 Lipiec 2013, 20:57
Nie rozumiem za bardzo ostatniego pytania.
Dodałeś aplikację na Linux'a 64-bit i musisz połączyć się za pomocą klienta z takiej maszyny. Z innych systemów operacyjnych nie pobierzesz zadań.
Te numerki na końcu oznaczają wersję klienta BOINC.
Zastanawiam się co skopałem. Klient teraz otrzymuje od serwera odpowiedź, że nie ma zadań.
Tymczasem jedno zadanie dodałem, a przynajmniej tak mi się wydaje. Zadanie na pewno jest w
panelu administracyjnym.

Dodałem też aplikację liczącą. Aplikację liczącą dodaje się poprzez umieszczenie jej plik(ów) w drzewku
app/app-name/app-version/system-name, a następnie uruchamia się program bin/update_version - tak też zrobiłem.
Gdy podglądam zapytania od klienta do apache, to widzę taką nazwę klienta: "x86_64-pc-linux-gnu 6.12.33". Tymczasem 
jako system-name w drzewku katalogów dałem "x86_64-pc-linux-gnu".  Niby to samo, ale nie działa.

Min_core_version ustawiłem na  5, a Max_core_version=10. Wersje klientów mieszczą się w przedziale. No ale z
jakiegoś powodu nie działa.

Pozdrawiam


sknd


File does not exist: /home/perft/www/html/user/perft_cgi

a nie ma tam być users?

mariotti

Cytat: sknd w 13 Lipiec 2013, 21:14

File does not exist: /home/perft/www/html/user/perft_cgi

a nie ma tam być users?
To już (chyba) udało się rozwiązać. BTW w ścieżce jest user w liczbie pojedynczej.

perft@x:~/www/html$ ls -l
total 40
drwxrws--- 258 perft www-data  4096 Jul 11 00:00 cache
drwxrws---   2 perft www-data  4096 Jul 10 23:50 inc
drwxrws---   5 perft www-data  4096 Jul 10 23:50 languages
drwxr-xr-x   5 perft www-data  4096 Jul 11 00:23 ops
drwxr-xr-x   2 perft www-data  4096 Jul 10 23:50 project
drwxr-xr-x   2 perft www-data  4096 Jul 10 23:50 stats
drwxr-xr-x   3 perft www-data 12288 Jul 10 23:50 user  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
drwxr-xr-x   3 perft www-data  4096 Jul 10 23:50 user_profile

mariotti

Cytat: Szopler w 13 Lipiec 2013, 21:06
Nic dziwnego skoro masz: upload/download server   x   Disabled
Poprawiłem i nadal nie podaje zadań - zgodnie z tym co Rysiu już napisał.
http://perft.computers-chess.com/server_status.php
Pozdrawiam

mariotti

Padam na dziś, nie wiem dlaczego serwer nie podaje tasków.
Za niedługo się odezwę, może znajdzie się jakieś rozwiązanie.
Pozdrawiam

TJM

Wejdź w katalog z logami projektu, odpal tail -f ./scheduler.log następnie z poziomu managera aktualizacja projektu, wklej log managera i to co wyskoczy w logu schedulera.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

mariotti

Cytat: TJM w 14 Lipiec 2013, 14:24
Wejdź w katalog z logami projektu, odpal tail -f ./scheduler.log następnie z poziomu managera aktualizacja projektu, wklej log managera i to co wyskoczy w logu schedulera.
Przeglądałem ten plik, ale w chwili obecnej nic z niego nie rozumiem.

2013-07-14 00:09:53.5438 [PID=5258 ]   Request: [USER#1] [HOST#1] [IP 213.195.165.25] client 6.12.33
2013-07-14 00:09:53.5589 [PID=5258 ]    Sending reply to [HOST#1]: 0 results, delay req 7.00
2013-07-14 00:09:53.5595 [PID=5258 ]    Scheduler ran 0.018 seconds
2013-07-14 00:11:04.4498 [PID=5265 ]   Request: [USER#1] [HOST#1] [IP 213.195.165.25] client 6.12.33
2013-07-14 00:11:04.4890 [PID=5265 ]    Sending reply to [HOST#1]: 0 results, delay req 7.00
2013-07-14 00:11:04.4896 [PID=5265 ]    Scheduler ran 0.043 seconds
2013-07-14 00:11:51.4819 [PID=5270 ]   Request: [USER#1] [HOST#1] [IP 213.195.165.25] client 6.12.33
2013-07-14 00:11:51.5078 [PID=5270 ]    Sending reply to [HOST#1]: 0 results, delay req 7.00
2013-07-14 00:11:51.5084 [PID=5270 ]    Scheduler ran 0.029 seconds
2013-07-14 00:17:23.7027 [PID=5392 ]   Request: [USER#1] [HOST#1] [IP 213.195.165.25] client 6.12.33
2013-07-14 00:17:23.7055 [PID=5392 ]    Sending reply to [HOST#1]: 0 results, delay req 7.00
2013-07-14 00:17:23.7061 [PID=5392 ]    Scheduler ran 0.006 seconds
2013-07-14 00:18:28.9951 [PID=5424 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 00:18:29.0176 [PID=5424 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 00:18:29.0182 [PID=5424 ]    Scheduler ran 0.025 seconds
2013-07-14 00:21:55.8104 [PID=5482 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 00:21:55.8447 [PID=5482 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 00:21:55.8455 [PID=5482 ]    Scheduler ran 0.038 seconds
2013-07-14 00:22:48.5936 [PID=5483 ]   Incomplete request received (used GET method - probably a browser) from IP 66.249.72.239, auth , platform , version 0.0.0
2013-07-14 00:22:48.5937 [PID=5483 ]   Sending reply to [HOST#0]: 0 results, delay req 7.00
2013-07-14 00:22:48.5937 [PID=5483 ]   Scheduler ran 0.000 seconds
2013-07-14 00:27:37.3534 [PID=5487 ]   Request: [USER#1] [HOST#1] [IP 213.195.165.25] client 6.12.33
2013-07-14 00:27:37.3874 [PID=5487 ]    Sending reply to [HOST#1]: 0 results, delay req 7.00
2013-07-14 00:27:37.3881 [PID=5487 ]    Scheduler ran 0.037 seconds
2013-07-14 00:31:08.5131 [PID=5495 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 00:31:08.5217 [PID=5495 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 00:31:08.5223 [PID=5495 ]    Scheduler ran 0.011 seconds
2013-07-14 00:59:22.4739 [PID=5531 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 00:59:22.4885 [PID=5531 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 00:59:22.4892 [PID=5531 ]    Scheduler ran 0.018 seconds
2013-07-14 01:38:50.1581 [PID=5588 ] [CRITICAL]  Caught SIGTERM (sent by Apache); exiting
2013-07-14 01:44:37.2901 [PID=5617 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 01:44:37.2932 [PID=5617 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 01:44:37.2941 [PID=5617 ]    Scheduler ran 0.007 seconds
2013-07-14 01:46:46.9728 [PID=5618 ]   Request: [USER#4] [HOST#8] [IP 81.156.14.140] client 7.0.65
2013-07-14 01:46:46.9850 [PID=5618 ]    Sending reply to [HOST#8]: 0 results, delay req 7.00
2013-07-14 01:46:46.9856 [PID=5618 ]    Scheduler ran 0.041 seconds
2013-07-14 01:57:06.7540 [PID=5620 ]   Request: [USER#4] [HOST#8] [IP 81.156.14.140] client 7.0.65
2013-07-14 01:57:06.7722 [PID=5620 ]    Sending reply to [HOST#8]: 0 results, delay req 7.00
2013-07-14 01:57:06.7728 [PID=5620 ]    Scheduler ran 0.032 seconds
2013-07-14 02:25:17.5350 [PID=5673 ]   Request: [USER#7] [HOST#5] [IP 82.177.80.108] client 7.0.27
2013-07-14 02:25:17.5358 [PID=5673 ]    Sending reply to [HOST#5]: 0 results, delay req 7.00
2013-07-14 02:25:17.5367 [PID=5673 ]    Scheduler ran 0.007 seconds
2013-07-14 02:26:07.8121 [PID=5674 ]   Request: [USER#4] [HOST#8] [IP 81.156.14.140] client 7.0.65
2013-07-14 02:26:07.8241 [PID=5674 ]    Sending reply to [HOST#8]: 0 results, delay req 7.00
2013-07-14 02:26:07.8247 [PID=5674 ]    Scheduler ran 0.016 seconds
2013-07-14 03:00:41.6408 [PID=5724 ]   Request: [USER#4] [HOST#8] [IP 81.156.14.140] client 7.0.65
2013-07-14 03:00:41.6471 [PID=5724 ]    Sending reply to [HOST#8]: 0 results, delay req 7.00
2013-07-14 03:00:41.6477 [PID=5724 ]    Scheduler ran 0.009 seconds
2013-07-14 03:08:55.1629 [PID=5727 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 03:08:55.9527 [PID=5727 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 03:08:55.9532 [PID=5727 ]    Scheduler ran 0.793 seconds
2013-07-14 04:15:24.9823 [PID=5818 ]   Request: [USER#4] [HOST#8] [IP 81.156.14.140] client 7.0.65
2013-07-14 04:15:25.1492 [PID=5818 ]    Sending reply to [HOST#8]: 0 results, delay req 7.00
2013-07-14 04:15:25.1497 [PID=5818 ]    Scheduler ran 0.171 seconds
2013-07-14 05:46:48.0284 [PID=5962 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 05:46:48.0442 [PID=5962 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 05:46:48.0448 [PID=5962 ]    Scheduler ran 0.047 seconds
2013-07-14 05:54:00.1370 [PID=5970 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 05:54:00.1817 [PID=5970 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 05:54:00.1823 [PID=5970 ]    Scheduler ran 0.049 seconds
2013-07-14 06:10:14.1395 [PID=6000 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 06:10:14.1810 [PID=6000 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 06:10:14.1815 [PID=6000 ]    Scheduler ran 0.044 seconds
2013-07-14 06:41:27.9635 [PID=6053 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 06:41:27.9999 [PID=6053 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 06:41:28.0005 [PID=6053 ]    Scheduler ran 0.040 seconds
2013-07-14 06:50:15.4825 [PID=6055 ]   Request: [USER#7] [HOST#2] [IP 93.105.142.131] client 7.0.27
2013-07-14 06:50:15.6097 [PID=6055 ]    Sending reply to [HOST#2]: 0 results, delay req 7.00
2013-07-14 06:50:15.6101 [PID=6055 ]    Scheduler ran 0.131 seconds
2013-07-14 07:43:03.8248 [PID=7169 ]   Request: [USER#4] [HOST#8] [IP 81.156.14.140] client 7.0.65
2013-07-14 07:43:03.8420 [PID=7169 ]    Sending reply to [HOST#8]: 0 results, delay req 7.00
2013-07-14 07:43:03.8426 [PID=7169 ]    Scheduler ran 0.044 seconds
2013-07-14 08:27:47.6749 [PID=7341 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 08:27:47.6830 [PID=7341 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 08:27:47.6835 [PID=7341 ]    Scheduler ran 0.011 seconds
2013-07-14 10:46:25.5066 [PID=7632 ]   Request: [USER#7] [HOST#2] [IP 93.105.142.131] client 7.0.27
2013-07-14 10:46:25.5147 [PID=7632 ]    Sending reply to [HOST#2]: 0 results, delay req 7.00
2013-07-14 10:46:25.5156 [PID=7632 ]    Scheduler ran 0.011 seconds
2013-07-14 12:26:19.9133 [PID=7776 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 12:26:19.9174 [PID=7776 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 12:26:19.9180 [PID=7776 ]    Scheduler ran 0.007 seconds
2013-07-14 12:32:55.9909 [PID=7778 ]   Request: [USER#7] [HOST#5] [IP 82.177.80.108] client 7.0.27
2013-07-14 12:32:55.9992 [PID=7778 ]    Sending reply to [HOST#5]: 0 results, delay req 7.00
2013-07-14 12:32:55.9997 [PID=7778 ]    Scheduler ran 0.011 seconds
2013-07-14 12:41:48.6391 [PID=7812 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 12:41:48.6418 [PID=7812 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 12:41:48.6424 [PID=7812 ]    Scheduler ran 0.006 seconds
2013-07-14 12:55:02.3182 [PID=7814 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 12:55:02.4374 [PID=7814 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 12:55:02.4379 [PID=7814 ]    Scheduler ran 0.122 seconds
2013-07-14 13:12:15.8609 [PID=7844 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 13:12:15.8659 [PID=7844 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 13:12:15.8665 [PID=7844 ]    Scheduler ran 0.008 seconds
2013-07-14 13:32:15.8334 [PID=7869 ]   Request: [USER#7] [HOST#2] [IP 93.105.142.131] client 7.0.27
2013-07-14 13:32:15.8511 [PID=7869 ]    Sending reply to [HOST#2]: 0 results, delay req 7.00
2013-07-14 13:32:15.8519 [PID=7869 ]    Scheduler ran 0.022 seconds
2013-07-14 13:38:24.3184 [PID=7870 ]   Request: [USER#4] [HOST#8] [IP 81.156.14.140] client 7.0.65
2013-07-14 13:38:24.3364 [PID=7870 ]    Sending reply to [HOST#8]: 0 results, delay req 7.00
2013-07-14 13:38:24.3370 [PID=7870 ]    Scheduler ran 0.021 seconds
2013-07-14 13:47:01.8604 [PID=7900 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 13:47:01.8736 [PID=7900 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 13:47:01.8742 [PID=7900 ]    Scheduler ran 0.016 seconds
2013-07-14 13:57:14.3456 [PID=7908 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 13:57:14.3881 [PID=7908 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 13:57:14.3886 [PID=7908 ]    Scheduler ran 0.046 seconds
2013-07-14 14:16:29.0267 [PID=7938 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 14:16:29.0364 [PID=7938 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 14:16:29.0369 [PID=7938 ]    Scheduler ran 0.014 seconds
2013-07-14 14:44:44.4653 [PID=7991 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 14:44:44.5019 [PID=7991 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 14:44:44.5024 [PID=7991 ]    Scheduler ran 0.039 seconds
2013-07-14 14:56:50.5346 [PID=7993 ]   Request: [USER#7] [HOST#5] [IP 82.177.80.108] client 7.0.27
2013-07-14 14:56:50.5611 [PID=7993 ]    Sending reply to [HOST#5]: 0 results, delay req 7.00
2013-07-14 14:56:50.5619 [PID=7993 ]    Scheduler ran 0.030 seconds
2013-07-14 15:28:54.2360 [PID=8151 ]   Request: [USER#7] [HOST#2] [IP 93.105.142.131] client 7.0.27
2013-07-14 15:28:54.2640 [PID=8151 ]    Sending reply to [HOST#2]: 0 results, delay req 7.00
2013-07-14 15:28:54.2648 [PID=8151 ]    Scheduler ran 0.031 seconds
2013-07-14 16:09:07.6499 [PID=9239 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 16:09:07.6672 [PID=9239 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 16:09:07.6678 [PID=9239 ]    Scheduler ran 0.020 seconds
2013-07-14 18:09:15.7405 [PID=9442 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 18:09:15.7466 [PID=9442 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 18:09:15.7472 [PID=9442 ]    Scheduler ran 0.009 seconds
2013-07-14 18:21:27.9433 [PID=9468 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 18:21:27.9609 [PID=9468 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 18:21:27.9614 [PID=9468 ]    Scheduler ran 0.020 seconds
2013-07-14 18:40:05.4406 [PID=9513 ]   Request: [USER#7] [HOST#5] [IP 82.177.80.108] client 7.0.27
2013-07-14 18:40:05.4610 [PID=9513 ]    Sending reply to [HOST#5]: 0 results, delay req 7.00
2013-07-14 18:40:05.4618 [PID=9513 ]    Scheduler ran 0.025 seconds
2013-07-14 18:50:42.6178 [PID=9516 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 18:50:42.6221 [PID=9516 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 18:50:42.6227 [PID=9516 ]    Scheduler ran 0.007 seconds
2013-07-14 19:27:57.1758 [PID=9571 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 19:27:57.2113 [PID=9571 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 19:27:57.2119 [PID=9571 ]    Scheduler ran 0.039 seconds
2013-07-14 20:14:13.1803 [PID=9633 ]   Request: [USER#7] [HOST#2] [IP 93.105.142.131] client 7.0.27
2013-07-14 20:14:13.1931 [PID=9633 ]    Sending reply to [HOST#2]: 0 results, delay req 7.00
2013-07-14 20:14:13.1936 [PID=9633 ]    Scheduler ran 0.016 seconds
2013-07-14 20:42:13.7138 [PID=9692 ]   Request: [USER#8] [HOST#6] [IP 64.53.229.158] client 7.0.65
2013-07-14 20:42:13.7231 [PID=9692 ]    Sending reply to [HOST#6]: 0 results, delay req 7.00
2013-07-14 20:42:13.7236 [PID=9692 ]    Scheduler ran 0.012 seconds
2013-07-14 21:31:17.8484 [PID=9749 ]   Request: [USER#7] [HOST#5] [IP 82.177.80.108] client 7.0.27
2013-07-14 21:31:17.8741 [PID=9749 ]    Sending reply to [HOST#5]: 0 results, delay req 7.00
2013-07-14 21:31:17.8750 [PID=9749 ]    Scheduler ran 0.030 seconds

TJM

Otwórz config.xml projektu, znajdź lub dodaj wpis sched_debug_level i ustaw wartość 4


    <sched_debug_level>
      4
    </sched_debug_level>


Po tej akcji stop/start projektu i dla pewności restart apacza (pojęcia nie mam, czy ustawienia załadują się w locie).  Następnie jeszcze raz zajrzyj do logu i wklej dane po kontakcie z klientem.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

mariotti

Cytat: TJM w 14 Lipiec 2013, 21:08
Otwórz config.xml projektu, znajdź lub dodaj wpis sched_debug_level i ustaw wartość 4


    <sched_debug_level>
      4
    </sched_debug_level>


Po tej akcji stop/start projektu i dla pewności restart apacza (pojęcia nie mam, czy ustawienia załadują się w locie).  Następnie jeszcze raz zajrzyj do logu i wklej dane po kontakcie z klientem.
Dla pewności uruchomiłem jeszcze z parametrem -d 4 - gadatliwość na
najwyższym poziomie.
Oto logi:
http://perft.computers-chess.com/log.zip

Pozdrawiam


TJM

Teraz zauważyłem natomiast, że obecnie najwyższy poziom (dla samego schedulera) to chyba 3, przynajmniej tak pisze tutaj http://boinc.berkeley.edu/trac/wiki/ProjectOptions#Scheduler:logging

W załączonych logach widać, że w shared_mem jest 1 rezultat czekający na wysłanie, widać że scheduler z jakiegoś powodu go nie wysyła, ale nie widać dlaczego i nie widać czy klient w ogóle woła o WU. Prawdopodobnie trzeba włączyć jeszcze dodatkowe opcje opisane w linku j/w, prawdopodobnie będą to:

<debug_request_details/>
<debug_send/>
<debug_version_select/>

Możesz też pokazać, jaki dokładnie komunikat zwraca sam klient ? Jest tylko 'no tasks sent' ?


W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

mariotti

Cytat: TJM w 14 Lipiec 2013, 22:51
Możesz też pokazać, jaki dokładnie komunikat zwraca sam klient ? Jest tylko 'no tasks sent' ?
W menadżerze klientów mam takie logi:

nie, 14 lip 2013, 21:45:11 | perft | Sending scheduler request: To fetch work.
nie, 14 lip 2013, 21:45:11 | perft | Requesting new tasks for CPU
nie, 14 lip 2013, 21:45:13 | perft | Scheduler request completed: got 0 new tasks
nie, 14 lip 2013, 21:45:13 | perft | No tasks sent
nie, 14 lip 2013, 21:57:58 | perft | Sending scheduler request: To fetch work.
nie, 14 lip 2013, 21:57:58 | perft | Requesting new tasks for CPU
nie, 14 lip 2013, 21:58:00 | perft | Scheduler request completed: got 0 new tasks
nie, 14 lip 2013, 21:58:00 | perft | No tasks sent
nie, 14 lip 2013, 22:04:27 | perft | update requested by user
nie, 14 lip 2013, 22:04:28 | perft | Sending scheduler request: Requested by user.
nie, 14 lip 2013, 22:04:28 | perft | Requesting new tasks for CPU
nie, 14 lip 2013, 22:04:30 | perft | Scheduler request completed: got 0 new tasks
nie, 14 lip 2013, 22:04:30 | perft | No tasks sent
nie, 14 lip 2013, 22:04:42 | perft | update requested by user
nie, 14 lip 2013, 22:04:45 | perft | Sending scheduler request: Requested by user.
nie, 14 lip 2013, 22:04:45 | perft | Requesting new tasks for CPU
nie, 14 lip 2013, 22:04:47 | perft | Scheduler request completed: got 0 new tasks
nie, 14 lip 2013, 22:04:47 | perft | No tasks sent
nie, 14 lip 2013, 22:19:26 | perft | Sending scheduler request: To fetch work.
nie, 14 lip 2013, 22:19:26 | perft | Requesting new tasks for CPU
nie, 14 lip 2013, 22:19:27 | perft | Scheduler request completed: got 0 new tasks
nie, 14 lip 2013, 22:19:27 | perft | No tasks sent
nie, 14 lip 2013, 22:48:31 | perft | Sending scheduler request: To fetch work.
nie, 14 lip 2013, 22:48:31 | perft | Requesting new tasks for CPU
nie, 14 lip 2013, 22:48:32 | perft | Scheduler request completed: got 0 new tasks
nie, 14 lip 2013, 22:48:32 | perft | No tasks sent

Czy klient wyrzuca coś jeszcze - nie wiem. Nie mam katalogu var/log/boinc*.

Próbuję zmusić web serwer do pełnego logowania requestów, zaraz powinno
mi się to udać. Wtedy dowiemy się szczegółowo co klient wysyła.

Pozdrawiam

mariotti

Cytat: mariotti w 14 Lipiec 2013, 23:19
Próbuję zmusić web serwer do pełnego logowania requestów, zaraz powinno
mi się to udać. Wtedy dowiemy się szczegółowo co klient wysyła.
Nie udało mi się jak na razie. Nie mam modułu apache dumpio i nie mogę
zainstalować. W logach mam po prostu zapytanie typu post:
"POST /perft_cgi/cgi HTTP/1.1" 200 755 "-" "BOINC client (x86_64-pc-linux-gnu 6.12.33)"
Ale jakie dane są do tego zapytania dołączane to nie mam bladego pojęcia.

Pozdrawiam

TJM

To co wyżej wkleiłem - te 3 opcje w XMLu -  rozszerza poziom logowania schedulera o nowe opcje - w tym właśnie więcej info o requestach i odpowiedziach.
Od jakiegoś czasu tak jest, że 'debug level' dotyczy głównie błędów.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

mariotti

Cytat: TJM w 15 Lipiec 2013, 21:12
To co wyżej wkleiłem - te 3 opcje w XMLu -  rozszerza poziom logowania schedulera o nowe opcje - w tym właśnie więcej info o requestach i odpowiedziach.
Od jakiegoś czasu tak jest, że 'debug level' dotyczy głównie błędów.
Ok, chyba się wyjaśniło. W logach mam taki wpis:

[AV#2] client version 61233 > max core version 10

Skąd miałem wiedzieć że z numeru wersji usunie separator  :/

Dzięki

mariotti

Ok, ten problem przebrnąłem. Teraz są inne błędy, ale tak jakby
lepiej opisane. Z jakiś czas zajmę się dalszymi poprawkami.

pon, 15 lip 2013, 21:40:06 | perft | update requested by user
pon, 15 lip 2013, 21:40:08 | perft | Sending scheduler request: Requested by user.
pon, 15 lip 2013, 21:40:08 | perft | Requesting new tasks for CPU
pon, 15 lip 2013, 21:40:09 | perft | [error] Can't parse file info in scheduler reply: file name is empty or has '..'
pon, 15 lip 2013, 21:40:09 | perft | Scheduler request completed: got 1 new tasks
pon, 15 lip 2013, 21:40:09 | perft | [error] State file error: missing file ../../../work_units/in
pon, 15 lip 2013, 21:40:09 | perft | [error] State file error: missing input file ../../../work_units/in
pon, 15 lip 2013, 21:40:09 | perft | [error] Can't handle task test in scheduler reply
pon, 15 lip 2013, 21:40:09 | perft | [error] State file error: missing task test
pon, 15 lip 2013, 21:40:09 | perft | [error] Can't handle task test_0 in scheduler reply
pon, 15 lip 2013, 21:40:11 | perft | Started download of uc3
pon, 15 lip 2013, 21:40:20 | perft | Finished download of uc3
pon, 15 lip 2013, 21:40:20 | perft | [error] Signature verification error for uc3
pon, 15 lip 2013, 21:40:20 | perft | [error] Checksum or signature error for uc3


Pozdrawiam

TJM

Masz prawdopodobnie błędy w templatce albo w "okolicach" create_work.
Z tego co widzę używałeś kropek do wyjścia katalog wyżej ? BOINC na to nie pozwala.
Najlepiej podawać bezwzględne ścieżki, ewentualnie prawdopodobnie domyślnie zaczyna szukać w folderze projektu - więc jeśli w ścieżce do pliku wpiszesz bin/update_versions (to tylko taki przykład), to będzie szukało katalogu bin w katalogu nazwa_projektu.

Ten WU który masz wygenerowany z błędem anuluj z poziomu opsów, bo i tak nic z niego już nie będzie.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

mariotti

Cytat: TJM w 15 Lipiec 2013, 21:54
Masz prawdopodobnie błędy w templatce albo w "okolicach" create_work.
Z tego co widzę używałeś kropek do wyjścia katalog wyżej ? BOINC na to nie pozwala.
Najlepiej podawać bezwzględne ścieżki, ewentualnie prawdopodobnie domyślnie zaczyna szukać w folderze projektu - więc jeśli w ścieżce do pliku wpiszesz bin/update_versions (to tylko taki przykład), to będzie szukało katalogu bin w katalogu nazwa_projektu.
Ten WU który masz wygenerowany z błędem anuluj z poziomu opsów, bo i tak nic z niego już nie będzie.
O zakazie kropek też nie wiedziałem. Zastanawiam się ile czasu bym szukał tej informacji,
gdyby nie Twoja pomoc - dzięki :D Jutro spróbuję wygospodarować trochę czasu i usunąć
wszystkie problemy.

BTW... to dość prosta sprawa z tymi kropkami. Jakiś czas temu pisałem swój generator
plików Makefile do programów napisanych w C++ i QT. Program ładnie rozbiera ścieżki,
ustala bieżące katalogi, analizuje wszystkie odwołania do plików nagłówkowych... więc
operacji na ścieżkach jest bardzo dużo. Innymi słowy, napisanie takiego programu jest
dość łatwe. BOINC robią na Berkeley, a tam mają programistów lepszych niż ja. Mimo to
taki prosty i użyteczny ficzer przez lata rozwijania BOINC nie został zaimplementowany - dziwne.

Druga sprawa - nie rozumiem dlaczego nie rozwiązano problemu tasków jeszcze prościej?
Można zaimplementować upload pliku zip. Zip zawiera spakowane pliki lub katalogi.
Każdy plik/katalog kończy się znakiem podkreślenia i unikalnym id. I to koniec operacji.
Po co zmuszać ludzi do pisania jakiś plików XML i do uruchamiania jakiś programów?

Jakiś czas temu robiłem podobny mechanizm do filmów. Filmy jak wiadomo mają ogromne
rozmiary, więc dodałem jeszcze drugą opcję:  można wskazać ścieżkę pod którą taki zip
został załadowany wcześniej np. przez ftp. Admin wysyła i w serwisie ma z automatu filmy,
gotowe do opisywania, dzielenia na kategorie, itd. Jest jakieś uzasadnienie tak skomplikowanego
mechanizmu w BOINC?

Pozdrawiam

TJM

Akurat mechanizm przesyłania plików i aplikacji przez BOINC jest raczej bardzo prosty, biorąc pod uwagę to, jak bardzo pozwala się dostosować do różnych wymagań.
Jego główna siła tkwi w tym, że jak się dobrze zakombinuje w XMLach od aplikacji i przy tworzeniu WU, da się przesyłać do klienta minimum danych przy każdym WU, a to kluczowa sprawa żeby nie zbankrutować na transferze.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

mariotti

Cytat: TJM w 15 Lipiec 2013, 23:31
Akurat mechanizm przesyłania plików i aplikacji przez BOINC jest raczej bardzo prosty, biorąc pod uwagę to, jak bardzo pozwala się dostosować do różnych wymagań.
Jego główna siła tkwi w tym, że jak się dobrze zakombinuje w XMLach od aplikacji i przy tworzeniu WU, da się przesyłać do klienta minimum danych przy każdym WU, a to kluczowa sprawa żeby nie zbankrutować na transferze.


Gdy podaję pełną ścieżkę, to dokleja ją do jakiegoś podkatalogu w download, nie mam pojęcia dlaczego i po co.

perft@x:~/www$ bin/create_work --appname uc3 --wu_name test02 --wu_template /home/perft/work_units/upper_case_wu --result_template /home/perft/work_units/upper_case_result /home/perft/work_units/in
md5_file: can't open /home/perft/www/download/38d//home/perft/work_units/in
md5_file: No such file or directory
process_input_template: md5_file fopen() failed
process_input_template(): fopen() failed
create_work: fopen() failed

Zdaje się że poprzednio też tak robił, więc dodałem kropki żeby wyszedł z tego magicznego katalogu download/38d/
Nie widzę w tym nic prostego :D

Pozdrawiam

mariotti

#31
Nie mogę do serwera dodać jednego pliku tekstowego przez tydzień czasu, a to
miało uprościć obliczenia rozproszone :)
W załączniku ostatni błąd, nie mam pojęcia czym jest spowodowany.

mariotti

Cytat: mariotti w 16 Lipiec 2013, 13:48
Nie mogę do serwera dodać jednego pliku tekstowego przez tydzień czasu, a to
miało uprościć obliczenia rozproszone :)
W załączniku ostatni błąd, nie mam pojęcia czym jest spowodowany.

Widać tam pomocną informację. Exit status: 255 (0xff) Unknown error number.
Przeglądam kod aplikacji liczącej i widzę:

    // open the input file (resolve logical name first)
    //
    boinc_resolve_filename(INPUT_FILENAME, input_path, sizeof(input_path));
    infile = boinc_fopen(input_path, "r");
    if (!infile) {
        fprintf(stderr,
            "%s Couldn't find input file, resolved name %s.\n",
            boinc_msg_prefix(buf, sizeof(buf)), input_path
        );
        exit(-1);
    }


i drugi fragment:

        if (boinc_time_to_checkpoint()) {
            retval = do_checkpoint(out, nchars);
            if (retval) {
                fprintf(stderr, "%s APP: upper_case checkpoint failed %d\n",
                    boinc_msg_prefix(buf, sizeof(buf)), retval
                );
                exit(retval);
            }
            boinc_checkpoint_completed();
        }


Tylko w tych dwóch miejscach jest od który może zwracać wartość minus jeden. Dla tych
którzy nie wiedzą: wartość minus jeden to czasami to samo co 255 i 0xFF. W innych
miejscach nie doszukałem się kodu który może zwracać wartość -1 (no chyba że
jest totalne UB i exit(-1) jest dziełem bliżej nie określonego przypadku - ale to chyba
możemy pominąć).

Czyli problem sprawia albo inicjacja aplikacji boinc, albo prośba o nazwę pliku (funkcja
API boinc_resolve_filename). To drugie bardziej prawdopodobne. I niby do czegoś
doszedłem, ale znowu głową walę w mur, nie wiem dlaczego przykładowa aplikacja
dostarczona wraz z platformą BOINC nie działa. Przecież z niej ludzie mają się
uczyć...

Pozdrawiam


sesef

Na 100% problem jest z nazwą pliku wejściowego, INPUT_FILENAME musi mieć dokładnie taką samą wartość jak wartość atrybutu <open_name> w input job template (http://boinc.berkeley.edu/trac/wiki/JobTemplates) na podstawie którego zostały stworzone zadania do policzenia.

w source boinc/sched jest kilka przykładowych apek między innymi sample work generator. Wyedytuj sobie ten plik wedle swoich potrzeb skompiluj wrzuć do nazwa_projektu/bin potem dopisz do configu do sekcji daemons (http://boinc.berkeley.edu/trac/wiki/ProjectConfigFile) odpal przez bin/start

To jest chyba najprostsza metoda bo edytując gotowe daemony ciężko coś zepsuć tutaj praktycznie jedyna ważna rzecz to dobrze ustawić input i output job template, żeby poprawnie zadania wygenerowało.


mariotti

Cytat: sesef w 17 Lipiec 2013, 02:03
Na 100% problem jest z nazwą pliku wejściowego, INPUT_FILENAME musi mieć dokładnie taką samą wartość jak wartość atrybutu <open_name> w input job template (http://boinc.berkeley.edu/trac/wiki/JobTemplates) na podstawie którego zostały stworzone zadania do policzenia.
Masakra, a ja wziąłem INPUT_FILENAME za jakąś stałą z API BOINC :/ Niemniej przez przypadek
mój plik nazywa się akurat tak samo jak INPUT_FILENAME, czyli "in". Więc przyczyna problemu
jest inna :/


Cytat: sesef w 17 Lipiec 2013, 02:03
w source boinc/sched jest kilka przykładowych apek między innymi sample work generator. Wyedytuj sobie ten plik wedle swoich potrzeb skompiluj wrzuć do nazwa_projektu/bin potem dopisz do configu do sekcji daemons (http://boinc.berkeley.edu/trac/wiki/ProjectConfigFile) odpal przez bin/start
To jest chyba najprostsza metoda bo edytując gotowe daemony ciężko coś zepsuć tutaj praktycznie jedyna ważna rzecz to dobrze ustawić input i output job template, żeby poprawnie zadania wygenerowało.
Chyba robię jeszcze prościej. Testuję na przykładowej aplikacji upper case i zupełnie nic w
niej nie zmieniałem. Po prostu chcę dodać jeden jedyny plik do work unit, żeby aplikacja kliencka otrzymała go
na wejście. Jeśli upper case zadziała to przerobię ją na dowolny inny program.

Pozdrawiam