Page 2 of 4 FirstFirst 1234 LastLast
Results 16 to 30 of 54

Thread: Периодические задержки на ping-e

  1. #16
    Join Date
    Mar 2006
    Location
    Moscow, Russia
    Posts
    108
    Я все еще наблюдаю у себя ситуацию, описанную в первом посте этой темы. Теперь вижу, что проблемы с пингом не только у меня. Повторюсь, что пинг вызываю, подключаясь к роутеру по ssh (dropbear - putty), cron не пользую. Забавно, что эпизодически пинг начинает работать, потом так же спонтанно перестает. В последний раз мне показалось, что пинг заработал после дисконнекта pptp соединения с провайдером. После перезагрузки опять виснет.

  2. #17
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    Для размышления proc/../status работающего пинга:
    Code:
    Name:	ping
    State:	S (sleeping)
    Tgid:	913
    Pid:	913
    PPid:	905
    TracerPid:	0
    Uid:	0	0	0	0
    Gid:	0	0	0	0
    FDSize:	32
    Groups:	
    VmSize:	    2672 kB
    VmLck:	       0 kB
    VmRSS:	     396 kB
    VmData:	     892 kB
    VmStk:	      12 kB
    VmExe:	    1152 kB
    VmLib:	     568 kB
    SigPnd:	00000000000000000000000000000000
    SigBlk:	00000000000000000000000000000000
    SigIgn:	00000000000000000000000000000000
    SigCgt:	00000000000000000000000000002002
    CapInh:	0000000000000000
    CapPrm:	00000000fffffeff
    CapEff:	00000000fffffeff
    и зависшего:
    Code:
    Name:	ping
    State:	S (sleeping)
    Tgid:	751
    Pid:	751
    PPid:	750
    TracerPid:	0
    Uid:	0	0	0	0
    Gid:	0	0	0	0
    FDSize:	32
    Groups:	0 
    VmSize:	    2672 kB
    VmLck:	       0 kB
    VmRSS:	     396 kB
    VmData:	     892 kB
    VmStk:	      12 kB
    VmExe:	    1152 kB
    VmLib:	     568 kB
    SigPnd:	00000000000000000000000000002000
    SigBlk:	00000000000000000000000000002000
    SigIgn:	00000000000000000000000000000000
    SigCgt:	00000000000000000000000000002002
    CapInh:	0000000000000000
    CapPrm:	00000000fffffeff
    CapEff:	00000000fffffeff
    Настораживает SigPnd и SigBlk. Если я правильно понимаю 14-й сигнал (аларм) произошел, но почему-то блокирован.

  3. #18
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    Еще тест на сигналы. Запустил из под крона скрипт:
    Code:
    #!/bin/sh
    
      ping -c 3 192.168.1.2 > /dev/null 2>&1 &
      
      pid=$!
      cat /proc/$pid/status >>/opt/tmp/statusloop
      cat /proc/$pid/status >>/opt/tmp/statusloop
      cat /proc/$pid/status >>/opt/tmp/statusloop 
    .
    .
    .
    Первые 10 снимков содержат нулевой SigPnd и 14 сигнал в SigBlk.
    Потом появляется 14 сигнал в SigPnd.
    Т. е. пинг стартует с блокированным алармом, более того в самом кроне аларм блокирован, а в sh нет.

    Возникает вопрос: если влокировка сигналов наследуется, то кто должен чистить блокировку? предок или потомок? Какое соглашение по этому поводу во взрослом линуксе?
    Last edited by TVadim; 27-10-2006 at 06:25.

  4. #19
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,353
    Дело в том, что сам пинг устанавливает обработчик для аларма.
    Попробуйте его запустить примерно так:

    strace -e signal ping -c 3 localhost

    и направьте вывод в файл. только пакет Strace надо поставить.
    Я попробовал со встроенным cron - работает...

  5. #20
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    Запустил:
    Code:
    #!/bin/sh
     strace -e signal ping -c 3 192.168.1.2 > /opt/tmp/trace 2>&1
    из под ssh:
    Code:
    rt_sigaction(SIGINT, {0x10000000, [], 0x4604e4 /* SA_??? */}, {SIG_DFL}, 16) = 0
    rt_sigaction(SIGALRM, {0x10000000, [], 0x4607e4 /* SA_??? */}, {SIG_DFL}, 16) = 0
    PING 192.168.1.2 (192.168.1.2): 56 data bytes
    84 bytes from 192.168.1.2: icmp_seq=0 ttl=128 time=2.0 ms
    --- SIGALRM (Alarm clock) @ 0 (0) ---
    rt_sigaction(SIGALRM, {0x10000000, [], 0x4607e4 /* SA_??? */}, {0x10000000, [], 0x4607e4 /* SA_??? */}, 16) = 0
    sigreturn()                             = ? (mask now [TRAP IOT EMT FPE ALRM TERM CHLD PROF])
    84 bytes from 192.168.1.2: icmp_seq=1 ttl=128 time=6.2 ms
    --- SIGALRM (Alarm clock) @ 0 (0) ---
    rt_sigaction(SIGALRM, {0x10000000, [], 0x4607e4 /* SA_??? */}, {0x10000000, [], 0x4607e4 /* SA_??? */}, 16) = 0
    rt_sigaction(SIGALRM, {0x10000000, [], 0x4604e4 /* SA_??? */}, {0x10000000, [], 0x4607e4 /* SA_??? */}, 16) = 0
    sigreturn()                             = ? (mask now [TRAP IOT EMT FPE ALRM TERM CHLD PROF])
    84 bytes from 192.168.1.2: icmp_seq=2 ttl=128 time=7.2 ms
    rt_sigaction(SIGINT, {0x10000000, [], SA_NOCLDSTOP}, {0x10000000, [], 0x4604e4 /* SA_??? */}, 16) = 0
    
    --- 192.168.1.2 ping statistics ---
    3 packets transmitted, 3 packets received, 0% packet loss
    round-trip min/avg/max = 2.0/5.1/7.2 ms
    Process 8346 detached
    и из под крона:
    Code:
    rt_sigaction(SIGINT, {0x10000000, [], 0x4604e4 /* SA_??? */}, {SIG_DFL}, 16) = 0
    rt_sigaction(SIGALRM, {0x10000000, [], 0x4607e4 /* SA_??? */}, {SIG_DFL}, 16) = 0
    PING 192.168.1.2 (192.168.1.2): 56 data bytes
    84 bytes from 192.168.1.2: icmp_seq=0 ttl=128 time=2.1 ms
    --- SIGTERM (Terminated) @ 0 (0) ---
    +++ killed by SIGTERM +++
    Process 8405 detached
    процесс был снят с терминала.

    Насколько я понял вызовов sigprocmask пинг не делает, а маска блокировки сигналов была передана кроном с блокированным алармом.
    Сигнал аларм приходит, но обработка его запрещена.
    Last edited by TVadim; 27-10-2006 at 12:40.

  6. #21
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    С чего началась история: скрипт, запущенный из post-mount, тоже имеет блокировку аларма:
    Code:
    Name:   wanpinger.sh
    State:  S (sleeping)
    Tgid:   200
    Pid:    200
    PPid:   1
    TracerPid:      0
    Uid:    0       0       0       0
    Gid:    0       0       0       0
    FDSize: 32
    Groups:
    VmSize:     2692 kB
    VmLck:         0 kB
    VmRSS:       448 kB
    VmData:      912 kB
    VmStk:        12 kB
    VmExe:      1152 kB
    VmLib:       568 kB
    SigPnd: 00000000000000000000000000000000
    SigBlk: 00000000000000000000000000002000
    SigIgn: 00000000000000000000000000000006
    SigCgt: 00000000000000000000000000000000
    CapInh: 0000000000000000
    и если не будет ответа на пинг, то он тоже повиснет, что и происходило.

    Проверил, висит
    Code:
    Name:   ping
    State:  S (sleeping)
    Tgid:   10097
    Pid:    10097
    PPid:   200
    TracerPid:      0
    Uid:    0       0       0       0
    Gid:    0       0       0       0
    FDSize: 32
    Groups:
    VmSize:     2672 kB
    VmLck:         0 kB
    VmRSS:       396 kB
    VmData:      892 kB
    VmStk:        12 kB
    VmExe:      1152 kB
    VmLib:       568 kB
    SigPnd: 00000000000000000000000000002000
    SigBlk: 00000000000000000000000000002000
    SigIgn: 00000000000000000000000000000004
    SigCgt: 00000000000000000000000000002002
    CapInh: 0000000000000000
    Last edited by TVadim; 27-10-2006 at 13:52.

  7. #22
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    Все что попроще и запущено из post-mount имеет блокировку аларма:
    cron
    LCDProc - 3 процесса
    wanpinger

    thttpd и darkstat (6 процессов) похоже сами устанавливают маску.
    Last edited by TVadim; 27-10-2006 at 14:19.

  8. #23
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,353
    Гм... Интересный момент.
    А из post-boot?

  9. #24
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    И демонов у меня вызывается только dropbear и в нем нет блокировки

  10. #25
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,353
    Кстати, из запущеных у меня процессов, блокируют его 3 - stupid-ftpd, smbd, nmbd. Они как раз рядом с post-mount пускаются.

    Я вот только не пойму, зачем этот чудо скрипт пускать из post-mount? Чем post-boot не устраивает?

  11. #26
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,353
    В общем, с таким статусом оказывается всё, что запускается из watchdog.

  12. #27
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    Quote Originally Posted by Oleg View Post
    Я вот только не пойму, зачем этот чудо скрипт пускать из post-mount? Чем post-boot не устраивает?
    Хранится он на диске. Все optware там запускается.

  13. #28
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,353
    Похоже проблема в том, что watchdog запускает процессы из обработчика сигнала ALRM. Внутри него, он, понятное дело, заблокирован. Что с этим делать я пока не знаю...

  14. #29
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,353
    Ну типа я пофиксил. Выложил тестовую версию для Премиум. pre9, на старом месте.

    ega2002 - проблема с зависанием пинга в Вашем случае скорее всего не решится. Надо бы Вам запустить strace...

  15. #30
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    Проверил, пинг не виснет, блокировок нигде нет.

    У меня вопросов пока нет.

    Спасибо!

Page 2 of 4 FirstFirst 1234 LastLast

Similar Threads

  1. Vlan configuration with Kamikaze 7.09
    By asle_500g in forum WL-500gP Q&A
    Replies: 0
    Last Post: 07-12-2007, 10:56

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •