python / python/cpython

possible race-condition with python-doc

Ouverte
#130,979 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

docs type-bug
Langage dominant
Python
Étoiles
77.2k
Forks
35.9k
Métriques de merge des PR
Métriques de PR en attente

Description

Bug report

Bug description:

While working on reproducible builds for openSUSE, I found that our python314 (and python311) doc sub-packages produce different html on 1-core-VMs and 4-core-VMs. This suggests that there is some race going on about what the correct content should be.

https://rb.zq1.de/other/python314-doc-compare.out has a diff

The interesting bit of it is

-<p class="audit-hook" id="audit_event_cpython_run_stdin_1">
+<p class="audit-hook" id="audit_event_cpython_run_stdin_2">
How to Reproduce

To test on openSUSE or Debian, use

osc checkout openSUSE:Factory/python314 && cd $_
for N in 1 14 ; do
    osc build -M=doc --noservice --clean --vm-type=kvm -j$N --release=1.1 --keep-pkg=RPMS.$N standard
    (cd RPMS.$N && unrpm python314-doc-3*.x86_64.rpm)
done
diff -ru RPMS.{1,14}/usr/
Environment Information
OS: openSUSE Tumbleweed 20250302
Sphinx-8.1.3
Sphinx extensions

Additional context

This bug was found while working on reproducible builds for openSUSE.

This was originally filed in https://github.com/sphinx-doc/sphinx/issues/13419 but apparently the Sphinx people think this is an issue in cpython.

CPython versions tested on:

3.11, 3.14, 3.13, 3.12

Operating systems tested on:

Linux

Linked PRs
  • gh-136165

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par exécuter la boucle de build openSUSE documentée avec -j1 et -j14, puis comparez les arborescences usr/ extraites et les IDs d’audit-hook signalés. Utilisez la PR liée gh-136165 et le diff de build reproductible comme contexte ; le travail est terminé lorsque des builds répétés de la documentation produisent un HTML identique quelle que soit la parallélisation.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
documentation
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.