|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Andrey Melnikoff 2:5020/400 22 Dec 2004 14:45:34 To : "Sergey A. Cherukhin" Subject : Re: Так причина битья определилась ? (Бьются большие файлы при закачке. -------------------------------------------------------------------------------- Sergey A. Cherukhin <rf@ce.cctpu.edu.ru> wrote: > "Eugene B. Berdnikov" <berd@desert.ihep.su> wrote in message > news:986aqc.ftb.ln@protva.ru... > > Alex Korchmar <hue-moe@so.yandex.ru> wrote: > > AK> Eugene B. Berdnikov <berd@desert.ihep.su> wrote: > > AK> > > EBB>> Т.е. файл залить на сервер теперь нельзя, но "на работу это не > влияет"? > > AK> как я понимаю, залить файл _по_udp_ без обертки и раньше было нельзя, > > AK> но с другой диагностикой. [skip] > > В общем, strace nc, но и tcpdump такого диковинного момента со сторонней > машины > > не мешало бы рассмотреть. > Вот вывод strace: > execve("/usr/bin/nc", ["nc", "-v", "-v", "-v", "-u", "-l", "-p", "20000"], [skipp] > socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 3 > setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 > bind(3, {sa_family=AF_INET, sin_port=htons(20000), > sin_addr=inet_addr("0.0.0.0")}, 16) = 0 > getsockname(3, {sa_family=AF_INET, sin_port=htons(20000), > sin_addr=inet_addr("0.0.0.0")}, [16]) = 0 [skipp] > select(16, [0 3], NULL, NULL, NULL) = 1 (in [3]) Гыы, активных сокетов 3-4, а верхний лимит - 16 ;) > read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = > 8192 > write(1, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) > = 8192 > select(16, [0 3], NULL, NULL, NULL) = 1 (in [3]) > read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = > 8192 > write(1, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) > = 8192 > ... > ... > ... > select(16, [0 3], NULL, NULL, NULL) = 1 (in [3]) > read(3, "@\205\300t(\213D$\24\211E\f\213\213\224\0\0\0Q\350hG\0"..., 8192) = > 8192 > write(1, "@\205\300t(\213D$\24\211E\f\213\213\224\0\0\0Q\350hG\0"..., 8192) > = 8192 > select(16, [0 3], NULL, NULL, NULL) = 1 (in [3]) > read(3, 0x804e3a8, 8192) = -1 EAGAIN (Resource temporarily > unavailable) Увы и ах. С размаху на починеную грабельку: Summary of changes from v2.4.26-pre1 to v2.4.26-pre2 ============================================ .... David S. Miller: o [SUNGEM]: At end of RX completion chain, double check OWN bit with completion register o [IPV4]: Do not return -EAGAIN on blocking UDP socket, noticed by Olaf Kirch .... > Поскольку никаким O_NONBLOCK и не пахнет, могу сделать предположение, что не > хватает памяти под буфера в ядре. Ядер какой? --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.linux/643814670811.html, оценка из 5, голосов 10
|