aarch64 rust problems

Havard Eidnes <[email protected]>
Newsgroups gmane.os.netbsd.ports.arm
Message-ID <[email protected]>
Hi,

some of you may be subscribed to pkgsrc-users@, and Wiz@ prompted
me to send this particular request for assistance here.

Just to recap:

The state of "does rust work (sufficiently to build itself) on
NetBSD/aarch64 9.3_STABLE":

            1.75.0  1.76.0  1.77.1  1.78.0

aarch64         x       x       f       f

where 'f' indicates "fails" and 'x' indicates "success".

This one reports a stack overflow in my testing, while trying to
build wip/rust177:

thread 'rustc' has overflowed its stack
fatal runtime error: stack overflow

after around 33 hours wallclock time building on my virtual 4-CPU
arm64 qemu instance (with MAKE_JOBS?=3), building with the
bundled LLVM, during the "stage 2" build.

This is reported upstream as
https://github.com/rust-lang/rust/issues/123551
but so far it appears nobody else is seeing a similar failure.


What I've done since I wrote the above is that I've done a
sequence of bumping the maximum stack size in the kernel, from
2x, via 4x, 8x and now to 16x -- from the cvs diff of the
GENERIC64 kernel config:

+# Bump max stack size by 16x:
+# default is 1L<<26, ref aarch64/include/vmparam.h
+options                MAXSSIZ="(1L<<30)"
+

and tcsh now shows:

arm64: {15} tcsh
arm64: {1} limit | grep stack
stacksize    8192 kbytes
arm64: {2} unlimit stacksize
arm64: {3} limit | grep stack
stacksize    458752 kbytes
arm64: {4}

However, this to no avail, re-starting the previously failed rust
build of 1.77.2 (from wip/rust177) still crashes with

     Running `/usr/pkgsrc/wip/rust177/work/rustc-1.77.2-src/build/bootstrap/debug/rustc /usr/pkgsrc/wip/rust177/work/rustc-1.77.2-src/build/bootstrap/debug/rust

thread 'rustc' has overflowed its stack
fatal runtime error: stack overflow

rustc exited with signal: 6 (SIGABRT) (core dumped)
Did not run successfully: signal: 6 (SIGABRT) (core dumped)
LD_LIBRARY_PATH="/usr/pkgsrc/wip/rust177/work/rustc-1.77.2-src/build/aarch64-unknown-netbsd/stage1/lib:/usr/pkgsrc/wip/rust177/work/rustc-1.77.2-src/build/aarch
-------------
error: could not compile `rustc_query_system` (lib)

This makes me wonder if the rust compiler detection of stack
overflow is faulty, and that this isn't in fact the problem.
I find it incredible that it actually overflows a 458MB stack.
Maybe as a last-ditch effort I'll re-try the build from scratch
instead of trying to just re-start it.

The package Makefile already has

UNLIMIT_RESOURCES+=     cputime stacksize datasize virtualsize

so should use the expanded max stack size.

However, I don't consider myself sufficiently competent to drive
gdb to decide this hunch, and would appreciate some assistance on
this point.

Regards,

- Håvard
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.