-
Notifications
You must be signed in to change notification settings - Fork 683
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
Move Linux CI tests from Travis to Cirrus #1070
Conversation
@glebpom Do you have any idea with the |
@asomers it probably means that there is no kernel support (or kernel modules are not loaded) of algorithms which we use in tests on the host machine. Is it possible to invoke |
@glebpom here's the contents of /proc/crypto. Do you see what you need?
|
From what I see, the algorithm is supported. I will take a deeper look later today |
@asomers I was able to reproduce the problem by creating the GKE cluster, which cirrus uses internally. Linux kernel returns
It seems like the problem is somewhere in GCE virtualization and Linux kernel. |
Fabulous 😏 . The kernel documentation doesn't mention anything about ENOENT for AF_ALG sockets. I fear that this is one of those "Use the source" moments. Do you have any more ideas, or shall I just disable that test in CI? BTW, on my personal Debian VM, |
Here it is: https://github.com/torvalds/linux/blob/63bdf4284c38a48af21745ceb148a087b190cd21/crypto/af_alg.c#L44
AEAD is supported staring from kernel version 3.19. If you have jessie, could it be 3.16?
Switching underlying VMs to another OS/kernel versions may work. Not sure if it's possible for for open-source projects. Contacting google cloud support may also help. |
So the algorithm exists according to /proc/crypto, but for some reason it's not available to bind? My only guess is that this has something to do with the container's capabilities.
Nope, I have Debian 9.6, kernel 4.9.0-8.
|
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.
I believe this is the issue @asomers.
.cirrus.yml
Outdated
task: | ||
name: Linux | ||
container: | ||
- image: rust:1.24.1 |
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.
- image: rust:1.24.1 | |
image: rust:1.24.1 |
.cirrus.yml
Outdated
task: | ||
name: Linux/GNU x86_64 stable | ||
container: | ||
- image: rust:latest |
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.
- image: rust:latest | |
image: rust:latest |
.cirrus.yml
Outdated
task: | ||
name: Linux | ||
container: | ||
- image: rust:1.24.1 |
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.
I believe it shouldn't be a YAML list:
- image: rust:1.24.1 | |
image: rust:1.24.1 |
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.
hehehe I beat you to it
.cirrus.yml
Outdated
task: | ||
name: Linux/GNU x86_64 stable | ||
container: | ||
- image: rust:latest |
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.
- image: rust:latest | |
image: rust:latest |
Thanks for the rapid feedback @fkorotkov @RDIL ! |
Hopefully this will get us more up-to-date VMs.
It looks like the SIGALARM is interrupting poll(2)
* kmod tests must run exclusively, because they load and unload a module with a constant name. * A few tests were doing some variant of chdir, but weren't taking the CWD_MTX. * The kmod tests read files by path relative to CWD, so they need the CWD_MTX. But they don't need it exclusively, so convert the CWD_MTX into an RwLock. * Tests that do change the cwd need to change it back when they're done.
--test-threads > 1
I don't know why they fail. It's probably either a kernel bug or an undocumented restriction. According to /proc/crypto these algorithms _are_ supported on Cirrus's VMs.
superseded by #1350 |
No description provided.