Initial commit — leak-hunt project complete
Five bugs identified and patched in retail Asheron's Call client: - v3b: palette refcount over-increment (3-byte NOP at two sites) - v5: RenderSurface PurgeResource no-op stub (vtable slot 2 thunk) - v11: two dangling-pointer crash guards (NULL-check + reorder) - v14: CEnvCell::Destroy ClipPlaneList leak (18-byte JMP to cleanup thunk) - v22: unpacker stale-pointer SEH guard (whole-function __try/__except) All five ship in leakfix.dll (117 KB, SHA d282f23c…) which is loaded by acclient.exe at process start via PE import table patching by tools/install_leakfix.py. Controlled 15-client fleet soak: unpatched control died at 26h with palette exhaustion; all 14 patched clients survived past that point and reached ≥5-day uptime. Residual ~15 MB/h growth traced to d3d9.dll's internal slab allocator (260KB surface backing buffers retained after Release). See REPORT.md §10 for the full investigation; conclusion is that it's unfixable from outside d3d9. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
commit
57b5e43d0e
199 changed files with 1648333 additions and 0 deletions
61
.gitignore
vendored
Normal file
61
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
# --- credentials & local-only configuration ---
|
||||
.env
|
||||
*.creds
|
||||
bin/launch_*.ps1
|
||||
bin/launch_*.cmd
|
||||
|
||||
# --- big binaries (the package's pdb is committed deliberately; raw snapshots are not) ---
|
||||
artifacts/**/snap_*.txt
|
||||
artifacts/**/snap_*.bin
|
||||
artifacts/**/dump_*.dmp
|
||||
artifacts/**/*.dmp
|
||||
artifacts/**/*.etl
|
||||
artifacts/**/*.cab
|
||||
artifacts/**/*.umdh.stdout
|
||||
|
||||
# --- build outputs (when Phase 3/8 land) ---
|
||||
build/
|
||||
out/
|
||||
*.obj
|
||||
*.pdb.tmp
|
||||
*.exp
|
||||
*.lib
|
||||
!pdb/acclient.pdb
|
||||
# but keep the shipping DLL itself committed
|
||||
!dll/leakfix/build/leakfix.dll
|
||||
|
||||
# --- big files we don't want in the repo ---
|
||||
leakhunt-migration.zip
|
||||
tmp_*.txt
|
||||
Usersacbot*
|
||||
*.log
|
||||
artifacts/
|
||||
|
||||
# memory dir is not part of the public deliverable; keep local
|
||||
memory/
|
||||
.claude/
|
||||
|
||||
# internal docs — keep local, not in the public repo
|
||||
REPORT.md
|
||||
HANDOFF.md
|
||||
CLAUDE.md
|
||||
MANIFEST.md
|
||||
READ_ME_FIRST.txt
|
||||
--help
|
||||
|
||||
# derived acclient.exe variants — copyrighted game binary, do not redistribute
|
||||
dll/leakfix/acclient*.exe
|
||||
dll/leakfix/dist/acclient*.exe
|
||||
dll/leakfix/stable/acclient*.exe
|
||||
|
||||
# --- OS / editor junk ---
|
||||
Thumbs.db
|
||||
desktop.ini
|
||||
*.swp
|
||||
.vscode/
|
||||
.idea/
|
||||
|
||||
# --- python / venv junk ---
|
||||
__pycache__/
|
||||
*.pyc
|
||||
.venv/
|
||||
Loading…
Add table
Add a link
Reference in a new issue