git.tree: bad tree entry + a 1.7 GB anon spike — store content verifies CLEAN post-hoc (stateful read bug, pre-existing)A jab get clone of a linux-v3.0-scale repo (698 MB pack, 2.06 M objects) lands + indexes the pack fine and STARTS the checkout, then dies in reconcileDir → treeMap → readTree with Error: git.tree: bad tree entry (_git_tree_next@[native code]) — and the process' ANONYMOUS RSS explodes from 48 MB to 1.75 GB in the final 5 s before the throw (a garbage size feeding a giant alloc, then the bad parse). The landed store is NOT corrupt: a FRESH process walks the same baseline tree completely (2265 trees, every readTree OK). So the bug is STATE accumulated inside the long-running get process (a shared/reused Buf or resolve window poisoned after ~10^5 interleaved getObject/materialise calls), not the pack, not the index, not GET-044 streaming. Method: work.
git clone --bare --single-branch off a local mirror; 733 MB closure, ~2.06 M objects), served via git-upload-pack over an ssh shim; jab get 'ssh://…?/linux'. Pack lands as 0000000001.keeper 697.7 MB + a 31.4 MB idx run + refs; root files materialise (COPYING, Makefile, …); then the throw.store.open(...) + full depth-first readTree walk of the tip's tree = 2265 trees, ZERO failures. buildIndex's scan also passed (the idx run was written).io.buf(size*4+256) giant alloc → garbled resolve → git.tree refuses).getObject/readTree resolve path (the Buf sizing off pk.size), the JABC pack cursor state (pk.seek/resolve reuse across ~10^5 calls), and jab cont.cpp _pack_next/_pack_size — note JAB-007's Buf | 0 int32 cursors: offsets/watermarks past 2^31 are NOT in play here (log is 698 MB), but the same narrowing pattern in per-record math is a candidate.git clone --mirror https://github.com/torvalds/linux.git ONCE, then git clone --bare --single-branch --branch v3.0 <mirror> medium.git; git -C medium.git update-ref refs/heads/master 02f8c6aee8df…; git -C medium.git symbolic-ref HEAD refs/heads/master.jab status sane, no anon blow-up.