Julia transplant

Julia Version 1.6.3
LLVM 11.1.0
File: jltypes.c
Function: typekeyvalue_hash

I am devloping a new backend for Julia. I have made some modification for now and I got the executable file Julia in path /usr/lib/bin. Everything seems OK until running “./julia -C “native” --output-ji ~/julia/corecompiler.ji.tmp --startup-file=no --warn-overwrite=yes -g0 -O0 compiler/compiler.jl”, I got a “Segmentation fault”, I add a print before“hj = ((jl_datatype_t*)jl_typeof(kj))->hash;”,and get below result:

&((jl_datatype_t*)jl_typeof(kj))->hash = 0x20004b30110, (jl_datatype_t*)jl_typeof(kj) = 0x20004b300d0, kj = 0x20008c6ab40, j = 1
&((jl_datatype_t*)jl_typeof(kj))->hash = 0x20004b30c50, (jl_datatype_t*)jl_typeof(kj) = 0x20004b30c10, kj = 0x20004b89db0, j = 1
&((jl_datatype_t*)jl_typeof(kj))->hash = 0x20004cd3f50, (jl_datatype_t*)jl_typeof(kj) = 0x20004cd3f10, kj = 0x20004b40268, j = 0
&((jl_datatype_t*)jl_typeof(kj))->hash = 0x40, (jl_datatype_t*)jl_typeof(kj) = (nil), kj = 0x20004c62aa0, j = 2

Obviously,jl_typeof(kj) is 0x0. It confuse me several days.Could anyone give me some guidances to solve this problem?Or maybe someone can tell me what steps exactly should I do when adding a new backend in Julia.
Thanks a lot.

Hard to say anything useful without knowing how you modified it.