Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-8834

Indirect recursion between `send` and `_send` in libprocess may cause stack overflow.

    XMLWordPrintableJSON

Details

    Description

      如果某个process while(true)发消息,将导致大量消息缓存在outgoing[socket]里,而在底层由internal::send和internal::_send去执行消息的发送,那么就会出现递归调用:
      _send -> send -> _send ->send -> ... ->_send -> send -> ....

      导致调用栈不断增加,最终栈耗尽发生core dump问题.

      我本地测试,发现当栈层次达到40,000+时发生core dump

      为了解决这个问题,需要修改底层消息发送机制

       

      请关注这个问题,谢谢

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              general liwuqi
              Benjamin Mahler Benjamin Mahler
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: