Skip to content

bpo-29324 update test_socket AEAD test for kernel 4.9 and up#133

Merged
vstinner merged 1 commit intopython:masterfrom
matejcik:test-aead
Feb 16, 2017
Merged

bpo-29324 update test_socket AEAD test for kernel 4.9 and up#133
vstinner merged 1 commit intopython:masterfrom
matejcik:test-aead

Conversation

@matejcik
Copy link
Copy Markdown
Contributor

fixes failing test_socket on linux kernel 4.9

see Issue 29324

@matejcik matejcik changed the title update test_socket AEAD test for kernel 4.9 and up bpo-29324 update test_socket AEAD test for kernel 4.9 and up Feb 16, 2017
Copy link
Copy Markdown
Member

@vstinner vstinner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I confirm that this pull request fixes test_socket on my Fedora 25 (kernel 4.9.5).

@tiran
Copy link
Copy Markdown
Member

tiran commented Feb 16, 2017

I still haven't had time to study the changes in the Linux kernel. Let's merge the PR to silence the test error. Please leave the ticket open as reminder for me.

@vstinner vstinner merged commit 9764c15 into python:master Feb 16, 2017
@yedpodtrzitko
Copy link
Copy Markdown

nice one

Mariatta pushed a commit to Mariatta/cpython that referenced this pull request Mar 7, 2017
Mariatta added a commit that referenced this pull request Mar 17, 2017
akruis pushed a commit to akruis/cpython that referenced this pull request Oct 10, 2017
Adapt Stackless/unittests/runAll.py to issue python#25220.
akruis pushed a commit to akruis/cpython that referenced this pull request Oct 10, 2017
    
Adapt to changes in test.libregrtest
akruis pushed a commit to akruis/cpython that referenced this pull request Oct 16, 2017
- Reduce duplicate code.
- Move code around reduce the number of differences. This way patches
from upstream are more likely to apply

This commit does not change the outcome of the preprocessor.
akruis pushed a commit to akruis/cpython that referenced this pull request Oct 16, 2017
- Remove a byte-code specific optimization. The next merge from master
will switch to word-code.
- #define PY_LOCAL_AGGRESSIVE, it was undefined by accident in commit
1c7ff3e.
akruis pushed a commit to akruis/cpython that referenced this pull request Oct 16, 2017
Fix the wordcode processing.
akruis pushed a commit to akruis/cpython that referenced this pull request Oct 18, 2017
Fix the wordcode processing again.
akruis pushed a commit to akruis/cpython that referenced this pull request Oct 22, 2017
…are.

Add the usual STACKLESS_GETARG(), ... stuff to the new fast-call
functions.
akruis pushed a commit to akruis/cpython that referenced this pull request Oct 22, 2017
…are.

Add Stackless support to PyEval_CallObjectWithKeywords().
akruis pushed a commit to akruis/cpython that referenced this pull request Oct 22, 2017
…are.

Add Stackless support to call_function_tail().
akruis pushed a commit to akruis/cpython that referenced this pull request Oct 29, 2017
The previous merge broke Python/ceval.c.
akruis pushed a commit to akruis/cpython that referenced this pull request Oct 29, 2017
The previous merge broke Python/ceval.c.
akruis pushed a commit to akruis/cpython that referenced this pull request Oct 29, 2017
Add missing calls to dtrace_function_return().
akruis pushed a commit to akruis/cpython that referenced this pull request Oct 29, 2017
Ensure, that frame->f_lasti is >= -1. This invariant was broken by the
switch to wordcode.
akruis pushed a commit to akruis/cpython that referenced this pull request Mar 25, 2018
Add Stackless support for opcode CALL_METHOD.
akruis pushed a commit to akruis/cpython that referenced this pull request Mar 25, 2018
Always track frames. Otherwise Stackless leaks frames.
akruis pushed a commit to akruis/cpython that referenced this pull request Mar 25, 2018
Only do recursion adjustment if there is no danger of soft-switching,
i.e. if we are not being called by run_cframe. Were a soft-switch to
occur, the re-adjustment of the recursion depth would happen for the
wrong frame.
jaraco pushed a commit that referenced this pull request Dec 2, 2022
SonicField added a commit to SonicField/cpython that referenced this pull request Apr 25, 2026
Per theologian W27c audit 00:06:36Z + supervisor 00:07:10Z (a)
local-accumulate posture; conversion python#1 in the 5-method PARTIAL
backlog. Cat A pure dispatch-glue: C++ wrapper becomes 10-line
BytecodeInstruction-extraction stub; new C orchestrator
hir_builder_emit_load_attr_c wires together the existing C
sub-functions (load_attr_slot_c, load_attr_module_c,
load_attr_instance_value_c, load_attr_generic_c, load_method_c)
that already live in builder_emit_c.c.

Honest ratio framing per librarian D-1776879377 / D-1776880214:
post-conversion 96/100 PURE-CONVERTED + 4 PARTIAL Cat-B remaining
(was 95/100 + 5 PARTIAL). emitLoadAttr is now a delegation stub,
not pure-C++-eliminated; same metric reading as the established
honest-scope record.

Cat A nature: zero behavior change, pure C++→C dispatch move.
Snapshot-before-pop discipline preserved (Bug 7 / Phoenix-introduced
fix carried over).

VERIFICATION (testkeeper 00:48:33Z, x86_64 release at this HEAD):
- Build: PASS (binary 1777076003)
- JIT smoke (force_compile add/mul/fib): PASS
- nbody crash check (3 iters identical): PASS
- W-RE-PARSER substrate-stability check (per generalist 00:19:14Z
  + pythia python#133 python#2 challenge): OUTCOME 1 confirmed — sentinel
  fingerprint preserved (same Tokenizer.__next + Tokenizer.match
  + SubPattern.__getitem__ + SubPattern.getwidth detach sequence
  → SEGV). Substrate stable; W-RE-PARSER repro replayable on
  post-W27c-python#1 HEAD. Pythia python#133 python#2 substrate-shift risk
  FALSIFIED at this commit.

DEFERRED VERIFICATION:
- Full Phoenix test suite + ABBA 4-bench gate: BLOCKED on system
  load (avg 170-300, 132 python processes from team-parallel
  builds; per feedback_benchmark_protocol.md no benchmarks under
  contention). testkeeper to re-run when load drops.

PUSH DEFERRED: per supervisor 00:07:10Z (α) ARM64-debt-cap
discipline (currently 4/5 from pushes 50/51/52/53). Bundle with
future W27c python#2/python#3 commits once devgpu004 SSH-2FA infra restored
+ system load returns to normal + full ABBA verifies perf floor.

Auth chain: theologian audit + APPROVE 00:11:50Z; supervisor
authorization 00:07:10Z (α) local-accumulate; testkeeper
verification 00:48:33Z (4 checks PASS, 2 deferred under load).
SonicField added a commit to SonicField/cpython that referenced this pull request Apr 25, 2026
Per theologian W27c pair-batch design 00:08:52Z + supervisor (α)
local-accumulate posture. Conversion #2a in the 5-method PARTIAL
backlog (now 4 → 3 PARTIAL Cat-B remaining); paired with W27c #2b
emitCallExceptionHandler which reuses the same opcode-array helper.

Cat B residue elimination: pre-resolve loop that previously ran
on the C++ side (PyTuple_GET_ITEM(co_consts) for LOAD_CONST/
RETURN_CONST + getBlockAtOff for JUMP_BACKWARD*) is moved into
a new C helper build_inline_except_opcode_array_c in
builder_emit_c.c. Helper iterates via JitBytecodeInstr
(cinderx/Jit/bytecode_c.h), allocates via PyMem_RawMalloc, and
mirrors the original terminator-detection logic byte-for-byte
(RETURN_VALUE / RETURN_CONST / JUMP_BACKWARD* recognized; default
out-of-pass-through-set → deopt-terminator).

Signature change: hir_builder_emit_inline_exception_match_c drops
(opcodes, opcode_count) params; builds opcode array internally
from PyCodeObject (via tc->frame.code) + builder block_map +
except_body_offset. C++ stub shrinks from ~70 lines to ~25, just
picks getitem_fn and passes JITRT_MatchAndClearException pointer.

Helper is intentionally reusable for W27c #2b emitCallExceptionHandler
which has the same shape (handler bytecode iteration with same
pre-resolve + terminator semantics).

Honest ratio framing per librarian D-1776879377 / D-1776880214:
post-conversion 97/100 PURE-CONVERTED + 3 PARTIAL Cat-B remaining
(was 96/100 + 4 PARTIAL after W27c python#1). emitInlineExceptionMatch
is now a delegation stub with C-side residue elimination, not
pure-C++-eliminated; same metric reading as the established
honest-scope record.

Memory line 50 ('no Python.h in JIT C headers transitional') is
about HEADERS — .c TUs may include Python.h directly per existing
pattern in builder_emit_c.c (already includes Python.h via
hir_c_api.h transitively + cinderx/Common/code.h directly).

VERIFICATION (testkeeper 01:45:23Z + 05:39:16Z deferred-verify,
x86_64 release at this HEAD on top of 7bfb7d1 W27c python#1):
- Build: PASS (binary 1777081390)
- JIT smoke (force_compile add/mul/fib): PASS
- nbody crash check (3 iters identical): PASS
- W-RE-PARSER substrate-stability (3-outcome per generalist
  00:19:14Z + pythia python#133 python#2 challenge): OUTCOME 1 confirmed —
  same 4-method deopt-detach trace as pre-W27c-python#1 baseline AND
  post-W27c-python#1 baseline (Tokenizer.__next + Tokenizer.match +
  SubPattern.__getitem__ + SubPattern.getwidth detach → SEGV).
  Substrate stable across W27c python#1+#2a; W-RE-PARSER repro
  replayable. Pythia python#133 python#2 substrate-shift risk FALSIFIED.
- Phoenix CPython suite (43,990 tests, 499/511 modules):
  ZERO new JIT regressions. 8 PreExistingProven env/infra
  failures (test_gdb x2, test_cmd_line, test_pdb,
  test_peg_generator, test_posixpath, test_urllib, test_urllib2)
  match docs/gates/a45aa5b69c.log baseline. +1 expected
  test_phoenix_re_parser_jit_crash sentinel SEGV (locally
  un-skipped W-RE-PARSER, not part of this commit).
- ABBA 4-bench (docs/benchmarks/abba_w27c2a_2026-04-24.md):
  fibonacci 2.28x / nqueens 1.61x / gen_simple 0.74x /
  func_calls 0.99x → geo 1.28x ≥ 1.0x hard floor. Per-bench
  parity with pinned baseline (fibonacci 2.18x baseline,
  gen_simple 0.74x baseline EXACT match).

PUSH DEFERRED: per supervisor (α) accumulation. Bundle with
W27c python#1 (7bfb7d1) + queued W27c #2b for push 54 once ARM64
verify completes on devgpu004 (server reboot done; ARM64
connectivity restored 16:53Z).

Auth chain: theologian design 00:08:52Z + APPROVE 01:13:25Z;
supervisor (α) authorization 00:07:10Z + 00:50:09Z; testkeeper
01:45:23Z substrate-stability + 05:39:16Z full deferred-verify.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants