Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Memory leak on executables embedded with 3.13 #113055

Closed as not planned
Closed as not planned
Labels
pendingThe issue will be closed if no feedback is providedtopic-subinterpreterstype-bugAn unexpected behavior, bug, or error
@neonene

Description

@neonene

Bug report

Bug description:

Since67807cf,_testembed.exe (x64 Release) increases the memory usage in the cycle ofPy_Initialize andPy_Finalize.

I monitored the Task Manager (taskmgr.exe) on Windows10/11, with a change againstPrograms/_testembed.c:

-#defineINIT_LOOPS 4+#defineINIT_LOOPS 200

Commands:

  • _testembed.exe test_repeated_simple_init or
  • python -m test test_embed -m test_simple_initialization_api (no log)

With RADIX TREE (as-is)

Loop67807cfmain3.11.7
10067MB210MB4MB
200135MB406MB4MB

No RADIX TREE (as-is)

Loop67807cfmain3.11.7
10010MB168MB4MB
20016MB336MB4MB

Recentobmalloc.c looks ready for finalization. Just adding my rough (invalid?) experiment made the leaks even. So, I hope that they share the same issue. Otherwise,ea2c001 or15d4c9f has another leak.#98359 (comment)

patch
void_PyInterpreterState_FinalizeAllocatedBlocks(PyInterpreterState*interp){if (has_own_state(interp)) {Py_ssize_tleaked=_PyInterpreterState_GetAllocatedBlocks(interp);assert(has_own_state(interp)||leaked==0);interp->runtime->obmalloc.interpreter_leaks+=leaked;+OMState*state=&interp->obmalloc;+for (uinti=0;i<maxarenas;++i) {+if (allarenas[i].address==0) {+continue;+           }+_PyObject_Arena.free(_PyObject_Arena.ctx,+                                (void*)allarenas[i].address,ARENA_SIZE);+allarenas[i].address=0;+--narenas_currently_allocated;+       }+PyMem_RawFree(allarenas);    }}

With RADIX TREE (patched)

Loop67807cfmain
10042MB40MB
20080MB80MB

No RADIX TREE (patched)

Loop67807cfmain
1003.5M3.3M
2003.7M3.4M

cc@ericsnowcurrently@nascheme

CPython versions tested on:

3.12, 3.13, CPython main branch:3aea6c4

Operating systems tested on:

Windows

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    pendingThe issue will be closed if no feedback is providedtopic-subinterpreterstype-bugAn unexpected behavior, bug, or error

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


      [8]ページ先頭

      ©2009-2025 Movatter.jp