GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Backport35 doc fixes: PR#68 and PR#124 #125 by vstinner · Pull Request #126 · python/cpython

Conversation

@vstinner

@vstinner vstinner commented Feb 16, 2017

Copy link
Copy Markdown
Member

Fix "make -C Doc check": backport two fixes.

PR #125 was the backport for 3.6.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@vstinner
Backport35 doc fixes: PR#68 and PR#124 (#125)
ce6de13
* Travis CI: run rstlint.py in the docs job (#68)

Currently, http://buildbot.python.org/all/buildslaves/ware-docs
buildbot is only run as post-commit. For example, bpo-29521 (PR#41)
introduced two warnings, unnotified by the Travis CI docs job.

Modify the docs job to run toosl/rstlint.py.

Fix also the two minor warnings which causes the buildbot slave to
fail.
(cherry picked from commit 2b50186)

* Doc/Makefile: set PYTHON to python3 (#124)

rstlint.py run by "make check" doesn't support Python 2.

"make venv" runs "$(PYTHON) -m venv", whereas Python 2 doens't
provide the venv module: it's a module of Python 3 standard library.

(cherry picked from commit 91b0e7d)
(cherry picked from commit b300c66)
@the-knights-who-say-ni the-knights-who-say-ni added the CLA signed label Feb 16, 2017
@vstinner
vstinner changed the base branch from master to 3.5 February 16, 2017 00:01
@vstinner vstinner changed the title Backport35 doc Backport35 doc fixes: PR#68 and PR#124 #125 Feb 16, 2017
@methane methane added the cherry-pick for 3.5 label Feb 16, 2017
methane
methane approved these changes Feb 16, 2017
View reviewed changes
@vstinner
vstinner merged commit 5e04dfe into python:3.5 Feb 16, 2017
@vstinner
vstinner deleted the backport35_doc branch June 15, 2017 23:03
akruis referenced this pull request in stackless-dev/stackless Sep 5, 2017
Anselm Kruis
merge 3.4-slp (Stackless #126, fix C-Python tests)
29476f5
akruis pushed a commit to akruis/cpython that referenced this pull request Sep 9, 2017
Anselm Kruis
merge 3.3-slp (Stackless python#126, fix C-Python tests)
131beaf
akruis pushed a commit to akruis/cpython that referenced this pull request Sep 9, 2017
Anselm Kruis
Issue python#126: fix undefined behaviour of C-Python tests
afa7916
Load the module "stackless" early in all C-Python tests. This ensures a defined
behaviour of the tests even, if the execution order gets randomised.

https://bitbucket.org/stackless-dev/stackless/issues/126
akruis pushed a commit to akruis/cpython that referenced this pull request Oct 10, 2017
Anselm Kruis
Merge 3.5-slp (Stackless python#126, fix C-Python tests)
7cfb797
jaraco pushed a commit that referenced this pull request Dec 2, 2022
@Mariatta
Ensure only one celery task at a time (#126)
a059887
Set `--concurrency=1`
@gvanrossum gvanrossum mentioned this pull request Aug 22, 2023
heap-use-after-free in _PyFunction_LookupByVersion #108253
Closed
This was referenced Feb 11, 2025
segmentfault when pip installing setuptools #129992
Closed
segmentfault when pip installing setuptools #129993
Closed
SonicField added a commit to SonicField/cpython that referenced this pull request Apr 24, 2026
@SonicField
phoenix-asm: phx_fs_ptr SIB-disp32 encoding fix (W-C2 pydebug)
9e342ab
Phoenix-introduced regression in the phoenix-asm x86_64 encoder.
phx_fs_ptr (TLS access for PyThreadState) returned PhxMem with
m.base default-initialized to {0} = RAX (id=0). encode_modrm_mem
treated this as `[RAX + disp]` addressing and emitted

  64 4c 8b 58 c8         mov %r11, %fs:-0x38(%rax)

instead of the intended

  64 4c 8b 1c 25 c8 ff ff ff   mov %r11, %fs:[-0x38]

Under release-mode RAX happened to be 0 at the load_tstate call
site so fs:[disp+rax] resolved correctly. Under pydebug RAX was
non-zero (testkeeper 16:46:13Z lldb register dump showed rax=0x4
at the crash) so fs:[rax-0x38] read the wrong TLS slot, returned
NULL/garbage tstate, and crashed at the subsequent
mov rax, [r11+0x38] (read tstate->cframe).

Fix: phx_fs_ptr sets is_abs_addr=1 + abs_addr=sign-extend(offset)
so encode_modrm_mem's existing absolute-address branch
(x86_64.c:182-188) emits the SIB pure-disp32 form (ModR/M=04,
SIB=25, disp32). The FS segment prefix is independently emitted
by emit_segment_prefix; the byte sequence required for FS-segment
+ pure-displacement is identical to the absolute-address form.

Why valgrind didn't catch (testkeeper 15:46:07Z Phoenix valgrind
clean): valgrind tracked memory addresses correctly; the wrong
tstate was logically wrong but didn't trip valgrind's
instrumentation. The crash deferred to the later
[r11+0x38] read.

Why ARM64 unaffected (testkeeper 16:58:33Z 4/4 PASS without fix):
AArch64 has no FS segment; load_tstate reads TLS via
mrs(TPIDR_EL0) + ldr — different code path entirely.

Verification (testkeeper 16:52:24Z + 16:58:33Z):
  x86_64 pydebug + fix: simple-add / closure / generator /
    exception 4/4 PASS (was SIGSEGV pre-fix on 3 of 4)
  ARM64 pydebug (no fix needed): 4/4 PASS
  Dual-arch confirms (β) hypothesis: bug is x86_64-only

Structural debt: is_abs_addr is reused here for the SIB-disp32
shape, NOT for its conventional 'absolute 64-bit address'
semantics. DSecondary-2 (theologian 16:49:17Z, supervisor
16:55:58Z) tracks the proper refactor: add explicit has_base
flag to PhxMem; refactor phx_fs_ptr to use it instead of
overloading is_abs_addr. Scheduled immediately after this push
to pay structural debt while surface is fresh.

Auth chain: testkeeper root cause 16:46:13Z (lldb full prologue
disasm) + theologian patch-shape APPROVE 16:49:17Z (with
DSecondary-2 logged) + testkeeper 4/4 fixture verify x86_64
16:52:24Z + ARM64 (β) confirm 16:58:33Z; supervisor authorization
16:55:58Z queue re-sequence. Closes audit Group C C2 W-C2
workstream.

Closes pythia python#126 single-fixture concern (4-fixture pre-fix
verification per supervisor 16:15:41Z).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@methane methane methane approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@vstinner @methane @the-knights-who-say-ni
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.