-
Notifications
You must be signed in to change notification settings - Fork 25k
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
[CI] DebMetadataTests test05CheckLintian failing #85691
Comments
Pinging @elastic/es-delivery (Team:Delivery) |
Pinging @elastic/ml-core (Team:ML) |
This is happening as a result of upgrading PyTorch from version 1.9 to version 1.11 in elastic/ml-cpp#2238. On
(It's the This is not the case on
There have been other cases in the past where PyTorch has needed to make changes to avoid an executable stack: pytorch/pytorch@639d1c7 and pytorch/pytorch@0e9613c We need to try to find out which source file within PyTorch is causing this with PyTorch 1.11 and whether it's a mistake or deliberate this time. PyTorch 1.11 is only in the main branch, so we have until 8.3.0 feature freeze to figure this out or else revert back to PyTorch 1.9. |
The same problem exists in the pre-built binary that you can download from https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-1.11.0%2Bcpu.zip.
So it's not that we made a silly mistake when building it from source. The official download for 1.11 also has an executable stack. I also downloaded https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-1.10.0%2Bcpu.zip and https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-1.9.0%2Bcpu.zip and found that 1.10 also has an executable stack but 1.9 doesn't. So it was a change between 1.9 and 1.10 that caused this. |
Breakpad causes the libtorch_cpu.so library to have an executable stack, which is undesirable. Fixes elastic/elasticsearch#85691
A bit of detective work using Breakpad was added in pytorch/pytorch#63186 which explains why this problem is in 1.10 but not 1.9. Also, the fact that Breakpad doesn't compile on Aarch64 explains why we don't get the executable stack problem on AArch64. I had to exclude it from the build on that architecture - see pytorch/pytorch#67083 and https://github.com/elastic/ml-cpp/pull/2238/files#diff-88435d0cdd0bfef440a7483f80bc6e75cba43032104f6cd5332049817e837c10R328. |
The test was muted due to elastic#85691. The underlying problem should be fixed by elastic/ml-cpp#2255. This PR needs to be merged after the new artifacts created from merging elastic/ml-cpp#2255 have been uploaded to S3.
Breakpad causes the libtorch_cpu.so library to have an executable stack, which is undesirable. Fixes elastic/elasticsearch#85691
The test was muted due to #85691. The underlying problem should be fixed by elastic/ml-cpp#2255. This PR needs to be merged after the new artifacts created from merging elastic/ml-cpp#2255 have been uploaded to S3.
Build scan:
https://gradle-enterprise.elastic.co/s/hx2aguhh5kmfi/tests/:qa:os:destructiveDistroTest.default-deb/org.elasticsearch.packaging.test.DebMetadataTests/test05CheckLintian
Reproduction line:
null
Applicable branches:
ONLY main
Reproduces locally?:
Didn't try
Failure history:
https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.packaging.test.DebMetadataTests&tests.test=test05CheckLintian
Failure excerpt:
The text was updated successfully, but these errors were encountered: