-
Notifications
You must be signed in to change notification settings - Fork 985
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
Integration & Contract Tests are failing on MacOS after go upgrade 1.20 #19802
Comments
Indeed the failure is due to upgrading One key thing worth noting is that when I update my This weird failure of contract tests with |
The key error message to focus on from the stack trace is this
and this happens right after
My initial guess was that I then commented out this reframe event and that the contract tests would run for longer but eventually fail with the same error message, so |
So at some point in the test run a "symbol" is not found. If we know which symbol is not found that would help us to narrow down the root cause further. |
I assume that the source of missing symbols for integration tests could be I tried to regenerate this file by using this tool https://github.com/divan/go2nodebinding/tree/master on https://github.com/status-im/status-go/blob/6b5315b1fde8edfd7268eaef41af3ea24412f644/mobile/status.go But the file contained fewer functions than what we already have.. it could be possible that this file was later on modified by hand rather than being auto generated. Perhaps @cammellos can assist more since he seems to have some experience with this file. |
aha Line 12 in 497c95f
could be interesting |
As per golang 1.20 changelog : https://go.dev/doc/go1.20#darwin
|
I tried this change in diff --git a/binding.gyp b/binding.gyp
index f161b3299..a0419d0ba 100644
--- a/binding.gyp
+++ b/binding.gyp
@@ -8,9 +8,6 @@
"sources": [
"./modules/react-native-status/nodejs/status.cpp"
],
- "xcode_settings": {
- "MACOSX_DEPLOYMENT_TARGET": "10.7"
- },
"libraries": [
"<!(pwd)/result/libstatus.a"
],
@@ -21,7 +18,13 @@
"-framework CoreFoundation",
"-framework CoreServices",
"-framework Security"
- ]
+ ],
+ "xcode_settings": {
+ "GCC_ENABLE_CPP_EXCEPTIONS": "YES",
+ "GCC_ENABLE_CPP_RTTI": "YES",
+ "MACOSX_DEPLOYMENT_TARGET": "11.0",
+ "CLANG_CXX_LANGUAGE_STANDARD": "c++20"
+ },
}]
]
}, { but the error is still reproducible and I do not get any additional information on the exception. |
well guessed, I just noticed that comment "DO NOT EDIT:..." , have you tried re-generate? @siddarthkay |
yes I did and the generated file was quite small and missed many functions. I will remove this comment in my next PR. |
fixes #19802 Contract Tests are failing with missing symbols runtime error on `MacOS` after `golang` version was upgraded to 1.20 A simple hack fix such a case is to use `go 1.19` only to build the status-go library that is used specifically for these integration tests. Its ugly but it works and unblocks devs from running tests locally. - execute `make test-contract` on MacOS and it should not fail. not needed since this impacts only the integration tests. - macOS status: ready
fixes #19802 Contract Tests are failing with missing symbols runtime error on `MacOS` after `golang` version was upgraded to 1.20 A simple hack fix such a case is to use `go 1.19` only to build the status-go library that is used specifically for these integration tests. Its ugly but it works and unblocks devs from running tests locally. - execute `make test-contract` on MacOS and it should not fail. not needed since this impacts only the integration tests. - macOS status: ready
fixes #19802 Contract Tests are failing with missing symbols runtime error on `MacOS` after `golang` version was upgraded to 1.20 A simple hack fix such a case is to use `go 1.19` only to build the status-go library that is used specifically for these integration tests. Its ugly but it works and unblocks devs from running tests locally. - execute `make test-contract` on MacOS and it should not fail. not needed since this impacts only the integration tests. - macOS status: ready
fixes #19802 Contract Tests are failing with missing symbols runtime error on `MacOS` after `golang` version was upgraded to 1.20 A simple hack fix such a case is to use `go 1.19` only to build the status-go library that is used specifically for these integration tests. Its ugly but it works and unblocks devs from running tests locally. - execute `make test-contract` on MacOS and it should not fail. not needed since this impacts only the integration tests. - macOS status: ready
fixes #19802 Contract Tests are failing with missing symbols runtime error on `MacOS` after `golang` version was upgraded to 1.20 A simple hack fix such a case is to use `go 1.19` only to build the status-go library that is used specifically for these integration tests. Its ugly but it works and unblocks devs from running tests locally. - execute `make test-contract` on MacOS and it should not fail. not needed since this impacts only the integration tests. - macOS status: ready
Integration & Contract Tests are failing on MacOS after upgrading to Go version 1.20. This issue is only reproducible on MacOS; tests work fine on NixOS.
The issue was introduced by: #19564
Error:
It would be nice to implement a MacOS CI pipeline to catch such issues in the future.
cc: @siddarthkay
The text was updated successfully, but these errors were encountered: