Skip to content

Conversation

@cataphract
Copy link
Contributor

The default allocator argument caused runtime exceptions "emplace: incompatible allocators" (from writable_object::emplace/emplace_back in src/object.hpp:1179, 1216) when converting a dynamic_string to an object with a mismatched allocator.

By making the allocator parameter required, such bugs will be caught at compile time instead of causing runtime exceptions.

This change fixes two instances in fingerprint.cpp where the allocator was not being passed, which triggered these allocator mismatch exceptions, and updates tests to explicitly pass allocators.

The default allocator argument caused runtime exceptions "emplace: incompatible
allocators" (from writable_object::emplace/emplace_back in src/object.hpp:1179,
1216) when converting a dynamic_string to an object with a mismatched allocator.

By making the allocator parameter required, such bugs will be caught at compile
time instead of causing runtime exceptions.

This change fixes two instances in fingerprint.cpp where the allocator was not
being passed, which triggered these allocator mismatch exceptions, and updates
tests to explicitly pass allocators.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@cataphract cataphract had a problem deploying to dd-protected-coverage December 24, 2025 10:07 — with GitHub Actions Failure
@github-actions
Copy link

Dynamic Artifact Size Comparison 📦

Artifact Previous Release This PR Difference
darwin-arm64::libddwaf.dylib 2027984 2004032 -1.18%
darwin-universal::libddwaf.dylib 4256208 4215872 -0.94%
darwin-x86_64::libddwaf.dylib 2213736 2195712 -0.81%
linux-aarch64::libddwaf.so 2463376 2376064 -3.54%
linux-armv7::libddwaf.so 2148940 2041288 -5.00%
linux-i386::libddwaf.so 2392980 2297788 -3.97%
linux-x86_64::libddwaf.so 2660256 2569488 -3.41%
windows-arm64::ddwaf.dll 4790272 4782592 -0.16%
windows-win32::ddwaf.dll 3368960 3319296 -1.47%
windows-x64::ddwaf.dll 4102656 4052480 -1.22%

Static Artifact Size Comparison 📦

Artifact Previous Release This PR Difference
darwin-arm64::libddwaf.a 91537528 92268064 0.79%
darwin-arm64::libddwaf.a.stripped 4582760 4698392 2.52%
darwin-universal::libddwaf.a 184432872 186057944 0.88%
darwin-universal::libddwaf.a.stripped 9776864 10016872 2.45%
darwin-x86_64::libddwaf.a 92895296 93789832 0.96%
darwin-x86_64::libddwaf.a.stripped 5194056 5318432 2.39%
linux-aarch64::libddwaf.a 73173714 75430246 3.08%
linux-aarch64::libddwaf.a.stripped 11851494 12167506 2.66%
linux-armv7::libddwaf.a 64732098 66623448 2.92%
linux-armv7::libddwaf.a.stripped 10852278 11179344 3.01%
linux-i386::libddwaf.a 62858558 64820406 3.12%
linux-i386::libddwaf.a.stripped 9379838 9685146 3.25%
linux-x86_64::libddwaf.a 73660850 75928864 3.07%
linux-x86_64::libddwaf.a.stripped 11670798 11979380 2.64%
windows-arm64::ddwaf.lib 11698 16410 40.27%
windows-arm64::ddwaf_static.lib 57964164 55849846 -3.64%
windows-win32::ddwaf.lib 11922 16726 40.29%
windows-win32::ddwaf_static.lib 49576448 47756372 -3.67%
windows-x64::ddwaf.lib 11698 16410 40.27%
windows-x64::ddwaf_static.lib 57456080 55581388 -3.26%

@pr-commenter
Copy link

pr-commenter bot commented Dec 24, 2025

Benchmarks clang-pgo

Benchmark execution time: 2025-12-24 10:35:25

Comparing candidate commit 7ea1ecd in PR branch glopes/fix-incompatible-allocators with baseline commit 3a06266 in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 1 metrics, 0 unstable metrics.

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