-
Notifications
You must be signed in to change notification settings - Fork 37.7k
fs: fully initialize _OVERLAPPED
for win32
#26090
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This is a refactor? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 02c9e56, tested on Linux x86_64:
- on the master branch (13fd9ee):
$ make -j $(nproc) -C depends HOST=x86_64-w64-mingw32
$ ./autogen.sh
$ ./configure -q CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site CXXFLAGS="-Wno-return-type -Wmissing-field-initializers"
$ make clean
$ make -j $(nproc) > /dev/null
fs.cpp: In member function ‘bool fsbridge::FileLock::TryLock()’:
fs.cpp:129:32: warning: missing initializer for member ‘_OVERLAPPED::InternalHigh’ [-Wmissing-field-initializers]
129 | _OVERLAPPED overlapped = {0};
| ^
fs.cpp:129:32: warning: missing initializer for member ‘_OVERLAPPED::<anonymous>’ [-Wmissing-field-initializers]
fs.cpp:129:32: warning: missing initializer for member ‘_OVERLAPPED::hEvent’ [-Wmissing-field-initializers]
leveldb/util/env_windows.cc: In member function ‘virtual leveldb::Status leveldb::{anonymous}::WindowsRandomAccessFile::Read(uint64_t, size_t, leveldb::Slice*, char*) const’:
leveldb/util/env_windows.cc:197:31: warning: missing initializer for member ‘_OVERLAPPED::InternalHigh’ [-Wmissing-field-initializers]
197 | OVERLAPPED overlapped = {0};
| ^
leveldb/util/env_windows.cc:197:31: warning: missing initializer for member ‘_OVERLAPPED::<anonymous>’ [-Wmissing-field-initializers]
leveldb/util/env_windows.cc:197:31: warning: missing initializer for member ‘_OVERLAPPED::hEvent’ [-Wmissing-field-initializers]
- with this PR (02c9e56):
$ make -j $(nproc) -C depends HOST=x86_64-w64-mingw32
$ ./autogen.sh
$ ./configure -q CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site CXXFLAGS="-Wno-return-type -Wmissing-field-initializers"
$ make clean
$ make -j $(nproc) > /dev/null
leveldb/util/env_windows.cc: In member function ‘virtual leveldb::Status leveldb::{anonymous}::WindowsRandomAccessFile::Read(uint64_t, size_t, leveldb::Slice*, char*) const’:
leveldb/util/env_windows.cc:197:31: warning: missing initializer for member ‘_OVERLAPPED::InternalHigh’ [-Wmissing-field-initializers]
197 | OVERLAPPED overlapped = {0};
| ^
leveldb/util/env_windows.cc:197:31: warning: missing initializer for member ‘_OVERLAPPED::<anonymous>’ [-Wmissing-field-initializers]
leveldb/util/env_windows.cc:197:31: warning: missing initializer for member ‘_OVERLAPPED::hEvent’ [-Wmissing-field-initializers]
Maybe submit a similar change to leveldb upstream as well?
tACK 02c9e56. |
I've submitted the same change upstream, google/leveldb#1053, however given the "very limited maintenance" state of leveldb, I think the likelyhood of it being merged is low. We could pull a similar change into our subtree if we wanted. |
Also opened a PR with the same change as sent upstream, in our subtree repo: bitcoin-core/leveldb-subtree#34. |
02c9e56 fs: fully initialize _OVERLAPPED for win32 (Cory Fields) Pull request description: ```bash fs.cpp: In member function ‘bool fsbridge::FileLock::TryLock()’: fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::InternalHigh’ [-Werror=missing-field-initializers] 129 | _OVERLAPPED overlapped = {0}; | ^ fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::<anonymous>’ [-Werror=missing-field-initializers] fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::hEvent’ [-Werror=missing-field-initializers] ``` Came up in bitcoin#25972. That PR is now rebased on this change. Closes: bitcoin#26006 ACKs for top commit: sipsorcery: tACK 02c9e56. hebasto: ACK 02c9e56, tested on Linux x86_64: Tree-SHA512: 6a0495c34bd952b2bb8c994a1450da7d3eee61225bb4ff0ce009c013f5e29dba94bb1c3ecef9989dc18c939909fdc8eba690a38f96da431ae9d64c23656de7d0
Post-merge comment: From: https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-overlapped
According to that note at least, it's possible that this was always failing before. This commit is obviously correct and a fix, we should still investigate whether or not this changes behavior in any meaningful way. Though I suspect we would've noticed, as |
1a463c7 Squashed 'src/leveldb/' changes from 22f1e4a02f..e2f10b4e47 (fanquake) Pull request description: Pulls in bitcoin-core/leveldb-subtree#34: win32: fix -Wmissing-field-initializers warnings Related to #26090, #25972. Guix Build: ```bash a8c49e700309e9268ad0a503e7813775f58daf37813501775ae5831eab0cf26a guix-build-13601da17e7a/output/aarch64-linux-gnu/SHA256SUMS.part 3a1722403f8daf8ea152c72004fb1021f8a7241ee7f51fb0e6adeeb50881f001 guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu-debug.tar.gz 3b7c1f2361ef4832c305ff4b0d9eb7419f787f8cf537952d7c20be549debe0af guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu.tar.gz 329cb5bc932621785a6aeca43af307279c47d87a4983ee3d59636f8e3dc27afa guix-build-13601da17e7a/output/arm-linux-gnueabihf/SHA256SUMS.part 4030f344c4c31cc0877c11d3b89f6ea93f930a4ae7e7976d49ad5123cc31a367 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf-debug.tar.gz ab50945c416b256b4c92ea0a50c0b7ec241e4c1f5803a4e7cb4ba83a6c5db888 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf.tar.gz 604557cc73c4065697255c6971547a46cd0d6ad1cdf74261d4c73d002abe8c46 guix-build-13601da17e7a/output/arm64-apple-darwin/SHA256SUMS.part 11e781c64fab7933df4a9b4f56357ad18dd8f149b3c9195bf2d310b58355851d guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.dmg e3fe9e278310f3dc97f463bb8cf2b930b587dba5095e18a7f38c4ef76338daad guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.tar.gz 00828a9bfd74013a439b7f0254bd72904b99ff1e3a9503ef6307ee57de81c5eb guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin.tar.gz d80032d2509a982dc81790b3ef3cd8d44551b41047082ebc506f01bbb8830de1 guix-build-13601da17e7a/output/dist-archive/bitcoin-13601da17e7a.tar.gz 61655cdf7c081c43275da57e5b42c21e33d7864378f3784652969ffdf7c3c2b2 guix-build-13601da17e7a/output/powerpc64-linux-gnu/SHA256SUMS.part 3d213e2f25ca72dc0c3d372c0ad3f6803865825a233b29dd80b5cff3e3963621 guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu-debug.tar.gz ef8cad747428b6b46c5d2c598fb7896b320a5321cf9a0c9dba2209c638bfbc7b guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu.tar.gz 2302e022394ca46570c70bc5977f35bbed258bfbb19c2c6d80f1982a725c9e35 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/SHA256SUMS.part 5ca3104b7d546c7d905f82dfd92b5350af754e3973b533adc50c6cbde8f59f96 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu-debug.tar.gz 2781824d8d08f8ac6663925db8b2d1b50b80165e67ed69df86580438284f0c3b guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu.tar.gz 24a73f91c5ab9e72f2471cd7b31482c702a3de8dade9aff6b76af34253748cec guix-build-13601da17e7a/output/riscv64-linux-gnu/SHA256SUMS.part b09658af4bd24eb5e76bacbfc7f8750a8941f117511b5c55a44ef1beffec8367 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu-debug.tar.gz 56bde3f3df115dbf801944e4f923a08752fd05cda0bbf0e0e3c915387f98e4a8 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu.tar.gz ca9a5acb332fb2ffda42e44d84b58e273a769e94f0abaaa0623ed1d1c5267dde guix-build-13601da17e7a/output/x86_64-apple-darwin/SHA256SUMS.part ccae805bca5d4075d1bccbaeca7ac40bb4dac0a97f4fd4c3c80b2d6134d6acb0 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.dmg b12c9682b69b3662150abd6680bb60f9fef656a1fdc3cd21951c2da571be40cc guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.tar.gz fd3378e4d60f0ef3ae1b18f526e96ed9e838df4def021de332dd0b6cd20ed0c4 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin.tar.gz 47c7af42153850a94d70de6489389f6faf8772d6adc88269705a12e6b894e84e guix-build-13601da17e7a/output/x86_64-linux-gnu/SHA256SUMS.part 876898d116041680ea6fa3bbce1becb05e45ea5bdbaf973a1465fde4bd2df26d guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu-debug.tar.gz 56671e22f25ba695c7315de916c6a2d1b57d5f00982b331c68a43912ac3ebc44 guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu.tar.gz f5b9b7d83ad34b7b6c3cb98b9d7878795a1f6fb7b422ffb02b23266beb76d3a6 guix-build-13601da17e7a/output/x86_64-w64-mingw32/SHA256SUMS.part a72cfb4ce41cad3bb24df2e4bb318edd05370e12fc31f9ba21637b3fd412dccd guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-debug.zip 4b175eac7355715884be279dd4595665912b62815f1d0186ca9874cb9e6424cb guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-setup-unsigned.exe c45d927f0adedc3eb0a01cee0f9fa734c17d9e9a6692b0f416a3830c007b52cc guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-unsigned.tar.gz 360a5b8806c72dbfcfed616d5cec78606461d664e21fb28a44bd473a2b7c9326 guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64.zip ``` ACKs for top commit: hebasto: ACK 13601da, I have reviewed the code and it looks OK, I agree it can be merged. theuni: ACK 13601da Tree-SHA512: 1450618714a456d8969fa5bfc3ed700452e0737213af50656a0a1e0764e6063390fb528eb1889d8bf1e02e451f601f0a5bc63a02ac34ef10aeb7dc80fe41acd1
1a463c7 Squashed 'src/leveldb/' changes from 22f1e4a02f..e2f10b4e47 (fanquake) Pull request description: Pulls in bitcoin-core/leveldb-subtree#34: win32: fix -Wmissing-field-initializers warnings Related to bitcoin#26090, bitcoin#25972. Guix Build: ```bash a8c49e700309e9268ad0a503e7813775f58daf37813501775ae5831eab0cf26a guix-build-13601da17e7a/output/aarch64-linux-gnu/SHA256SUMS.part 3a1722403f8daf8ea152c72004fb1021f8a7241ee7f51fb0e6adeeb50881f001 guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu-debug.tar.gz 3b7c1f2361ef4832c305ff4b0d9eb7419f787f8cf537952d7c20be549debe0af guix-build-13601da17e7a/output/aarch64-linux-gnu/bitcoin-13601da17e7a-aarch64-linux-gnu.tar.gz 329cb5bc932621785a6aeca43af307279c47d87a4983ee3d59636f8e3dc27afa guix-build-13601da17e7a/output/arm-linux-gnueabihf/SHA256SUMS.part 4030f344c4c31cc0877c11d3b89f6ea93f930a4ae7e7976d49ad5123cc31a367 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf-debug.tar.gz ab50945c416b256b4c92ea0a50c0b7ec241e4c1f5803a4e7cb4ba83a6c5db888 guix-build-13601da17e7a/output/arm-linux-gnueabihf/bitcoin-13601da17e7a-arm-linux-gnueabihf.tar.gz 604557cc73c4065697255c6971547a46cd0d6ad1cdf74261d4c73d002abe8c46 guix-build-13601da17e7a/output/arm64-apple-darwin/SHA256SUMS.part 11e781c64fab7933df4a9b4f56357ad18dd8f149b3c9195bf2d310b58355851d guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.dmg e3fe9e278310f3dc97f463bb8cf2b930b587dba5095e18a7f38c4ef76338daad guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin-unsigned.tar.gz 00828a9bfd74013a439b7f0254bd72904b99ff1e3a9503ef6307ee57de81c5eb guix-build-13601da17e7a/output/arm64-apple-darwin/bitcoin-13601da17e7a-arm64-apple-darwin.tar.gz d80032d2509a982dc81790b3ef3cd8d44551b41047082ebc506f01bbb8830de1 guix-build-13601da17e7a/output/dist-archive/bitcoin-13601da17e7a.tar.gz 61655cdf7c081c43275da57e5b42c21e33d7864378f3784652969ffdf7c3c2b2 guix-build-13601da17e7a/output/powerpc64-linux-gnu/SHA256SUMS.part 3d213e2f25ca72dc0c3d372c0ad3f6803865825a233b29dd80b5cff3e3963621 guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu-debug.tar.gz ef8cad747428b6b46c5d2c598fb7896b320a5321cf9a0c9dba2209c638bfbc7b guix-build-13601da17e7a/output/powerpc64-linux-gnu/bitcoin-13601da17e7a-powerpc64-linux-gnu.tar.gz 2302e022394ca46570c70bc5977f35bbed258bfbb19c2c6d80f1982a725c9e35 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/SHA256SUMS.part 5ca3104b7d546c7d905f82dfd92b5350af754e3973b533adc50c6cbde8f59f96 guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu-debug.tar.gz 2781824d8d08f8ac6663925db8b2d1b50b80165e67ed69df86580438284f0c3b guix-build-13601da17e7a/output/powerpc64le-linux-gnu/bitcoin-13601da17e7a-powerpc64le-linux-gnu.tar.gz 24a73f91c5ab9e72f2471cd7b31482c702a3de8dade9aff6b76af34253748cec guix-build-13601da17e7a/output/riscv64-linux-gnu/SHA256SUMS.part b09658af4bd24eb5e76bacbfc7f8750a8941f117511b5c55a44ef1beffec8367 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu-debug.tar.gz 56bde3f3df115dbf801944e4f923a08752fd05cda0bbf0e0e3c915387f98e4a8 guix-build-13601da17e7a/output/riscv64-linux-gnu/bitcoin-13601da17e7a-riscv64-linux-gnu.tar.gz ca9a5acb332fb2ffda42e44d84b58e273a769e94f0abaaa0623ed1d1c5267dde guix-build-13601da17e7a/output/x86_64-apple-darwin/SHA256SUMS.part ccae805bca5d4075d1bccbaeca7ac40bb4dac0a97f4fd4c3c80b2d6134d6acb0 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.dmg b12c9682b69b3662150abd6680bb60f9fef656a1fdc3cd21951c2da571be40cc guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin-unsigned.tar.gz fd3378e4d60f0ef3ae1b18f526e96ed9e838df4def021de332dd0b6cd20ed0c4 guix-build-13601da17e7a/output/x86_64-apple-darwin/bitcoin-13601da17e7a-x86_64-apple-darwin.tar.gz 47c7af42153850a94d70de6489389f6faf8772d6adc88269705a12e6b894e84e guix-build-13601da17e7a/output/x86_64-linux-gnu/SHA256SUMS.part 876898d116041680ea6fa3bbce1becb05e45ea5bdbaf973a1465fde4bd2df26d guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu-debug.tar.gz 56671e22f25ba695c7315de916c6a2d1b57d5f00982b331c68a43912ac3ebc44 guix-build-13601da17e7a/output/x86_64-linux-gnu/bitcoin-13601da17e7a-x86_64-linux-gnu.tar.gz f5b9b7d83ad34b7b6c3cb98b9d7878795a1f6fb7b422ffb02b23266beb76d3a6 guix-build-13601da17e7a/output/x86_64-w64-mingw32/SHA256SUMS.part a72cfb4ce41cad3bb24df2e4bb318edd05370e12fc31f9ba21637b3fd412dccd guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-debug.zip 4b175eac7355715884be279dd4595665912b62815f1d0186ca9874cb9e6424cb guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-setup-unsigned.exe c45d927f0adedc3eb0a01cee0f9fa734c17d9e9a6692b0f416a3830c007b52cc guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64-unsigned.tar.gz 360a5b8806c72dbfcfed616d5cec78606461d664e21fb28a44bd473a2b7c9326 guix-build-13601da17e7a/output/x86_64-w64-mingw32/bitcoin-13601da17e7a-win64.zip ``` ACKs for top commit: hebasto: ACK 13601da, I have reviewed the code and it looks OK, I agree it can be merged. theuni: ACK 13601da Tree-SHA512: 1450618714a456d8969fa5bfc3ed700452e0737213af50656a0a1e0764e6063390fb528eb1889d8bf1e02e451f601f0a5bc63a02ac34ef10aeb7dc80fe41acd1
Came up in #25972. That PR is now rebased on this change.
Closes: #26006