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

make altinstall for PGO is not parallel-safe #93584

Closed
Assignees
tiran
Labels
3.11only security fixes3.12only security fixesbuildThe build process and cross-buildrelease-blockertype-bugAn unexpected behavior, bug, or error
@tiran

Description

@tiran

Bug report

setup.py has a helper methodadd_multiarch_paths. The method creates a temporary filebuild/lib.{platform}/multiarch and unlinks it at the end of the function call. This is not parallel-safe.

PGO builds of Python use$(MAKE), so calledrecursive make.Recursive makes are considered harmful because the main make process has no understanding what the child make process is doing. With heavy parallel makes this can cause race conditions.

The combination of unsafeadd_multiarch_paths(), recursive make and loooots of CPU cores can lead to build issues like#84461 (comment).

Possible workarounds

  1. Rewrite our Makefile to not use$(MAKE)
  2. MoveCC -print-multiarch anddpkg-architecture ... -qDEB_HOST_MULTIARCH calls toconfigure.ac
  3. Fix_bootsubprocess.check_output() andadd_multiarch_paths() to use a more safe tmp file

Option (3) is the simplest approach. Eventmpfile = os.path.join(self.build_temp, f'multiarch-{os.getpid()}') would be good enough to avoid file conflicts in parallel builds.

Metadata

Metadata

Assignees

Labels

3.11only security fixes3.12only security fixesbuildThe build process and cross-buildrelease-blockertype-bugAn unexpected behavior, bug, or error

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions


    [8]ページ先頭

    ©2009-2025 Movatter.jp