Changes between Initial Version and Version 1 of Ticket #341, comment 11


Ignore:
Timestamp:
Mar 13, 2020, 11:02:52 AM (4 years ago)
Author:
alx

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #341, comment 11

    initial v1  
    22> соединение ... "разрывается", хотя "внешних" причин для разрыва нет. то что разорвалось из-за какой то внутренней ошибки я и так догадывался))
    33
    4 Не вижу оснований для таких догадок. Согласно приведенному фрагменту лога, ошибка возникла при попытке читать данные из сокета. Так как текст ошибки в лог не вывелся, мы не знаем, какая именно ошибка произошла, но наиболее вероятной причиной мне кажется получение чего-то из сети, то есть извне. Сами мы по факты этой ошибки соединение не закрываем (что, возможно, неправильно). Чисто теоретически можно предположить возможность ошибки read() по внутренним причинам, если, например, дескриптор сокета "испорчен", и в read() передали мусор вместо дескриптора, или, например, сокет почему-то (по ошибке) закрыли раньше, и вызвали read() для уже закрытого сокета. Оба варианта мне кажутся неправдоподобными, так как каждое закрытие соединения сопровождается соответствующей записью в лог, а причин для "порчи" одной отдельной переменной я тоже не вижу...
     4Не вижу оснований для таких догадок. Согласно приведенному фрагменту лога, ошибка возникла при попытке читать данные из сокета. Так как текст ошибки в лог не вывелся, мы не знаем, какая именно ошибка произошла, но наиболее вероятной причиной мне кажется получение чего-то из сети, то есть извне. Сами мы по факту этой ошибки соединение не закрываем (что, возможно, неправильно). Чисто теоретически можно предположить возможность ошибки read() по внутренним причинам, если, например, дескриптор сокета "испорчен", и в read() передали мусор вместо дескриптора, или, например, сокет почему-то (по ошибке) закрыли раньше, и вызвали read() для уже закрытого сокета. Оба варианта мне кажутся неправдоподобными, так как каждое закрытие соединения сопровождается соответствующей записью в лог, а причин для "порчи" одной отдельной переменной я тоже не вижу...
    55
    66В любом случае предлагаю не гадать, а повторить эксперимент с исправленным sip_ua - теперь в логе будет указан конкретный текст ошибки read().