Skip to content

docs(debt): name what the emulators do for a sceHttpInit pool size of 0 - #14004

Merged
adriadam10 merged 2 commits into
boykopovar:mainfrom
xXPBSXx:fu/q6-httpinit-pool0-debt
Nov 5, 2026
Merged

adriadam10 merged 2 commits into
boykopovar:mainfrom
xXPBSXx:fu/q6-httpinit-pool0-debt

Conversation

@xXPBSXx

@xXPBSXx xXPBSXx commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

What

Adds one entry to the libSceHttp technical debt: sceHttpInit with a pool size of 0 returns a context id like any other size, which no console run has checked. shadPS4 (PS4) returns the kernel EINVAL for 0, fpPS4 (PS4) accepts any size, and KytyPS5 (PS5) treats 0 as not implemented (EXIT_NOT_IMPLEMENTED) and returns no value. sceSslInit with a pool size of 0 returns the kernel EINVAL on a PS5 (system software 13.40), as the libSceSsl connection entry records; that is a neighbouring call and not a measurement of libhttp, so sceHttpInit with 0 stays unmeasured. The entry does not say which result is right and no code or test changes. Twenty-nine of the 53 local titles import sceHttpInit.

Tested

Documentation only. tools/check_conventions.py --base upstream/main passes. Based on main 60bdb06135, and it merges with main 474030e584 without a conflict (checked 2026-10-31 16:29 UTC); the follow-up commit 9a5fa0ea99 changes only the sentence about sceSslInit. I searched each of the three emulators for sceHttpInit by name and read it at the commits named in the entry (shadPS4 0614ce324be092791b758d79f93d9f1ca5b10a81, fpPS4 04cefd43e6fddd1ab033e7980cd356d14c964905, KytyPS5 5e837a9beac82c031868eaad9348d6a48245fb99) and our sceHttpInit and sceSslInit. Not run: a build or a test, because nothing but the debt file changes.

Overlap

Checked on 2026-10-31 against main cd087bd12c258cf6dbb82e203bafd20d9fe2596c (1608 open pull requests, listed at 12:59 UTC; the merge checks ran from 12:59 UTC to 13:37 UTC). I took the changed files of each from git diff --name-only against its merge base. Six of them change libSceHttp files and docs/dev/debt/libSceHttp.md: #12056, #11134, #10957, #10535, #9834 and #9630. #9630, #11134 and #9834 change how sceHttpInit stores the pool size, and none of the six checks it. With the first placement of the line, git merge-tree showed conflicts with #11134 and #9834, each of which merges with main on its own, because both change neighbouring lines of the file. I put the line after the sceHttpDbgShowStat entry, and this head now merges cleanly with each of the six. Checked once more on 2026-10-31 at 13:47 UTC against main 73f4f7e06e: none of the 23 pull requests opened since 12:59 UTC changes libSceHttp files, and none of the 63 opened since 12:55 UTC does either (checked 2026-10-31 at 15:09 UTC).

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Fixes: none
  • Unblocks: none
  • GPUs tested: n/a
  • AI-assisted: yes

AI-assisted (Claude Code).

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@oneandonlydean

Copy link
Copy Markdown
Collaborator

Reviewed at 577d9ee29e. Please correct the statement that neither commit 2798e6a6fd nor the SSL debt records a console measurement of sceSslInit(0). That commit's libSceSsl.md connection entry says the behavior below was measured on PS5 system software 13.40, and explicitly records a pool size of 0 returning SCE_KERNEL_ERROR_EINVAL (0x80020016). The same commit adds the zero-size guard.

Please describe the SSL result as recorded console evidence while retaining the distinction that sceHttpInit(0) remains unmeasured; an SSL result does not establish the HTTP contract. The pinned emulator comparisons can remain.

@MarcZX10 MarcZX10 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed — looks good

The documentation-only change records the unresolved console behavior and compares three emulator implementations at pinned commits; I found no blocking issue.

What I ran

Reviewed head 577d9ee29e1996e33981dfc7fc92ac1ad1e930af against base 73f4f7e06e4f210a8c6570e335fd654dc0a86134. The merge preview was clean. Environment: Linux x86_64, Python 3.11.2, Git 2.39.5; no compiler was used.

python3 tools/pr_precheck.py --repo boykopovar/AnyPS5 --pr 14004
git diff --check 73f4f7e06e4f210a8c6570e335fd654dc0a86134...577d9ee29e1996e33981dfc7fc92ac1ad1e930af
python3 tools/pr_stack_check.py 14004 --repo boykopovar/AnyPS5
gh api repos/boykopovar/AnyPS5/commits/577d9ee29e1996e33981dfc7fc92ac1ad1e930af/check-runs --jq '.check_runs[] | [.name,.status,(.conclusion // "pending")] | @tsv'

I also inspected the changed line and the cited source implementations at their pinned commits.

Results

Check Result
Diff whitespace Passed
Repository conventions and PR template Passed
Merge preview against current base Clean
Hosted conventions Passed
Hosted eligibility Passed
Hosted intake Passed
Hosted labels Passed
Hosted Linux build Skipped by CI
Hosted Windows build Skipped by CI
Hosted relinker Skipped by CI
Hosted relinker ASAN Skipped by CI
Hosted register-context Skipped by CI
Hosted write-watch Skipped by CI
Test-quality heuristic Could not execute: helper absent from isolated snapshot; not applicable to this docs-only change
Unedited check output

Diff check exited 0 with no output.

Conventions:

All conventions checks passed.

Merge preview:

PR #14004: **clean** against current base; head `577d9ee29e1996e33981dfc7fc92ac1ad1e930af`; changed paths: none reported

No declared PR dependencies were found in the target PR chain.

Hosted check runs:

relinker-asan	completed	skipped
linux	completed	skipped
register-context	completed	skipped
write-watch	completed	skipped
windows	completed	skipped
relinker	completed	skipped
conventions	completed	success
intake	completed	success
labels	completed	success
eligibility	completed	success

Test-quality helper:

/usr/bin/python3: can't open file '/tmp/anyps5-pr-precheck/boykopovar-AnyPS5-pr-14004-577d9ee29e19/head-577d9ee29e19-3c67623d/tools/pr_test_quality.py': [Errno 2] No such file or directory

Findings

Blocking: None.

Non-blocking: I could not independently verify the “29 of 53 local titles” count from tracked files in this checkout. Linking or briefly describing its source would make the count reproducible.

Sources

Not verified

No build, tests, or console run were performed; none is applicable to this one-line documentation-only diff. The local-title import count was not independently reproduced.

@github-actions github-actions Bot added the docs label Oct 31, 2026
…it pool size of 0

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@xXPBSXx

xXPBSXx commented Oct 31, 2026

Copy link
Copy Markdown
Contributor Author

Thank you, you are right, and the statement was wrong. The libSceSsl connection entry in docs/dev/debt/libSceSsl.md says the behaviour below it was measured on a PS5 on system software 13.40, and it records sceSslInit with a pool size of 0 returning SCE_KERNEL_ERROR_EINVAL (0x80020016). I checked the commit message of 2798e6a6fd, which does not name that case, and did not read the whole entry.

I pushed a follow-up commit, 9a5fa0ea99, that describes the SSL result as the console measurement the entry records and keeps the distinction you asked for: it is a neighbouring call, not a measurement of libhttp, so sceHttpInit with 0 stays unmeasured. I also updated the sentence in the description.

AI-assisted (Claude Code).

@github-actions

github-actions Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.

Pull request Shared files not compared
PR 9834 docs/dev/debt/libSceHttp.md
PR 11134 docs/dev/debt/libSceHttp.md
PR 14212 docs/dev/debt/libSceHttp.md

@adriadam10 adriadam10 self-assigned this Nov 5, 2026
@adriadam10
adriadam10 merged commit 7264864 into boykopovar:main Nov 5, 2026
11 checks passed
@adriadam10

Copy link
Copy Markdown
Collaborator

Checked the entry against our sceHttpInit (accepts 0), the pinned shadPS4 (EINVAL) and fpPS4 (accepts any) sources, and the libSceSsl 13.40 measurement Dean asked to be named; docs-only, conventions green; merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants