Skip to content

test_asyncio reports reference leak #74296

Closed

Description

@zhangyangyu
BPO 30110
Nosy @vstinner, @1st1, @zhangyangyu
PRs
  • bpo-30110: fix resource leak in test_asyncio.test_events #1413
  • [3.6] bpo-30110: fix resource leak in test_asyncio.test_events #1584
  • [3.5] bpo-30110: fix resource leak in test_asyncio.test_events #1585
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2017-05-15.05:19:22.758>
    created_at = <Date 2017-04-20.06:54:19.996>
    labels = ['3.7']
    title = 'test_asyncio reports reference leak'
    updated_at = <Date 2017-05-15.05:19:22.757>
    user = 'https://github.com/zhangyangyu'

    bugs.python.org fields:

    activity = <Date 2017-05-15.05:19:22.757>
    actor = 'xiang.zhang'
    assignee = 'none'
    closed = True
    closed_date = <Date 2017-05-15.05:19:22.758>
    closer = 'xiang.zhang'
    components = []
    creation = <Date 2017-04-20.06:54:19.996>
    creator = 'xiang.zhang'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 30110
    keywords = []
    message_count = 5.0
    messages = ['291951', '292851', '293669', '293672', '293673']
    nosy_count = 3.0
    nosy_names = ['vstinner', 'yselivanov', 'xiang.zhang']
    pr_nums = ['1413', '1584', '1585']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = None
    url = 'https://bugs.python.org/issue30110'
    versions = ['Python 3.5', 'Python 3.6', 'Python 3.7']

    Activity

    1. zhangyangyu commented on Apr 20, 2017

      @zhangyangyu
      MemberAuthor

      Running test suite with refleak hunter reports test_asyncio leaks referrences:

      0:00:00 [1/1] test_asyncio
      Executing <Task finished coro=<CoroutineTests.test_async_def_wrapped.<locals>.start() done, defined at /home/angwer/repos/cpython/Lib/test/test_asyncio/test_pep492.py:150> result=None created at /home/angwer/repos/cpython/Lib/asyncio/base_events.py:445> took 0.123 seconds
      beginning 9 repetitions
      123456789
      Executing <Task finished coro=<CoroutineTests.test_async_def_wrapped.<locals>.start() done, defined at /home/angwer/repos/cpython/Lib/test/test_asyncio/test_pep492.py:150> result=None created at /home/angwer/repos/cpython/Lib/asyncio/base_events.py:445> took 0.112 seconds
      .Executing <Task finished coro=<CoroutineTests.test_async_def_wrapped.<locals>.start() done, defined at /home/angwer/repos/cpython/Lib/test/test_asyncio/test_pep492.py:150> result=None created at /home/angwer/repos/cpython/Lib/asyncio/base_events.py:445> took 0.104 seconds
      .Executing <Task finished coro=<CoroutineTests.test_async_def_wrapped.<locals>.start() done, defined at /home/angwer/repos/cpython/Lib/test/test_asyncio/test_pep492.py:150> result=None created at /home/angwer/repos/cpython/Lib/asyncio/base_events.py:445> took 0.113 seconds
      .Executing <Task finished coro=<CoroutineTests.test_async_def_wrapped.<locals>.start() done, defined at /home/angwer/repos/cpython/Lib/test/test_asyncio/test_pep492.py:150> result=None created at /home/angwer/repos/cpython/Lib/asyncio/base_events.py:445> took 0.104 seconds
      .Executing <Task finished coro=<CoroutineTests.test_async_def_wrapped.<locals>.start() done, defined at /home/angwer/repos/cpython/Lib/test/test_asyncio/test_pep492.py:150> result=None created at /home/angwer/repos/cpython/Lib/asyncio/base_events.py:445> took 0.120 seconds
      .Executing <Task finished coro=<CoroutineTests.test_async_def_wrapped.<locals>.start() done, defined at /home/angwer/repos/cpython/Lib/test/test_asyncio/test_pep492.py:150> result=None created at /home/angwer/repos/cpython/Lib/asyncio/base_events.py:445> took 0.142 seconds
      .Executing <Task finished coro=<CoroutineTests.test_async_def_wrapped.<locals>.start() done, defined at /home/angwer/repos/cpython/Lib/test/test_asyncio/test_pep492.py:150> result=None created at /home/angwer/repos/cpython/Lib/asyncio/base_events.py:445> took 0.141 seconds
      .Executing <Task finished coro=<CoroutineTests.test_async_def_wrapped.<locals>.start() done, defined at /home/angwer/repos/cpython/Lib/test/test_asyncio/test_pep492.py:150> result=None created at /home/angwer/repos/cpython/Lib/asyncio/base_events.py:445> took 0.107 seconds
      .Executing <Task finished coro=<CoroutineTests.test_async_def_wrapped.<locals>.start() done, defined at /home/angwer/repos/cpython/Lib/test/test_asyncio/test_pep492.py:150> result=None created at /home/angwer/repos/cpython/Lib/asyncio/base_events.py:445> took 0.115 seconds
      .
      test_asyncio leaked [-2, 2, 0, 0] memory blocks, sum=0
      test_asyncio failed in 4 min 27 sec

      1 test failed:
      test_asyncio

      git bisect blames ba7e1f9. Looking at the patch it looks to me the problem is in test_get_event_loop_new_process(), the pool is not shutdown.

    2. vstinner commented on May 3, 2017

      @vstinner
      Member

      IMHO not calling shutdown() is a bug and Python should help developers to detect it. I proposed the issue bpo-30244 to emit a ResourceWarning in concurrent.futures executor destructors.

    3. zhangyangyu commented on May 15, 2017

      @zhangyangyu
      MemberAuthor

      New changeset 7c278a5 by Xiang Zhang in branch 'master':
      bpo-30110: fix resource leak in test_asyncio.test_events (bpo-1413)
      7c278a5

    4. zhangyangyu commented on May 15, 2017

      @zhangyangyu
      MemberAuthor

      New changeset 0ce1f7e by Xiang Zhang in branch '3.6':
      bpo-30110: fix resource leak in test_asyncio.test_events (bpo-1413) (bpo-1584)
      0ce1f7e

    5. zhangyangyu commented on May 15, 2017

      @zhangyangyu
      MemberAuthor

      New changeset 51ab4ad by Xiang Zhang in branch '3.5':
      bpo-30110: fix resource leak in test_asyncio.test_events (bpo-1413) (bpo-1585)
      51ab4ad

    6. transferred this issue fromon Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions