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

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

    XMLWordPrintableJSON

    Details

    • Target Version/s:

      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

              • Assignee:
                Unassigned
                Reporter:
                general liwuqi
                Shepherd:
                Benjamin Mahler
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: