MagicStack / MagicStack/uvloop

Memory leak in uvloop and tornado

オープン
#252 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

help wanted need more info
主要言語
Cython
スター
11.9k
フォーク
616
PR マージ指標
30日以内にマージされた PR はありません

説明

  • uvloop version: 0.11.1
  • Python version: 3.6.4
  • Platform: Ubuntu 16.04 x64
  • Can you reproduce the bug with PYTHONASYNCIODEBUG in env?: This no effect

I have a platform to which mobile devices will constantly connect via TCP, about 20k per instance. After a few hours of work, memory consumption rises to 2 GB. We use tornado 5.0.1 as TCP server and install uvloop for loop for asyncio. I conducted one experiment using tracemalloc, when the devices are disconnected and then the memory leak is again connected in this code line , the number of objects and the total expanding. Can you help find what these objects are and how to remove this leak?
Снимок экрана от 2019-06-09 17-39-17

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

Tornado の tornado/platform/asyncio.py の 148 行目付近から始め、次に長時間実行される TCP 接続のシナリオを再現し、tracemalloc でオブジェクトの増加を調べます。デバイスが切断および再接続するときのメモリ動作を比較します。再現可能なテストまたは明確な診断結果によってリークを切り分けられれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
backend, networking
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。