crystal fails to pass compiler test on edge
.build/all_spec --no-color --verbose
Compiler
has a valid version
compiles a file
Invalid memory access (signal 11) at address 0x7f592d74f4f8
[0x55b0d35261c6] *Exception::CallStack::print_backtrace:Int32 +118
[0x55b0d2c8721c] __crystal_sigfault_handler +316
[0x7f593b85fc4b] ???
make: *** [Makefile:84: spec] Error 11
>>> ERROR: crystal: check failed
>>> crystal: Uninstalling dependencies...
I tested it in lxc and by skipping this compiler test all other tests/specs passes. Also I tried compiler test with gdb and result is here:
mps-edge-x86_64:~/aports/community/crystal/src/crystal-0.35.1 > make compiler_spec master
Using /usr/bin/llvm-config [version=10.0.1]
CRYSTAL_CONFIG_LIBRARY_PATH="" CRYSTAL_CONFIG_BUILD_COMMIT="7f9cdb61fd" SOURCE_DATE_EPOCH="1607447069" ./bin/crystal build --exclude-warnings spec/std --exclude-warnings spec/compiler -o .build/compiler_spec spec/compiler_spec.cr
Using compiled compiler at .build/crystal
Using compiled compiler at .build/crystal
.build/compiler_spec
..Invalid memory access (signal 11) at address 0x7f7034396358
[0x561545e44436] *Exception::CallStack::print_backtrace:Int32 +118
[0x561545c1ea4c] __crystal_sigfault_handler +316
[0x7f70427e6c84] ???
make: *** [Makefile:92: compiler_spec] Error 11
mps-edge-x86_64:~/aports/community/crystal/src/crystal-0.35.1 > gdb --args ".build/crystal" "build" "--exclude-warnings spec/std" "--exclude-warnings spec/compiler" "-o .build/compiler_spec spec/compiler_spec.cr"
GNU gdb (GDB) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-alpine-linux-musl".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from .build/crystal...
(gdb) run
Starting program: /home/mps/aports/community/crystal/src/crystal-0.35.1/.build/crystal build --exclude-warnings\ spec/std --exclude-warnings\ spec/compiler -o\ .build/compiler_spec\ spec/compiler_spec.cr
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff3e09524 in GC_find_limit_with_bound () from /usr/lib/libgc.so.1
(gdb) bt
#0 0x00007ffff3e09524 in GC_find_limit_with_bound () from /usr/lib/libgc.so.1
#1 0x00007ffff3e095e3 in GC_init_linux_data_start () from /usr/lib/libgc.so.1
#2 0x00007ffff3e08389 in GC_init () from /usr/lib/libgc.so.1
#3 0x0000555555566808 in main ()
(gdb)
looks like the bug is in gc libs but I'm not sure