-
-
Notifications
You must be signed in to change notification settings - Fork 131
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
logos-codegen
test failure in s390x
#427
Comments
Looks like an interesting, but probably challenging bug! do you have any other big-endian architecture you could test on to ensure the issue is endianess? |
Unfortunately not in Fedora builders, those are only |
I you can find a github runner or docker image that runs big endian and create a PR that adds a workflow on that architecture, that would greatly help reproducing your error :) |
Maybe can try out with https://github.com/uraimo/run-on-arch-action? |
Yes this looks like a good direction! Would you have time to work on a PR? |
Using the GH Action wasn't really successful: #428. But I did manage to provide another reproducible environment using |
I guess any runner / docker image with big-endian arch should be fine :-) |
FROM s390x/fedora:latest
RUN dnf install -y git cargo
RUN git clone https://github.com/maciejhirsz/logos /logos
WORKDIR /logos
CMD ["cargo", "test", "--workspace", "--verbose"] with $ docker build --platform linux/s390x -f ./Containerfile -t debug:logos-s390x
$ docker run --platform linux/s390x debug:logos-s390x or $ podman build --arch s390x -f ./Containerfile -t debug:logos-s390x
$ podman run --arch s390x debug:logos-s390x I had issues with the
|
Thanks for your investigation! A small question I should have asked from the start:
Is this problem present with earlier versions of Logos? I also see that you link
Did you already give it a try? |
It actually passed in
Yep, consistently the same error. I'll setup a copr builder in a bit |
Could you check with |
I can only check as low as |
As far as I can tell, the only difference between result and reference is the order of functions, enumerators, and match branches. The output depends on the iteration order of a logos/logos-codegen/src/generator/fork.rs Lines 73 to 88 in 30ffb42
logos/logos-codegen/src/generator/fork.rs Line 11 in 30ffb42
The key type uses the default logos/logos-codegen/src/graph/mod.rs Lines 61 to 62 in 30ffb42
which in turn uses the same The I guess the problem could be solved by providing a custom implementation of If the performance impact of these solutions is not acceptable, it would be possible to adjust the test, such that there are different references for big-endian and little-endian platforms. |
Hi, I am updating
logos
to0.14.2
on Fedora, when I've encountered the following issue when building fors390x
:I have diffed the results of each one, and they look drastically different:
left
right
I am not sure what to make of it, could someone advise on this? Other architectures worked fine, and the main difference with
s390x
is that it is big-endianbuild.log
The text was updated successfully, but these errors were encountered: