Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

aarch64 rust problems



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


Home | Main Index | Thread Index | Old Index