anchor.diff:  handle_info({'EXIT', Pid, Reason}, Server) ->
       case ets:lookup(couch_dbs_pid_to_name, Pid) of
       [{Pid, DbName}] ->
  -        [#db{compactor_pid=Froms}] = ets:lookup(couch_dbs, DbName),
  +        [#db{compactor_pid=Froms}=Db] = ets:lookup(couch_dbs, DbName),
           if Reason /= snappy_nif_not_loaded -> ok; true ->
               Msg = io_lib:format("To open the database `~s`, Apache CouchDB "
                   "must be built with Erlang OTP R13B04 or higher.", [DbName]),
  
positive.code:         [] ->
              % db was deleted during async open
              {reply, ok, Server};
          [#db{fd=ReqType, compactor_pid=Froms}] ->
              [gen_server:reply(From, Error) || From <- Froms],
              couch_log:info("open_result error ~p for ~s", [Error, DbName]),
              true = ets:delete(couch_dbs, DbName),
  
negative.code:         Server2 =
          case ets:lookup(couch_dbs, DbName) of
          [] -> Server;
          [#db{main_pid=Pid, compactor_pid=Froms} = Db] when is_list(Froms) ->
              % icky hack of field values - compactor_pid used to store clients
              true = ets:delete(couch_dbs, DbName),
              true = ets:delete(couch_dbs_pid_to_name, Pid),
              exit(Pid, kill),
              [gen_server:reply(F, not_found) || F <- Froms],
              db_closed(Server);
          [#db{main_pid=Pid} = Db] ->
              true = ets:delete(couch_dbs, DbName),
              true = ets:delete(couch_dbs_pid_to_name, Pid),
              exit(Pid, kill),
  