The caller represented by `From` is monitoring the `riak_core_metadata_hashtree` process, not this spawned process. If this spawned process for some reason crashes and never sends the reply, the caller will wait indefinitely. The easiest solution would be to change this to a `spawn_link`. That's what `riak_kv_index_hashtree` [does](https://github.com/basho/riak_kv/blob/1.4.2/src/riak_kv_index_hashtree.erl#L255).