Skip to content
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

WalletCreate{Encrypted/Plain} benchmark crash on Windows #29816

Open
1 task done
achow101 opened this issue Apr 5, 2024 · 4 comments
Open
1 task done

WalletCreate{Encrypted/Plain} benchmark crash on Windows #29816

achow101 opened this issue Apr 5, 2024 · 4 comments
Labels

Comments

@achow101
Copy link
Member

achow101 commented Apr 5, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Current behaviour

After modifying the guix build script for 27.0rc1 to produce the benchmark binary, when bench_bitcoin is run on Windows, it crashes on the WalletCreateEncrypted and WalletCreatePlain benchmarks with

terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error'
  what():  filesystem error: cannot remove all: Broken pipe [C:\Users\ava\AppData\Local\Temp\test_common_Bitcoin Core\3429246d6bc3edb33b654eaa193f00685cbc45e5b8e31d04b784a4139314cbf9] [C:\Users\ava\AppData\Local\Temp\test_common_Bitcoin Core\3429246d6bc3edb33b654eaa193f00685cbc45e5b8e31d04b784a4139314cbf9\test_wallet_4003727542\wallet.dat]

I have not tested with a MSVC build.

Expected behaviour

Shouldn't crash

Steps to reproduce

  1. Checkout 27.0rc1
  2. Remove --disable-bench from guix's configure
  3. Do guix build
  4. Extract bench_bitcoin.exe
  5. bench_bitcoin.exe -filter="WalletCreateEncrypted" and/or bench_bitcoin.exe -filter="WalletCreatePlain"
  6. Crash

Relevant log output

No response

How did you obtain Bitcoin Core

Compiled from source

What version of Bitcoin Core are you using?

27.0rc1

Operating system and version

Windows 10

Machine specifications

No response

@hebasto
Copy link
Member

hebasto commented Apr 5, 2024

Does your Windows user have an OS permission to create symbolic links?

@achow101
Copy link
Member Author

achow101 commented Apr 5, 2024

Does your Windows user have an OS permission to create symbolic links?

No, but even when run as admin which does, the error still occurs.

@hebasto
Copy link
Member

hebasto commented Apr 6, 2024

It seems the same issue as I noticed in #29773.

From @sipsorcery's comment:

only guessing but I've always found Windows fairly average at releasing file and socket handles. Maybe that's the cause of the test failure rather than anything code related.

In my other life I work with SIP (telecoms protocol) with lots of socket handles flying around. If it's only for testing then I generally just add a 5 second wait and try again for handle in use errors.

@hebasto
Copy link
Member

hebasto commented Apr 6, 2024

I wonder if SQLite bothers to call CloseHandle() on Windows?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants