Skip to content

dots3-note's [[noreturn]] on a non-void ForwardDevice breaks the Windows MSVC build on main (C4646/C2220), and Windows has no main baseline to have caught it #1829

Description

@localai-bot

Found on the windows-msvc-cpu job of PR #1821, whose own change touches four
files and none of them is this one. The break is inherited from main.

What is red

dots3_note.cpp(606,31): error C2220: the following warning is treated as an error
dots3_note.cpp(606,31): warning C4646: function declared with 'noreturn' has non-void return type

src/vllm/model_executor/models/dots3_note.h:282 declares

  [[noreturn]] static ForwardLogits ForwardDevice(

[[noreturn]] on a function whose return type is not void. GCC and Clang
accept it silently, MSVC emits C4646, and this build treats warnings as errors,
so the whole vllm project fails to compile on Windows. build-test-cpu,
build-test-cpu-arm64, build-newest-gcc and verify (cpu) are all green on
the same commit, which is why nothing on the POSIX side saw it.

Why it landed unseen

windows-msvc-cpu and windows-msvc-vulkan are PULL-REQUEST-ONLY jobs with no
main baseline, so main never receives a Windows verdict. The declaration
arrived with 849a7dd73
(#1805, row
MODEL-MM-dots3-note, lane #699), and that commit is an ancestor of
af320abb2. Every pull request branched from main after it now carries the
same red, and each one has to prove the red is not its own before it can
proceed.

This is NOT #584. #584 is the runtime exit -1073740791
(STATUS_STACK_BUFFER_OVERRUN) in test_openai_api_server.exe; this is a
compile error, and a reader who stops at the job name will wave a real break
through as the known one.

Owner

Row MODEL-MM-dots3-note, lane #699. Not repaired by #1821: the fix is a
semantic decision about a declaration in an actively-developed file that
another row owns -- ForwardDevice overrides into a registry hook and cannot
simply become void, so the choice is between dropping the attribute and
restructuring the refusal, and it needs the row that wrote it. #1821 also has
no MSVC to verify a fix against.

tests/vllm/models/test_kimi_k3_*.cpp's KimiK3Model::ForwardDevice is named
in dots3_note.h:276 as the pattern this mirrors; whoever fixes this should
check whether that one carries the same declaration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions