Skip to content

phobos2-test-runner (1.5.0) fails on armv7l (RPI2): _Unwind_RaiseException failed with reason code: 9 #2403

@deviator

Description

@deviator

Hello. I download latest prebuild version of ldc and try to run test on target platform:

druntime-test-runner-debug

pass all tests but
Not safe to migrate Fibers between Threads on your system. Consider setting version CheckFiberMigration for this system in thread.d

druntime-test-runner

pass all tests but same warning as in debug version

phobos2-test-runner-debug

show stack after pass std.socket

/lib/arm-linux-gnueabihf/libc.so.6(__default_rt_sa_restorer+0x0)[0x76d8c6c0]
/lib/arm-linux-gnueabihf/libpthread.so.0(pthread_join+0x10)[0x76efd358]
./phobos2-test-runner-debug(_D4core6thread6Thread4joinMFbZC6object9Throwable+0x2c)[0x4cd9ff8]
./phobos2-test-runner-debug(_D3std11parallelism18_sharedStaticDtor9FZ14__foreachbody1MFKC4core6thread6ThreadZi+0x88)[0x41cd110]
./phobos2-test-runner-debug(_D4core6thread6Thread7opApplyFMDFKC4core6thread6ThreadZiZi+0x7c)[0x4cdaa38]
... 120 (!) identical lines ...
./phobos2-test-runner-debug(_D4core6thread6Thread7opApplyFMDFKC4core6thread6ThreadZiZi+0x7c)[0x4cdaa38]
****** FAIL release32 std.stdio
core.exception.AssertError@std/stdio.d(1452): Fork crashed
----------------
exception.d:455 onAssertErrorMsg [0x4cd332f]
exception.d:632 _d_assert_msg [0x4cd394b]
stdio.d:1452 void std.stdio.File.__unittestL1430_12().runForked(void delegate()) [0x47aace3]
stdio.d:1458 void std.stdio.File.__unittestL1430_12() [0x47aaa97]
... 120 identical lines too ...
stdio.d:1458 void std.stdio.File.__unittestL1430_12() [0x47aaa97]

Other tests passed

phobos2-test-runner

after pass std.process show this

Fatal error in EH code: _Unwind_RaiseException failed with reason code: 9
Aborted

Same error I have in random places in my program what compiled by all previous version of ldc that I tried
forum thread
if run phobos2-test-runner under gdb it show this stack trace

4.035s PASS release32 std.process
Fatal error in EH code: _Unwind_RaiseException failed with reason code: 9

Thread 1 "phobos2-test-ru" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x76d93824 in __GI_abort () at abort.c:89
#2  0x04715d48 in fatalerror ()
#3  0x0470b3b8 in _d_assert ()
#4  0x03e6828c in std.random.__unittestL3012_44() ()
#5  0x00000000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) 

If I understood correctly this is code generation problem and not related to frontend.

host

Linux 4.13.10-200.fc26.x86_64

ldc from prebuild

LDC - the LLVM D compiler (1.5.0):
  based on DMD v2.075.1 and LLVM 5.0.0
  built with LDC - the LLVM D compiler (1.5.0)
  Default target: x86_64-unknown-linux-gnu
  Host CPU: skylake

build tests

env CC=/usr/bin/arm-linux-gnueabihf-gcc ldc-build-runtime --testrunners -j8 --dFlags='-mtriple=arm-linux-gnueabihf' TARGET_SYSTEM="Linux;UNIX" BUILD_SHARED_LIBS=OFF

cross-linker

arm-linux-gnueabihf-gcc (GCC) 7.2.0

target RPI2 with official raspbian stretch with desktop

Linux 4.9.41-v7+ #1023

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions