The way `get_crate_map` works right now is that it relies on a `_rust_crate_map_toplevel` symbol existing in the final executable that libstd gets linked against. This symbol is emitted by rustc when you're compiling an executable crate. But there are valid uses cases in which the symbol won't exist like in the gist I linked where you have a rust library that exports an extern fn that starts up the runtime by itself which is called by some C program. In that case, the final executable isn't a rust executable and hence the cratemap symbol doesn't exist and thus would NULL causing a segfault right now since the logging setup currently assumes it is never NULL.