Skip to content

feat!: upgrade llama.cpp from b10817 to b10819 - #417

Merged
bernardladenthin merged 1 commit into
mainfrom
claude/llama-cpp-b10819
Sep 5, 2026
Merged

feat!: upgrade llama.cpp from b10817 to b10819#417
bernardladenthin merged 1 commit into
mainfrom
claude/llama-cpp-b10819

Conversation

@bernardladenthin

Copy link
Copy Markdown
Owner

Summary

  • Bumps the pinned llama.cpp from b10817 to b10819 across all four pin files (llama/CMakeLists.txt GIT_TAG, README.md badge + link, CLAUDE.md, LlamaCppVersion.java), plus a CHANGELOG.md entry and two rows in docs/history/llama-cpp-breaking-changes.md.
  • The review surface is empty, not merely small. The range is 2 commits over 3 files, all of them ggml backends or upstream tests — none linked into or compiled by jllama. Nothing under common/, include/, tools/server/, tools/mtmd/, ggml/include/ or the top-level CMakeLists.txt moved at all.
    • #28399 metal: one-line memory-leak fix on an early-return path (ggml/src/ggml-metal/ggml-metal-context.m)
    • #28254 sycl: restore Kronecker-product FWHT, unbreak test-backend-ops on SYCL (ggml/src/ggml-sycl/fwht.cpp, tests/test-backend-ops.cpp)
  • Server contract re-checked anyway per the runbook's mechanical diff (request-field set, set_hard_limits bounds, response keys in both emit forms) — byte-identical.
  • Patches: zero intersection between the 3 changed files and the 42 files the eight patches touch, so no context can have moved. The fail-loud applier was still run for real: fresh build dir, configure clean, stamp written at head 6a1a922d269908a29cbd4b49c27e6a8e7fd10fae with all eight patch hashes recorded.
  • No chunking question arises. The full diff is 17 KB, far inside the runbook's 100 KiB threshold — a straight bump by the rule, not an exception to it.

Note on the Metal leak fix vs. the macOS-15 regression

#28399 is adjacent to the macOS-15 symptom without being its cause, and it is worth saying so explicitly so nobody reads this PR as the fix. That job logs "current allocated size is greater than the recommended max working set size", so a leaked Metal object on an early-return path is the right neighbourhood. But the observed failure is a libc++ "vector" exception thrown ~30 ms into llama_model_load of the draft model — before allocation of that kind — and the no-Metal macOS job fails identically. One variable removed, not the answer.

Test plan

  • Affected unit / integration tests pass locally
    • fresh configure clean; full build, zero warnings on the project TUs
    • ctest --test-dir build520/520
    • mvn clean verify1742 tests, 0 failures, 0 errors (incl. NativeLibraryLoadSmokeTest, which cross-checks LLAMA_CPP_VERSION against the linked build-info — this is the guard that catches a half-applied pin)
    • .github/verify-bytecode-version.sh --max-major 52 llama/targetscanned 616 class files in 5 jars; 0 jars over major 52
  • CI is green on this branch — Java Tests macOS 15 arm64 is expected to stay red, for the pre-existing b10797 regression described above, not for anything in this range. Every other job should be green.
  • Docs / CHANGELOG updated where applicable

Related issues / PRs

Follows #415 (b10797 → b10817). Upstream range: ggml-org/llama.cpp@b10817...b10819

Checklist

  • I have read CONTRIBUTING.md and CODE_OF_CONDUCT.md
  • My commits follow Conventional Commits
  • No security-sensitive changes

🤖 Generated with Claude Code

https://claude.ai/code/session_01AnNYn8W1xuVxVJtyL34GyH


Generated by Claude Code

No project-source change, and this time the review surface is empty rather than
merely small: the range is 2 commits over 3 files, all of them ggml backends or
upstream tests, none of which this project links against or compiles into
jllama. Nothing under common/, include/, tools/server/, tools/mtmd/ or
ggml/include/ moved at all. The server contract was re-checked anyway and is
byte-identical (request-field set, response keys in both emit forms).

  * #28399  metal : one-line memory-leak fix on an early-return path
  * #28254  sycl : restore Kronecker-product FWHT support, unbreak
            test-backend-ops on SYCL

The Metal leak fix deserves a note next to the macOS-15 regression tracked from
b10797, because it is adjacent to the symptom without being the cause: that job
logs "current allocated size is greater than the recommended max working set
size", so a leaked Metal object on an early return is the right neighbourhood.
It is NOT a fix. The observed failure is a libc++ "vector" exception thrown
~30 ms into llama_model_load of the draft model, before allocation of that kind,
and the no-Metal macOS job fails identically. One variable removed, not the
answer -- expect `Java Tests macOS 15 arm64` to stay red until that is bisected.

Patches: zero intersection with the 42 files the eight patches touch, so no
context can have moved. The applier was run for real regardless -- fresh build
dir, configure clean, stamp at head 6a1a922d, all eight hashes recorded.

No chunking question arises: the full diff is 17 KB across 2 commits, far inside
the runbook's 100 KiB threshold, so this is a straight bump BY the rule rather
than an exception to it.

Verified locally: fresh configure clean, full build with zero warnings on the
project TUs, ctest 520/520, mvn clean verify 1742 Java tests green (including
NativeLibraryLoadSmokeTest, which cross-checks LLAMA_CPP_VERSION against the
linked build-info), bytecode gate clean over llama/target.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AnNYn8W1xuVxVJtyL34GyH
@claude

claude Bot commented Sep 5, 2026

Copy link
Copy Markdown

Code Review: Version Bump b10817 → b10819

Summary

This is a well-executed, mechanical version bump following the documented runbook precisely.

Verification

Pin Files Complete — All four required locations updated:

  • ✅ llama/CMakeLists.txt: GIT_TAG b10817 → b10819
  • ✅ README.md: Badge and link updated
  • ✅ CLAUDE.md: 4 instances updated (documentation + examples)
  • ✅ LlamaCppVersion.java: Constant + all Javadoc examples

Documentation — No stale references:

  • ✅ CHANGELOG.md: Detailed entry about the two upstream commits
  • ✅ docs/history/llama-cpp-breaking-changes.md: Comprehensive analysis with patch intersection and server contract verification

Upstream Changes Assessment — Review surface correctly identified as empty:

  • ggml-metal/ggml-metal-context.m: Memory leak fix (GPU backend only)
  • ggml-sycl/fwht.cpp: FWHT restore (GPU backend only)
  • tests/test-backend-ops.cpp: Upstream test only

None linked by the project's JNI layer.

Quality Gates — All passing:

  • ✅ Diff size: 17 KB (under 100 KiB threshold)
  • ✅ Test results: 520 C++ tests + 1742 Java tests passing
  • ✅ NativeLibraryLoadSmokeTest gates the constant pin
  • ✅ Bytecode version check passes

Note on macOS-15 regression: Correctly identified as pre-existing (b10797) and not addressed by the Metal leak fix, which is adjacent to the symptom but not the root cause.

Approved — ready to merge.

@bernardladenthin
bernardladenthin merged commit ad2e3db into main Sep 5, 2026
11 of 15 checks passed
@bernardladenthin
bernardladenthin deleted the claude/llama-cpp-b10819 branch September 5, 2026 18:25
@sonarqubecloud

sonarqubecloud Bot commented Sep 5, 2026

Copy link
Copy Markdown

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.

2 participants