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 error on i386 arch #59
Comments
@fingolfin , is this the issue you've been working on? Is it fixed now? |
It's not the issue I was working on, or at least not that I could tell; in particular, I never observed the behavior described by @jgmbenoit . But of course it is possible that one of the changes we made affected it. To debug this issue, we need more information by @jgmbenoit:
|
The following CI log test responses to some of the questions. Otherwise the previous version 0.9.1 built well. |
This is very strange. I have a hard time guessing which object is supposed to be a MPFR float but is an integer. As I see it, the culprit has most chances of being in the input parser. I just added a few lines to tst/arithmetic.tst to see if the problem's there. Do you have a way of re-running the test on your debian-i386 setup? I guess you don't directly have access to such a machine, otherwise it might be easier to inspect actually what goes on by typing in the lines in tst/arithmetic.tst (after SetFloats(MPFR)) and seeing exactly where GAP chokes. |
Let me stress that we are testing 32bit in the CI here, and it works. I also have tested both 0.9.9 and the current master on various 32bit systems, and the tests pass. However, my tests all were with GAP master, not 4.11.1 (but I don't think this matters, but I will try to rule it out) |
@jgmbenoit could you try again with float 1.0.1 ? |
I have just packaged it. Let see what we get. |
The error persists: see the build log. |
This is compiling a 32bit .so file; So it can't possibly work. What I don't get, though, is why it doesn't refuse to load float in the first place. Weird To fix the build, add -m32 to CPPFLAGS and LDFLAGS |
Actually that was probably nonsense, assuming your compiler defaults to producing 32bit binaries! Sorry for the confusion |
Can you reproduce the issue on your side ? |
So far I was not able to reproduce the issue. However, I only had an Ubuntu 20.04 64bit system on which I installed 32bit tooling. I'll try and see if I can set up a "proper" Debian 32bit VM |
@jgmbenoit a bit off-topic, but: I just tried to
and I was like "whaaaaat????" I don't get why it has so many dependencies?! E.g. why is mesa and x11 in there? |
Have you try without installing the Recommended packages ? APT:Install-Recommends "0"; |
Could you finally reproduce the issue ? |
Nope. |
Have you tried in the current Sid (unstable) environment ? in a i386 one ? |
No. I tried but I gave up after spending an hour making it work. Sorry, but there is only so much time I can invest in debugging a package that I do not maintain and that is not essential to core GAP. Others (e.g. @laurentbartholdi the maintainer, or other parties interested in making it work) will have to take care of this one, I am afraid. |
Okay. Fair enough. |
"Good" (?) news we also still get a crash when testing float 1.0.1 in 32bit mode within the GAP CI. Alas a quite different segfault:
|
This is with a GAP debug build so it notices corruption earlier |
I finally was able to repro the crash in the GAP CI: I think the problem is caused by That said, the crash there is different from what @jgmbenoit observes, but it might be worth a try to see if it helps there, too... Also, one complication and the reason why I couldn't replicate this locally at first was that I was testing with
I am not sure yet why this difference happens, but it certainly was helpful :-) There are other suspicious things in there: the |
OK, master doesn't have it anymore.
…On Mon, Dec 13, 2021 at 3:36 PM Max Horn ***@***.***> wrote:
I finally was able to repro the crash in the GAP CI: I think the problem
is caused by -malign-double added by m4/ax_cc_maxopt.m4. I've not
analyzed why / how it causes the issue (other than speculation), but it
seems generally plausible, given that this potentially affects the ABI of
packages using double, such as *all* the libraries float uses...
That said, the crash there is different from what @jgmbenoit
<https://github.com/jgmbenoit> observes, but it might be worth a try to
see if it helps there, too...
Also, one complication and the reason why I couldn't replicate this
locally at first was that I was testing with float from git (using the
v1.0.1 tag), and there it worked! I only was able to repro the crash with
the float-1.0.1.tar.gz. I don't understand it yet, but apparently the
different autotools version used to make that tarball vs. what I have
locally lead to a behavior difference. In the end, I noticed this when
diffing the two directories:
- with float from git, I got: CFLAGS = -m32
- with the float 1.0.1 tarball, I got: CFLAGS = -O3
-fomit-frame-pointer -malign-double -fstrict-aliasing -ffast-math
-march=corei7-avx
I am not sure yet why this difference happens, but it certainly was
helpful :-)
There are other suspicious things in there: the -march is not a good idea
(als for the debian package), and also -ffast-math is dangerous.
Honestly, I think m4/ax_cc_maxopt.m4 overall is a bad idea, I removed it
from GAP packages I maintain long ago, I would recommend doing the same
here.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#59 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AARAQUFIK25KS6JEDJ7VFGTUQYAGBANCNFSM5HPTYMIA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
--
Laurent Bartholdi laurent.bartholdi<at>gmail<dot>com
Fachrichtung Mathematik, Universität des Saarlandes
Postfach 151150, 66041 Saarbrücken, Germany
Tel. +49 681 3023227, Sekr. +49 681 3023430
|
See also PR #76 |
Could you make a new release? Even if it doesn't help @jgmbenoit (I hope it does), it would help unbreak the GAP CI. Thanks! |
Release 1.0.2 builds well in the current i386 Debian Sid environment. So I am closing the issue. Thanks a lot. |
Great!
…On Wed, Dec 15, 2021 at 3:53 PM Jérôme Benoit ***@***.***> wrote:
Release 1.0.2 builds well in the current i386 Debian Sid environment. So I
am closing the issue. Thanks a lot.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#59 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AARAQUAHP7KHT6DVWBDFNO3URCTXJANCNFSM5HPTYMIA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
--
Laurent Bartholdi laurent.bartholdi<at>gmail<dot>com
Fachrichtung Mathematik, Universität des Saarlandes
Postfach 151150, 66041 Saarbrücken, Germany
Tel. +49 681 3023227, Sekr. +49 681 3023430
|
Version 0.9.9 can build on i386 ach in Debian Sid environment but it fails the test.
In a gap session at the source root folder:
gives the message
The issue does not show up on other (official) architectures.
Any hint to fix it ?
The text was updated successfully, but these errors were encountered: