Skip to content
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

Regression blocking Debian #1264

Open
rpavlik opened this issue Jun 30, 2022 · 17 comments
Open

Regression blocking Debian #1264

rpavlik opened this issue Jun 30, 2022 · 17 comments

Comments

@rpavlik
Copy link
Contributor

rpavlik commented Jun 30, 2022

System information

  • SolveSpace version: 3.1~rc1
  • Operating system: Debian testing

Expected behavior

autopkgtests run normally

Actual behavior

"no surfaces to export" on s390x: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1013163

$ solvespace-cli export-surfaces --output /tmp/autopkgtest-lxc.qokm0ro_/downtmp/autopkgtest_tmp/%_surfaces.step ./test/group/translate_asy/normal_v22.slvs
Missing (absent) translation for group-name'#references'
Missing (absent) translation for group-name'sketch-in-plane'
Error: The model does not contain any surfaces to export.
Written '/tmp/autopkgtest-lxc.qokm0ro_/downtmp/autopkgtest_tmp/./test/group/translate_asy/normal_v22_surfaces.step'.

and

solvespace-cli export-surfaces --output /tmp/autopkgtest-lxc.qokm0ro_/downtmp/autopkgtest_tmp/%_surfaces.step ./test/group/translate_nd/normal_v22.slvs
Missing (absent) translation for group-name'#references'
Missing (absent) translation for group-name'sketch-in-plane'
Generate::ALL took 44 ms
Error: The model does not contain any surfaces to export.
Written '/tmp/autopkgtest-lxc.qokm0ro_/downtmp/autopkgtest_tmp/./test/group/translate_nd/normal_v22_surfaces.step'.

This did work with the previous Debian package version, which is a 3.0RC.

@ruevs
Copy link
Member

ruevs commented Jun 30, 2022

@rpavlik So is this is a custom Debian test suite/script using the files from our test suite and solvespace-cli ?

I am not on Linux but I did run the equivalent of the last command

solvespace-cli export-surfaces --output 
/tmp/autopkgtest-lxc.qokm0ro_/downtmp/autopkgtest_tmp/%_surfaces.step 
./test/group/translate_asy/normal_v22.slvs

On Windows:

[C:\Users\xxxx\Desktop\solvespace\buildmsvc\bin\Debug]solvespace-cli export-surfaces --output .\surfaces.step ..\..\..\git\test\group\translate_nd\normal_v22.slvs

and it exported a valid step file. This was in debug mode. Here is the output:

Missing (absent) translation for group-name'#references'
Missing (absent) translation for group-name'sketch-in-plane'
mimalloc: warning: mi_usable_size: pointer might not point to a valid heap region: 03808000
(this may still be a valid very large allocation (over 64MiB))
mimalloc: warning: (yes, the previous pointer 03808000 was valid after all)
mimalloc: warning: mi_usable_size: pointer might not point to a valid heap region: 03808000
(this may still be a valid very large allocation (over 64MiB))
mimalloc: warning: (yes, the previous pointer 03808000 was valid after all)
mimalloc: warning: mi_usable_size: pointer might not point to a valid heap region: 03810000
(this may still be a valid very large allocation (over 64MiB))
mimalloc: warning: (yes, the previous pointer 03810000 was valid after all)
mimalloc: warning: mi_usable_size: pointer might not point to a valid heap region: 03810000
(this may still be a valid very large allocation (over 64MiB))
mimalloc: warning: (yes, the previous pointer 03810000 was valid after all)
mimalloc: warning: mi_usable_size: pointer might not point to a valid heap region: 03810000
(this may still be a valid very large allocation (over 64MiB))
mimalloc: warning: (yes, the previous pointer 03810000 was valid after all)
mimalloc: warning: mi_usable_size: pointer might not point to a valid heap region: 03810000
(this may still be a valid very large allocation (over 64MiB))
mimalloc: warning: (yes, the previous pointer 03810000 was valid after all)
mimalloc: warning: mi_free: pointer might not point to a valid heap region: 03808000
(this may still be a valid very large allocation (over 64MiB))
mimalloc: warning: (yes, the previous pointer 03808000 was valid after all)
Generate::ALL (for bounding box) took 51 ms
Generate::ALL took 52 ms
mimalloc: warning: mi_usable_size: pointer might not point to a valid heap region: 03808700
(this may still be a valid very large allocation (over 64MiB))
mimalloc: warning: (yes, the previous pointer 03808700 was valid after all)
mimalloc: warning: mi_usable_size: pointer might not point to a valid heap region: 03808700
(this may still be a valid very large allocation (over 64MiB))
Generate::ALL took 62 ms
Written '.\surfaces.step'.

The same in release:

[C:\Users\xxxx\Desktop\solvespace\buildmsvc\bin\Release]solvespace-cli export-surfaces --output .\surfaces.step ..\..\..\git\test\group\translate_nd\normal_v22.slvs

And the output:

Written '.\surfaces.step'.

@rpavlik
Copy link
Contributor Author

rpavlik commented Jun 30, 2022

yeah, it only shows up on the s390x architecture which is IBM z/Series aka system 360 successor. I have a docker environment setting up on my pc (using binfmt and qemu) now to bisect

here's the script: https://salsa.debian.org/science-team/solvespace/-/blob/master/debian/tests/surfaces

(also those are very weird mimalloc warnings...)

@rpavlik
Copy link
Contributor Author

rpavlik commented Jun 30, 2022

OK, so I'm not seeing the error in a release build of master inside an s390x docker...

@ruevs
Copy link
Member

ruevs commented Jun 30, 2022

I have a docker environment setting up on my pc (using binfmt and qemu) now to bisect

Call me very impressed that you know how to set up and IBM s/390 emulation with qemu and docker!

Crazy thought - if you run solvespace (the GUI) and point it to an X server on a PC would it actually work? The s/390 does not have "local" display hardware I presume?

@rpavlik
Copy link
Contributor Author

rpavlik commented Jun 30, 2022

Yeah , x forwarding would probably work. I had never done it either, and am frankly surprised it works too. My first try was to install a vm, but I found instructions to do it with docker and it worked, so...

I am now basically trying to rerun the tests: on testing (bookworm), with the unstable (sid) version of the solvespace package installed (3.1 basically), doing the autopkgtests. Some weird results, like:

solvespace-cli export-view --output /tmp/autopkgtest.87e4t0/autopkgtest_tmp/%_view.pdf --view isometric ./test/constraint/at_midpoint/line_pt_normal.slvs
Missing (absent) translation for group-name'#references'
Missing (absent) translation for group-name'sketch-in-plane'
File ./src/resource.cpp, line 56, function LoadStringFromGzip:
Assertion failed: stream.avail_out == 0.
Message: Inflated resource larger than what trailer indicates.
Aborted (core dumped)

which nevertheless actually did not fail the test?

I replied to the bug requesting a re-test.

@rpavlik
Copy link
Contributor Author

rpavlik commented Jun 30, 2022

btw

# does some kind of setup?
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

docker run --rm -it --platform linux/s390x s390x/debian:bookworm

@phkahler
Copy link
Member

I ran master on x86-64 linux, opened the test file with the GUI and exported surfaces. Got what looks like a valid .step file.

@rpavlik
Copy link
Contributor Author

rpavlik commented Jun 30, 2022

Yeah, see the linked Debian bug: it's a very specific environment causing failure (architecture, system deps, and maybe cosmic rays). It works fine on more common setups and on my attempt to replicate the failed setup.

@ruevs
Copy link
Member

ruevs commented Aug 5, 2022

@rpavlik now there is a new (semi?)automatic bug:
https://www.mail-archive.com/debian-bugs-rc@lists.debian.org/msg624418.html

@rpavlik
Copy link
Contributor Author

rpavlik commented Aug 5, 2022

Yeah I have to email the s390 mailing list. If they can't help I'll probably just remove the package from that architecture, it's pretty clearly a spurious problem, and I'm not sure if anybody is actually running Linux on Z series mainframes to use GUI apps like Solvespace 🤣

@phkahler
Copy link
Member

phkahler commented Aug 5, 2022

Yeah I have to email the s390 mailing list. If they can't help I'll probably just remove the package from that architecture

I wanted to suggest that, but who am I to say what architectures Debian folks want solvespace to run on or why? It is the obvious solution, and I doubt anyone is using it for actual CAD work on that arch.

@ruevs
Copy link
Member

ruevs commented Dec 4, 2022

@phkahler
Copy link
Member

phkahler commented Dec 4, 2022

@rpavlik ??

@rpavlik
Copy link
Contributor Author

rpavlik commented Dec 4, 2022

Yep, I got that email, plan to address it this week at work.

@rpavlik
Copy link
Contributor Author

rpavlik commented Dec 7, 2022

OK, I am now just waiting for a sponsorship of the revised package, since I am not formally a DM or DD.

The underlying float precision or something issue on s390x remains, but at least this should unblock debian.

@ruevs
Copy link
Member

ruevs commented Sep 6, 2023

@rpavlik It seems 3.1 is in Debian now https://tracker.debian.org/pkg/solvespace - can we close this?
https://packages.debian.org/src:solvespace

@rpavlik
Copy link
Contributor Author

rpavlik commented Sep 7, 2023

yeah, it's not blocking debian anymore. It's not a build issue, unless there are flags to make s390x floating point act more like sse2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants