Bump uuid from 11.1.0 to 13.0.0#65
Open
dependabot[bot] wants to merge 1 commit intomainfrom
Open
Conversation
bfe3548 to
d909a3e
Compare
Bumps [uuid](https://github.com/uuidjs/uuid) from 11.1.0 to 13.0.0. - [Release notes](https://github.com/uuidjs/uuid/releases) - [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md) - [Commits](uuidjs/uuid@v11.1.0...v13.0.0) --- updated-dependencies: - dependency-name: uuid dependency-version: 13.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
d909a3e to
c15888e
Compare
7 tasks
skullcrushercmd
added a commit
to AnyVM-Tech/anyscan-engine-c
that referenced
this pull request
Apr 28, 2026
…, EAL argv split) (#5) * fix(dpdk): synthesize stable EAL prog-name; never inject argv[0] Bug C from anygpt-52 c6in.metal bench (PR 65 issuecomment-4339242358): the EAL argv splitter previously copied argv[0] (scanner binary path) into eal_argv[0]. rte_eal_init may rewrite eal_argv slots as it consumes EAL flags, and the scanner's failure-path log printed eal_argv after that rewrite — so scanner --io-engine=dpdk … -- --file-prefix=foo --socket-mem 1024 surfaced in the EAL log as EAL argv was: scanner --file-prefix=foo --socket-mem scanner — the trailing 1024 token was clobbered by the scanner program path threading through rte_eal_init's argv mutation. Fix: - Extract split_argv_on_dash_dash from src/main.c into its own TU (src/eal-argv-split.c + include/eal-argv-split.h) so the splitter can be unit-tested without dragging the rest of the scanner in. - eal_argv[0] is now a synthesized stable literal "anyscan-dpdk" — same shape the existing default-argv fallback in dpdk_eal_bringup uses, so the EAL prog-name slot is identical between the two paths and independent of argv lifetime. - Token order between separators is preserved strictly: eal_argv[1..N] are exactly the tokens between `--` and end-of-argv, in order, no replacement. Test (tests/test_eal_argv_split.c, run via make unit-tests): - test_no_dash_dash: no `--` → eal_argc=0, eal_argv=NULL. - test_socket_mem_round_trip: reproduces the bench regression and asserts eal_argv = [anyscan-dpdk, --file-prefix=foo, --socket-mem, 1024, NULL] with argv[0] not appearing anywhere in eal_argv. - test_dash_dash_with_no_eal_args: synthesized prog-name still present even with no user EAL tokens. - test_realistic_eal_argv_shape: -l 0-7 --socket-mem 1024 --file-prefix=run42 --no-shconf round-trips intact. Verified RED: temporarily reverting eal_argv[0] = argv[0] makes 4 assertions fail (`expected 'anyscan-dpdk', got 'scanner'`); restoring the fix returns all 4 to GREEN. Refs: AnyVM-Tech/AnyGPT#65 issuecomment-4339242358 Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(dpdk): clamp TX/RX descriptor ring size against PMD nb_max Bug B from anygpt-52 c6in.metal bench (PR 65 issuecomment-4339242358): src/dpdk-eal.c hardcoded nb_tx_desc=ANYSCAN_DPDK_TX_RING_SIZE=1024 when calling rte_eth_tx_queue_setup. AWS ENA reports tx_desc_lim.nb_max=512, so the call returned Invalid value for nb_tx_desc(=1024), should be: <= 512, >= 128, ... rte_eth_tx_queue_setup(port=0, q=0) failed: Invalid argument before any TX traffic could leave the box. Same shape on the RX side. Fix: - New pure helper dpdk_clamp_ring_size in src/dpdk-ring-clamp.c that clamps a requested ring size against the three constraints in struct rte_eth_desc_lim: nb_max, nb_min, nb_align (any field reported as 0 means the PMD did not advertise that constraint and is skipped). - dpdk_eal_bringup now calls the helper using dev_info.{tx,rx}_desc_lim from the existing rte_eth_dev_info_get call before each rte_eth_*queue_setup, and logs the clamp at info level so the operator sees the active ring size. - include/dpdk-defs.h documents the per-PMD cap (ENA: nb_max=512; i40e/ixgbe/mlx5: 4096..8192) so the constant choice is self- explanatory. Test (tests/test_dpdk_clamp.c, run via make unit-tests): - test_ena_{tx,rx}_clamps_1024_to_512: the bench regression repro. - test_in_range_no_clamp: 512/256/128 against ENA limits → no change. - test_below_min_bumps_to_min: 64 → 128. - test_no_limits_passthrough: PMD reports all-zero limits → no clamp. - test_alignment_rounds_down: align=64 with max=600 → 576. - test_alignment_rounds_up_when_needed: align=64 with min=200 → rounds 200 up to 256 (the only valid value). Verified RED: pre-source the test fails to link with implicit-function- declaration and missing src/dpdk-ring-clamp.c. Adding the source + header declaration drives 7/7 to GREEN. Build verification on a host with libdpdk-dev installed: make USE_DPDK=1 test → 11/11 io_engine_dispatch + 8/8 dpdk_dispatch + 2/2 unit tests pass. Refs: AnyVM-Tech/AnyGPT#65 issuecomment-4339242358 Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(afxdp): full per-attempt teardown in bind-mode ladder Bug A from anygpt-52 c6in.metal bench (PR 65 issuecomment-4339242358): on AWS ENA the AF_XDP fall-back ladder (drv+zerocopy → drv+copy → skb) segfaults on the second attempt. The first xsk_socket__create returns -EOPNOTSUPP from bind() *after* libxdp has already attached its xsks_map redirect program in DRV mode; the next attempt's xsk_socket__create then segfaults inside libxdp's program-management layer trying to manage a stale program slot. This made --io-engine=af_xdp untestable on c6in.metal. Repro: scanner -i ens1 --io-engine=af_xdp -T 4 -R 4 198.18.0.0/24 1-1024 Fix: every failed attempt fully tears down what libxdp may have set up before returning, so the next attempt sees a fully clean interface. - New helper afxdp_full_teardown_after_failed_bind that releases the four primitives required for clean state: 1. xsk_socket__delete (release partially-bound socket) 2. xsk_umem__delete (release UMEM rings) 3. bpf_xdp_detach (mode=0) (clear interface XDP program slot, regardless of DRV vs SKB attach) 4. zero out s->{xsk, umem, xsk_fd, free_*, bound_mode, rings} plus free of the per-thread heap (free_stack, umem_area). - afxdp_try_bind now owns UMEM lifetime per attempt: allocates fresh via afxdp_alloc_umem at the top, calls the teardown helper on xsk_socket__create failure, returns -1. - afxdp_tx_init_per_thread no longer pre-allocates UMEM outside the bind ladder — the bind helper handles it. The redundant teardown in the "ladder exhausted" branch is gone (already torn down by the last failed attempt; only the outer struct itself remains to free). Includes pulled in: <bpf/libbpf.h> (bpf_xdp_detach), <net/if.h> (if_nametoindex). The libxdp/libbpf -dev packages already provide both; no Makefile change needed since the AF_XDP build links libbpf via pkg-config. Test (tests/test_afxdp_teardown.sh, run via make unit-tests): Structural assertions on src/send-afxdp.c — libxdp behaviour requires a NIC + root to exercise live, so this verifies that the source contains the teardown primitives in the right places. A future regression that removes any of them fails this test without needing to reproduce the segfault on hardware. 10 assertions across 4 categories: helper exists, helper calls all four primitives + state zero, afxdp_try_bind dispatches into the helper, single afxdp_alloc_umem call site (proving the UMEM allocation moved inside try_bind). Verified RED: running the structural test against the pre-fix src/send-afxdp.c (HEAD~2) fails 9 of the 10 assertions; restoring the fix returns all 10 to GREEN. Build verification on a host with libxdp+libbpf installed: make USE_AF_XDP=1 USE_DPDK=1 test → 11/11 io_engine_dispatch + 8/8 dpdk_dispatch + 3/3 unit tests pass. No new compile warnings. Refs: AnyVM-Tech/AnyGPT#65 issuecomment-4339242358 Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: skullcmd <skullcmd@anyvm.tech> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps uuid from 11.1.0 to 13.0.0.
Release notes
Sourced from uuid's releases.
Changelog
Sourced from uuid's changelog.
Commits
24c1238chore(main): release 13.0.0 (#902)bce9d72fix!: make browser exports the default (#901)7844bc2chore(main): release 12.0.0 (#880)a2b4603chore: npm run docs (#898)744a4a8docs: add motivation for dropping CJS support (#897)3c9acd5docs: fix CHANGELOG links. fixes #871 (#896)5fd974cfix: improve v4() performance (#894)330ee3bchore: minor example and benchmark cleanup (#893)caea889chore: fix bug report forme1f42a3fix: restore node: prefix (#889)You can trigger a rebase of this PR by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)