pytorch - 💡(How to fix) Fix Some `test_sdpa_can_compile_dynamic` in `transformers` fail (with `torch.compile(dynamic=True)`) with `torch 2.12 RC` but pass with `torch 2.11` [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
pytorch/pytorch#181563Fetched 2026-04-28 06:24:44
View on GitHub
Comments
0
Participants
1
Timeline
1
Reactions
0
Author
Participants
Timeline (top)
renamed ×1

Error Message

FAILED tests/models/gemma4/test_modeling_gemma4.py::Gemma4Audio2TextModelTest::test_sdpa_can_compile_dynamic

n = SchedulerNode(name='op9'), pointwise_numel = s6*(((s37 - 1)//4))(((s75 - 1)//4)) + s6(((s37 - 1)//4)) + s6*(((s75 - 1)//4)) + s6, red_numel = 8, none_if_not_divisible = True

def get_pw_red_splits(
    n: "SchedulerNode",
    pointwise_numel: sympy.Expr,
    red_numel: sympy.Expr,
    none_if_not_divisible: bool = False,
) -> tuple[VarsAndRanges, VarsAndRanges] | None:
    if n.is_reduction() or sympy_product(n._body.sizes[0]) == pointwise_numel:
        return (
            (n._body.iter_vars, n._body.sizes[0]),
            (n._body.reduce_vars, n._body.sizes[1]),
        )
  assert get_hint(sympy_product(n._body.sizes[0])) == get_hint(
        pointwise_numel * red_numel
    )

E torch._inductor.exc.InductorError: AssertionError: E E Set TORCHDYNAMO_VERBOSE=1 for the internal stack trace (please do this especially if you're reporting a bug to PyTorch). For even more developer context, set TORCH_LOGS="+dynamo"

/usr/local/lib/python3.10/dist-packages/torch/_inductor/tiling_utils.py:271: InductorError

Code Example

git clone https://github.com/huggingface/transformers.git && cd transformers && git fetch origin && git checkout 844cd49b && pip install -e .[torch,testing]

---

python3 -m pip uninstall -y torch torchvision torchaudio torchcodec
python3 -m pip install --no-cache-dir torchcodec==0.12.0 --index-url https://download.pytorch.org/whl/test/cpu
python3 -m pip install --no-cache-dir torch==2.12.0 torchvision==0.27.0 torchaudio==2.11.0 --index-url https://download.pytorch.org/whl/test/cu126

---

torch==2.12.0+cu126

---

python3 -m pytest -v tests/models/gemma4/test_modeling_gemma4.py::Gemma4Audio2TextModelTest::test_sdpa_can_compile_dynamic
python3 -m pytest -v tests/models/moonshine/test_modeling_moonshine.py::MoonshineModelTest::test_sdpa_can_compile_dynamic
python3 -m pytest -v tests/models/moonshine_streaming/test_modeling_moonshine_streaming.py::MoonshineStreamingModelTest::test_sdpa_can_compile_dynamic
python3 -m pytest -v tests/models/videomt/test_modeling_videomt.py::VideomtForUniversalSegmentationTest::test_sdpa_can_compile_dynamic

---

FAILED tests/models/gemma4/test_modeling_gemma4.py::Gemma4Audio2TextModelTest::test_sdpa_can_compile_dynamic

n = SchedulerNode(name='op9'), pointwise_numel = s6*(((s37 - 1)//4))*(((s75 - 1)//4)) + s6*(((s37 - 1)//4)) + s6*(((s75 - 1)//4)) + s6, red_numel = 8, none_if_not_divisible = True

    def get_pw_red_splits(
        n: "SchedulerNode",
        pointwise_numel: sympy.Expr,
        red_numel: sympy.Expr,
        none_if_not_divisible: bool = False,
    ) -> tuple[VarsAndRanges, VarsAndRanges] | None:
        if n.is_reduction() or sympy_product(n._body.sizes[0]) == pointwise_numel:
            return (
                (n._body.iter_vars, n._body.sizes[0]),
                (n._body.reduce_vars, n._body.sizes[1]),
            )

>       assert get_hint(sympy_product(n._body.sizes[0])) == get_hint(
            pointwise_numel * red_numel
        )
E       torch._inductor.exc.InductorError: AssertionError:
E
E       Set TORCHDYNAMO_VERBOSE=1 for the internal stack trace (please do this especially if you're reporting a bug to PyTorch). For even more developer context, set TORCH_LOGS="+dynamo"

/usr/local/lib/python3.10/dist-packages/torch/_inductor/tiling_utils.py:271: InductorError

---

/usr/local/lib/python3.10/dist-packages/torch/_dynamo/eval_frame.py:473: in __call__
    return super().__call__(*args, **kwargs)
/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py:1778: in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py:1789: in _call_impl
    return forward_call(*args, **kwargs)
/usr/local/lib/python3.10/dist-packages/torch/_dynamo/eval_frame.py:1062: in compile_wrapper
    raise e.remove_dynamo_frames() from None  # see TORCHDYNAMO_VERBOSE=1
/usr/local/lib/python3.10/dist-packages/torch/_inductor/compile_fx.py:1069: in _compile_fx_inner
    raise InductorError(e, currentframe()).with_traceback(
/usr/local/lib/python3.10/dist-packages/torch/_inductor/compile_fx.py:1049: in _compile_fx_inner
    mb_compiled_graph = fx_codegen_and_compile(
/usr/local/lib/python3.10/dist-packages/torch/_inductor/compile_fx.py:1836: in fx_codegen_and_compile
    return scheme.codegen_and_compile(gm, example_inputs, inputs_to_check, graph_kwargs)
/usr/local/lib/python3.10/dist-packages/torch/_inductor/compile_fx.py:1597: in codegen_and_compile
    compiled_module = graph.compile_to_module()
/usr/local/lib/python3.10/dist-packages/torch/_inductor/graph.py:2613: in compile_to_module
    return self._compile_to_module()
/usr/local/lib/python3.10/dist-packages/torch/_inductor/graph.py:2619: in _compile_to_module
    self.codegen_with_cpp_wrapper() if self.cpp_wrapper else self.codegen()
/usr/local/lib/python3.10/dist-packages/torch/_inductor/graph.py:2555: in codegen
    self.scheduler.codegen()
/usr/local/lib/python3.10/dist-packages/torch/_inductor/scheduler.py:7350: in codegen
    self._codegen_partitions()
/usr/local/lib/python3.10/dist-packages/torch/_inductor/scheduler.py:7490: in _codegen_partitions
    self._codegen(partition)
/usr/local/lib/python3.10/dist-packages/torch/_inductor/scheduler.py:7641: in _codegen
    self.get_backend(device).codegen_node(node)
/usr/local/lib/python3.10/dist-packages/torch/_inductor/codegen/cuda_combined_scheduling.py:152: in codegen_node
    return self._triton_scheduling.codegen_node(node)
/usr/local/lib/python3.10/dist-packages/torch/_inductor/codegen/simd.py:1860: in codegen_node
    coalesce_analysis = analyze_memory_coalescing(node)
/usr/local/lib/python3.10/dist-packages/torch/_inductor/tiling_utils.py:694: in analyze_memory_coalescing
    norm_read_writes = extract_normalized_read_writes(fused_node)
/usr/local/lib/python3.10/dist-packages/torch/_inductor/tiling_utils.py:523: in extract_normalized_read_writes
    pw_splits, red_splits = NodeSplitGetter(node).get_node_splits()
/usr/local/lib/python3.10/dist-packages/torch/_inductor/tiling_utils.py:327: in __init__
    maybe_splits = get_pw_red_splits(
/usr/local/lib/python3.10/dist-packages/torch/_inductor/tiling_utils.py:271: InductorError

---

PyTorch version: 2.12.0+cu126
Is debug build: False
CUDA used to build PyTorch: 12.6
ROCM used to build PyTorch: N/A

OS: Ubuntu 22.04.4 LTS (x86_64)
GCC version: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Clang version: Could not collect
CMake version: Could not collect
Libc version: glibc-2.35

Python version: 3.10.12 (main, Mar  3 2026, 11:56:32) [GCC 11.4.0] (64-bit runtime)
Python platform: Linux-6.12.79-101.147.amzn2023.x86_64-x86_64-with-glibc2.35
Is CUDA available: True
CUDA runtime version: Could not collect
CUDA_MODULE_LOADING set to:
GPU models and configuration: GPU 0: NVIDIA A10G
Nvidia driver version: 580.126.09
cuDNN version: Probably one of the following:
/usr/lib/x86_64-linux-gnu/libcudnn.so.9.3.0
/usr/lib/x86_64-linux-gnu/libcudnn_adv.so.9.3.0
/usr/lib/x86_64-linux-gnu/libcudnn_cnn.so.9.3.0
/usr/lib/x86_64-linux-gnu/libcudnn_engines_precompiled.so.9.3.0
/usr/lib/x86_64-linux-gnu/libcudnn_engines_runtime_compiled.so.9.3.0
/usr/lib/x86_64-linux-gnu/libcudnn_graph.so.9.3.0
/usr/lib/x86_64-linux-gnu/libcudnn_heuristic.so.9.3.0
/usr/lib/x86_64-linux-gnu/libcudnn_ops.so.9.3.0
Is XPU available: False
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
Caching allocator config: N/A

CPU:
Architecture:                            x86_64
CPU op-mode(s):                          32-bit, 64-bit
Address sizes:                           48 bits physical, 48 bits virtual
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               AuthenticAMD
Model name:                              AMD EPYC 7R32
CPU family:                              23
Model:                                   49
Thread(s) per core:                      2
Core(s) per socket:                      8
Socket(s):                               1
Stepping:                                0
BogoMIPS:                                5599.99
Hypervisor vendor:                       KVM
Virtualization type:                     full
L1d cache:                               256 KiB (8 instances)
L1i cache:                               256 KiB (8 instances)
L2 cache:                                4 MiB (8 instances)
L3 cache:                                32 MiB (2 instances)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15

Versions of relevant libraries:
[pip3] mypy_extensions==1.1.0
[pip3] numpy==1.26.4
[pip3] nvidia-cublas==13.1.0.3
[pip3] nvidia-cublas-cu12==12.6.4.1
[pip3] nvidia-cuda-cupti==13.0.85
[pip3] nvidia-cuda-cupti-cu12==12.6.80
[pip3] nvidia-cuda-nvrtc==13.0.88
[pip3] nvidia-cuda-nvrtc-cu12==12.6.85
[pip3] nvidia-cuda-runtime==13.0.96
[pip3] nvidia-cuda-runtime-cu12==12.6.77
[pip3] nvidia-cudnn-cu12==9.10.2.21
[pip3] nvidia-cudnn-cu13==9.19.0.56
[pip3] nvidia-cufft==12.0.0.61
[pip3] nvidia-cufft-cu12==11.3.0.4
[pip3] nvidia-curand==10.4.0.35
[pip3] nvidia-curand-cu12==10.3.7.77
[pip3] nvidia-cusolver==12.0.4.66
[pip3] nvidia-cusolver-cu12==11.7.1.2
[pip3] nvidia-cusparse==12.6.3.3
[pip3] nvidia-cusparse-cu12==12.5.4.2
[pip3] nvidia-cusparselt-cu12==0.7.1
[pip3] nvidia-cusparselt-cu13==0.8.0
[pip3] nvidia-nccl-cu12==2.29.3
[pip3] nvidia-nccl-cu13==2.28.9
[pip3] nvidia-nvjitlink==13.0.88
[pip3] nvidia-nvjitlink-cu12==12.6.85
[pip3] nvidia-nvtx==13.0.85
[pip3] nvidia-nvtx-cu12==12.6.77
[pip3] torch==2.12.0+cu126
[pip3] torchaudio==2.11.0+cu126
[pip3] torchcodec==0.12.0+cpu
[pip3] torchvision==0.27.0+cu126
[pip3] triton==3.7.0
[conda] Could not collect
RAW_BUFFERClick to expand / collapse

🐛 Describe the bug

Runner: AWS G5 (A10G single GPU)

Install transformers

git clone https://github.com/huggingface/transformers.git && cd transformers && git fetch origin && git checkout 844cd49b && pip install -e .[torch,testing]

Install

python3 -m pip uninstall -y torch torchvision torchaudio torchcodec
python3 -m pip install --no-cache-dir torchcodec==0.12.0 --index-url https://download.pytorch.org/whl/test/cpu
python3 -m pip install --no-cache-dir torch==2.12.0 torchvision==0.27.0 torchaudio==2.11.0 --index-url https://download.pytorch.org/whl/test/cu126

What we get

torch==2.12.0+cu126

Run tests

All 4 of the following tests fail with the same error:

python3 -m pytest -v tests/models/gemma4/test_modeling_gemma4.py::Gemma4Audio2TextModelTest::test_sdpa_can_compile_dynamic
python3 -m pytest -v tests/models/moonshine/test_modeling_moonshine.py::MoonshineModelTest::test_sdpa_can_compile_dynamic
python3 -m pytest -v tests/models/moonshine_streaming/test_modeling_moonshine_streaming.py::MoonshineStreamingModelTest::test_sdpa_can_compile_dynamic
python3 -m pytest -v tests/models/videomt/test_modeling_videomt.py::VideomtForUniversalSegmentationTest::test_sdpa_can_compile_dynamic

Error (shown for gemma4; all 4 tests produce the same error at the same location)

FAILED tests/models/gemma4/test_modeling_gemma4.py::Gemma4Audio2TextModelTest::test_sdpa_can_compile_dynamic

n = SchedulerNode(name='op9'), pointwise_numel = s6*(((s37 - 1)//4))*(((s75 - 1)//4)) + s6*(((s37 - 1)//4)) + s6*(((s75 - 1)//4)) + s6, red_numel = 8, none_if_not_divisible = True

    def get_pw_red_splits(
        n: "SchedulerNode",
        pointwise_numel: sympy.Expr,
        red_numel: sympy.Expr,
        none_if_not_divisible: bool = False,
    ) -> tuple[VarsAndRanges, VarsAndRanges] | None:
        if n.is_reduction() or sympy_product(n._body.sizes[0]) == pointwise_numel:
            return (
                (n._body.iter_vars, n._body.sizes[0]),
                (n._body.reduce_vars, n._body.sizes[1]),
            )

>       assert get_hint(sympy_product(n._body.sizes[0])) == get_hint(
            pointwise_numel * red_numel
        )
E       torch._inductor.exc.InductorError: AssertionError:
E
E       Set TORCHDYNAMO_VERBOSE=1 for the internal stack trace (please do this especially if you're reporting a bug to PyTorch). For even more developer context, set TORCH_LOGS="+dynamo"

/usr/local/lib/python3.10/dist-packages/torch/_inductor/tiling_utils.py:271: InductorError

Full traceback:

/usr/local/lib/python3.10/dist-packages/torch/_dynamo/eval_frame.py:473: in __call__
    return super().__call__(*args, **kwargs)
/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py:1778: in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py:1789: in _call_impl
    return forward_call(*args, **kwargs)
/usr/local/lib/python3.10/dist-packages/torch/_dynamo/eval_frame.py:1062: in compile_wrapper
    raise e.remove_dynamo_frames() from None  # see TORCHDYNAMO_VERBOSE=1
/usr/local/lib/python3.10/dist-packages/torch/_inductor/compile_fx.py:1069: in _compile_fx_inner
    raise InductorError(e, currentframe()).with_traceback(
/usr/local/lib/python3.10/dist-packages/torch/_inductor/compile_fx.py:1049: in _compile_fx_inner
    mb_compiled_graph = fx_codegen_and_compile(
/usr/local/lib/python3.10/dist-packages/torch/_inductor/compile_fx.py:1836: in fx_codegen_and_compile
    return scheme.codegen_and_compile(gm, example_inputs, inputs_to_check, graph_kwargs)
/usr/local/lib/python3.10/dist-packages/torch/_inductor/compile_fx.py:1597: in codegen_and_compile
    compiled_module = graph.compile_to_module()
/usr/local/lib/python3.10/dist-packages/torch/_inductor/graph.py:2613: in compile_to_module
    return self._compile_to_module()
/usr/local/lib/python3.10/dist-packages/torch/_inductor/graph.py:2619: in _compile_to_module
    self.codegen_with_cpp_wrapper() if self.cpp_wrapper else self.codegen()
/usr/local/lib/python3.10/dist-packages/torch/_inductor/graph.py:2555: in codegen
    self.scheduler.codegen()
/usr/local/lib/python3.10/dist-packages/torch/_inductor/scheduler.py:7350: in codegen
    self._codegen_partitions()
/usr/local/lib/python3.10/dist-packages/torch/_inductor/scheduler.py:7490: in _codegen_partitions
    self._codegen(partition)
/usr/local/lib/python3.10/dist-packages/torch/_inductor/scheduler.py:7641: in _codegen
    self.get_backend(device).codegen_node(node)
/usr/local/lib/python3.10/dist-packages/torch/_inductor/codegen/cuda_combined_scheduling.py:152: in codegen_node
    return self._triton_scheduling.codegen_node(node)
/usr/local/lib/python3.10/dist-packages/torch/_inductor/codegen/simd.py:1860: in codegen_node
    coalesce_analysis = analyze_memory_coalescing(node)
/usr/local/lib/python3.10/dist-packages/torch/_inductor/tiling_utils.py:694: in analyze_memory_coalescing
    norm_read_writes = extract_normalized_read_writes(fused_node)
/usr/local/lib/python3.10/dist-packages/torch/_inductor/tiling_utils.py:523: in extract_normalized_read_writes
    pw_splits, red_splits = NodeSplitGetter(node).get_node_splits()
/usr/local/lib/python3.10/dist-packages/torch/_inductor/tiling_utils.py:327: in __init__
    maybe_splits = get_pw_red_splits(
/usr/local/lib/python3.10/dist-packages/torch/_inductor/tiling_utils.py:271: InductorError

Versions

PyTorch version: 2.12.0+cu126
Is debug build: False
CUDA used to build PyTorch: 12.6
ROCM used to build PyTorch: N/A

OS: Ubuntu 22.04.4 LTS (x86_64)
GCC version: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Clang version: Could not collect
CMake version: Could not collect
Libc version: glibc-2.35

Python version: 3.10.12 (main, Mar  3 2026, 11:56:32) [GCC 11.4.0] (64-bit runtime)
Python platform: Linux-6.12.79-101.147.amzn2023.x86_64-x86_64-with-glibc2.35
Is CUDA available: True
CUDA runtime version: Could not collect
CUDA_MODULE_LOADING set to:
GPU models and configuration: GPU 0: NVIDIA A10G
Nvidia driver version: 580.126.09
cuDNN version: Probably one of the following:
/usr/lib/x86_64-linux-gnu/libcudnn.so.9.3.0
/usr/lib/x86_64-linux-gnu/libcudnn_adv.so.9.3.0
/usr/lib/x86_64-linux-gnu/libcudnn_cnn.so.9.3.0
/usr/lib/x86_64-linux-gnu/libcudnn_engines_precompiled.so.9.3.0
/usr/lib/x86_64-linux-gnu/libcudnn_engines_runtime_compiled.so.9.3.0
/usr/lib/x86_64-linux-gnu/libcudnn_graph.so.9.3.0
/usr/lib/x86_64-linux-gnu/libcudnn_heuristic.so.9.3.0
/usr/lib/x86_64-linux-gnu/libcudnn_ops.so.9.3.0
Is XPU available: False
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
Caching allocator config: N/A

CPU:
Architecture:                            x86_64
CPU op-mode(s):                          32-bit, 64-bit
Address sizes:                           48 bits physical, 48 bits virtual
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               AuthenticAMD
Model name:                              AMD EPYC 7R32
CPU family:                              23
Model:                                   49
Thread(s) per core:                      2
Core(s) per socket:                      8
Socket(s):                               1
Stepping:                                0
BogoMIPS:                                5599.99
Hypervisor vendor:                       KVM
Virtualization type:                     full
L1d cache:                               256 KiB (8 instances)
L1i cache:                               256 KiB (8 instances)
L2 cache:                                4 MiB (8 instances)
L3 cache:                                32 MiB (2 instances)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15

Versions of relevant libraries:
[pip3] mypy_extensions==1.1.0
[pip3] numpy==1.26.4
[pip3] nvidia-cublas==13.1.0.3
[pip3] nvidia-cublas-cu12==12.6.4.1
[pip3] nvidia-cuda-cupti==13.0.85
[pip3] nvidia-cuda-cupti-cu12==12.6.80
[pip3] nvidia-cuda-nvrtc==13.0.88
[pip3] nvidia-cuda-nvrtc-cu12==12.6.85
[pip3] nvidia-cuda-runtime==13.0.96
[pip3] nvidia-cuda-runtime-cu12==12.6.77
[pip3] nvidia-cudnn-cu12==9.10.2.21
[pip3] nvidia-cudnn-cu13==9.19.0.56
[pip3] nvidia-cufft==12.0.0.61
[pip3] nvidia-cufft-cu12==11.3.0.4
[pip3] nvidia-curand==10.4.0.35
[pip3] nvidia-curand-cu12==10.3.7.77
[pip3] nvidia-cusolver==12.0.4.66
[pip3] nvidia-cusolver-cu12==11.7.1.2
[pip3] nvidia-cusparse==12.6.3.3
[pip3] nvidia-cusparse-cu12==12.5.4.2
[pip3] nvidia-cusparselt-cu12==0.7.1
[pip3] nvidia-cusparselt-cu13==0.8.0
[pip3] nvidia-nccl-cu12==2.29.3
[pip3] nvidia-nccl-cu13==2.28.9
[pip3] nvidia-nvjitlink==13.0.88
[pip3] nvidia-nvjitlink-cu12==12.6.85
[pip3] nvidia-nvtx==13.0.85
[pip3] nvidia-nvtx-cu12==12.6.77
[pip3] torch==2.12.0+cu126
[pip3] torchaudio==2.11.0+cu126
[pip3] torchcodec==0.12.0+cpu
[pip3] torchvision==0.27.0+cu126
[pip3] triton==3.7.0
[conda] Could not collect

extent analysis

TL;DR

The issue is likely due to a compatibility problem between PyTorch 2.12.0+cu126 and the CUDA 12.6 environment, causing an InductorError in the get_pw_red_splits function.

Guidance

  • Verify the CUDA and cuDNN versions are compatible with PyTorch 2.12.0+cu126.
  • Check the PyTorch documentation for any known issues or updates related to CUDA 12.6 and InductorError.
  • Consider downgrading or upgrading the CUDA version to a compatible one, if possible.
  • Set TORCHDYNAMO_VERBOSE=1 to get more detailed error messages and internal stack traces for further debugging.

Example

No specific code changes are suggested at this point, as the issue seems to be related to environment compatibility rather than code logic.

Notes

The provided information does not include the full error message with TORCHDYNAMO_VERBOSE=1 set, which could provide more insights into the issue. Additionally, ensuring that all NVIDIA drivers and CUDA tools are up-to-date might help resolve the compatibility issue.

Recommendation

Apply a workaround by checking and potentially adjusting the CUDA version to ensure compatibility with PyTorch 2.12.0+cu126, as the error suggests a version mismatch might be the root cause.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING