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
Test suite errors on arm64 architecture #2271
Comments
Canu doesn't support arm architectures, I'm surprised it compiled there at all. You can see that there have been some recent changes (#2260) to support arm but I wouldn't expect v2.2 to work on it. |
@skoren We've been compiling for arm64 version 2.0 ; only recently we began running some extra testing and ran into the failure linked about. Interestingly enough, the assembly succeeds on |
A more detailed error should be in |
@skoren I've queued up a new build that grabs all |
On a dedicated machine I wasn't able to reproduce the error; but on a new CI run I got the following: https://ci.debian.net/data/autopkgtest/testing/arm64/c/canu/39150058/log.gz |
Nothing very enlightening in the logs:
but if it's working on a dedicated machine, is it possible that the CI is restricting memory so when it tries to allocate some it fails? Not sure if @brianwalenz has any other suggestions. |
Sadly, no suggestions. Both HEAD and v2.2 run fine with the parameters expected to be used in the CI ( |
I've asked the admins of the CI infrastructure and the answer is: The memory for the arm64 workers isn't huge (8GB), but all i386 and some of the amd64 workers have the same. |
Hmm, I wonder about that
If you tell me what command to run, I guess I can run it in the container. |
|
@mr-c as the maintainer of |
Oh, awesome, thanks for the stack trace! Do you happen to know the memory page size being used here? Is there is a downoadable VM I can use to reproduce this? Possibly just one with an installed OS would be sufficient...and (brief) instructions on how to run would be invaluable as I'm not terribly VM literate. About the "10 GB needed": It is reporting estimated resources required for two algorithms, the 'simple' and the 'complex'. The simple claims to need 10 GB, and so isn't used, while the complex is estimating 0.3 GB. |
No, but if you teach me how to look it up, I can do that.
Neither am I. The Debian CI infrastructure doesn't work with VMs but with lxc containers that are generated with |
I'll try to reproduce the failure here this week, failing that, I'll add a bunch of debugging to a branch and let you run another test. |
|
Shucks, that theory went out the window. |
Do we have some alternative idea to track down the problem? |
Thanks for the ping. After a ferocious battle with QEMU I have reproduced the crash, literally just now. Annoyingly, it does NOT crash when I build Canu with debugging support, nor it fail when run under |
Am Wed, Nov 29, 2023 at 04:49:15AM -0800 schrieb Brian Walenz:
Thanks for the ping. After a ferocious battle with QEMU I have reproduced the crash, literally just now.
Thanks a lot for it.
Annoyingly, it does NOT crash when I build Canu with debugging support, nor it fail when run under `valgrind`.
Argh. Crossing fingers that its not too cumbersome, Andreas.
|
Hopefully fixed. 'twas a good bug. I had used too weak of a memory ordering requirement (https://en.cppreference.com/w/cpp/atomic/memory_order) that allowed aarch64 to reorder instructions such that a shared memory allocation was able to escape a critical section. The key quote from the linked page is
What I thought was implementing a critical section worked on amd64 more-or-less by default; on ARM the default wasn't strong enough. |
Am Wed, Nov 29, 2023 at 12:56:10PM -0800 schrieb Brian Walenz:
Hopefully fixed. 'twas a good bug.
...
Thanks a lot for this tough work. Do you intend to issue a micro release with this fix? Otherwise we might use the related commit as a patch but a release would be more convenient and also helpful for other downstream users.
Kind regards, Andreas.
|
Ping about a new release or a commit we can cherry-pick for the Debian package. |
Hi Andreas- I'm (finally) getting around to making a release. There have been a few build changes (the handling of externally defied CXXFLAGS), and packaging changes (installing perl modules into Apologies for the double-work of cherry-picking and then updating for a new release. The release kept getting preempted by other projects. |
Hi Brian,
its great if you could do a release and we'll see what patches might potentially adapted. For the moment I do not have any comment except to say thank you for your work
Andreas.
|
Check out https://salsa.debian.org/med-team/canu/-/tree/master/debian/patches?ref_type=heads but I think all are merged upstream already. Did you update your copy of parasail to grab jeffdaily/parasail#102 ? |
Answering my own question: Yes, as of a55ecfa @brianwalenz Looks like all is ready for a new release! |
Hi,
the Debian packaged version of canu seems to work nicely on several 64bit architectures. Unfortunately it fails the CI test we wrote for canu which calls the command
failing on arm64 architecture. The Debian infrastructure provides full logs which include the installation of all preconditions for the software that is used. So please inspect the full log of the arm64 test (and scroll down to the end) to see the whole test result. If you want to compare the issue with other architectures you can check our tracker which provides links in green color named "PASS".
As you can read on this page the canu version is 2.2.
Kind regards, Andreas,
The text was updated successfully, but these errors were encountered: