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
BUG: CommandLineInterfaceTest
failing with "SEH exception" on windows with v25.2
#15436
Comments
Looking at the blame of the respective file (and the logs noting something about the fixture constructor), my first suspicion was that this is related to protobuf/src/google/protobuf/compiler/command_line_interface_unittest.cc Lines 198 to 204 in a9b006b
However, even with including that header and running the test suite in parallel, the failures persist. They also persist if we build the static variant of protobuf. |
Couple of other things I noticed:
|
I guess it's also possible that something could be happening related to the following hunk from e897bcf @@ -242,9 +252,13 @@ class CommandLineInterfaceTest::NullCodeGenerator : public CodeGenerator {
// ===================================================================
CommandLineInterfaceTest::CommandLineInterfaceTest() {
+ // Reset the mock generator's test case environment variable.
+ SetMockGeneratorTestCase("");
+
// Register generators.
- RegisterGenerator("--test_out", "--test_opt",
- std::make_unique<MockCodeGenerator>("test_generator"),
+ auto mock_generator = std::make_unique<MockCodeGenerator>("test_generator");
+ mock_generator_ = mock_generator.get();
+ RegisterGenerator("--test_out", "--test_opt", std::move(mock_generator),
"Test output.");
RegisterGenerator("-t", std::make_unique<MockCodeGenerator>("test_generator"),
"Test output."); It looks strange to me that we're holding a persistent reference in |
There's also a couple of leaks around mocked objects which happen in other tests; not sure if that's an unrelated issue or somehow connected:
|
In conda-forge, all 151 tests in
CommandLineInterfaceTest
fail with the following error:Looking for "SEH exception ...", this seems to be coming from windows directly, and is possibly related due to having some kind of ABI mismatch (alignment; MD vs MT etc.).
Given that background, it's probably worth mentioning that we're building a shared version of libprotobuf also on windows - it's conceivable that something about the CLI is always built against a static runtime?
In any case, this setup used to work without issues up until v24.4.
More context in this CI run.
What version of protobuf and what language are you using?
Version: v25.2
Language: C++
What operating system (Linux, Windows, ...) and version?
Windows (GH image
windows-2022
)What runtime / compiler are you using (e.g., python version or gcc version)
VS2019
Build environment
Host environment
What did you do?
What did you expect to see
Passing test suite
What did you see instead?
See above
Anything else we should know about your project / environment
The text was updated successfully, but these errors were encountered: