Fix Windows release CRT dependency#1537
Open
chenyukang wants to merge 3 commits into
Open
Conversation
chenyukang
marked this pull request as ready for review
July 7, 2026 07:17
chenyukang
force-pushed
the
fix/windows-msvc-crt
branch
from
July 7, 2026 07:38
23ef73d to
7b2bc05
Compare
chenyukang
force-pushed
the
fix/windows-msvc-crt
branch
from
July 7, 2026 10:47
7b2bc05 to
2463c4d
Compare
Collaborator
Author
|
Windows release test binary is available from the CI run:
The package contains |
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.
Fixes #1344.
Summary
x64-windows-static-mdtox64-windows-staticand settingRUSTFLAGS=-C target-feature=+crt-static.fnn.exe --check-validateagainst an empty store, catching process crashes before packaging a release.Root Cause
The Windows release workflow built on
windows-2022withopenssl:x64-windows-static-mdand Rust MSVC defaults. That combination statically linked OpenSSL but dynamically linked the MSVC C runtime, sofnn.exedepended on a sufficiently new system-wideMSVCP140.dll/VCRUNTIME140.dll. On machines with older VC++ Redistributable versions, the binary could crash with0xC0000005when startup first opened RocksDB.Validation
rtk git diff --check upstream/develop...HEADrtk ruby -e 'require "yaml"; YAML.load_file(".github/workflows/release.yml"); YAML.load_file(".github/workflows/ci.yml"); puts "yaml ok"'target/debug/fnn --check-validateagainst an empty store, confirming the command reaches the database validation path and returns a Rust-level validation error instead of failing before store open.Release test triggers
#windows-release-test