# Buggy code
def _get_checksum(self, locked=True):
    from dvc.repo.tree import RepoTree

    with self._make_repo(locked=locked) as repo:
        try:
            return repo.find_out_by_relpath(self.def_path).info["md5"]
        except OutputNotFoundError:
            path = PathInfo(os.path.join(repo.root_dir, self.def_path))

            # we want stream but not fetch, so DVC out directories are
            # walked, but dir contents is not fetched
            tree = RepoTree(repo, stream=True)

            # We are polluting our repo cache with some dir listing here
            if tree.isdir(path):
                return self.repo.cache.local.get_hash(path, tree)
            return tree.get_file_hash(path)


# Traceback (dvc.exceptions.OutputNotFoundError)
$$ dvc status -v

2020-06-29 13:54:52,056 DEBUG: fetched: [(3,)]
2020-06-29 13:54:52,059 DEBUG: Creating external repo https://...@bitbucket.org/.../raw_data_reg.git@43fb50fb519d58415bba4903b480f44811fefec1
2020-06-29 13:54:52,059 DEBUG: erepo: git clone https://...@bitbucket.org/.../raw_data_reg.git to a temporary dir
Cloning                                                                     |0.00 [00:00,      ?obj/s]Password for 'https://...@bitbucket.org':
2020-06-29 13:54:58,709 DEBUG: fetched: [(17,)]
2020-06-29 13:54:58,728 ERROR: failed to obtain data status - get_hash() takes 2 positional arguments but 3 were given
------------------------------------------------------------
Traceback (most recent call last):
File "/home/moshe/.local/lib/python3.6/site-packages/dvc/dependency/repo.py", line 57, in _get_checksum
return repo.find_out_by_relpath(self.def_path).info["md5"]
File "/home/moshe/.local/lib/python3.6/site-packages/dvc/repo/__init__.py", line 566, in find_out_by_relpath
(out,) = self.find_outs_by_path(path)
File "/home/moshe/.local/lib/python3.6/site-packages/dvc/repo/__init__.py", line 560, in find_outs_by_path
raise OutputNotFoundError(path, self)
dvc.exceptions.OutputNotFoundError: Unable to find DVC-file with output '../../../tmp/tmpq5w4msxhdvc-clone/raw_data'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/moshe/.local/lib/python3.6/site-packages/dvc/command/status.py", line 51, in run
recursive=self.args.recursive,
File "/home/moshe/.local/lib/python3.6/site-packages/dvc/repo/__init__.py", line 35, in wrapper
ret = f(repo, *args, **kwargs)
File "/home/moshe/.local/lib/python3.6/site-packages/dvc/repo/status.py", line 146, in status
self, targets, with_deps=with_deps, recursive=recursive
File "/home/moshe/.local/lib/python3.6/site-packages/dvc/repo/status.py", line 37, in _local_status
return _joint_status(stages)
File "/home/moshe/.local/lib/python3.6/site-packages/dvc/repo/status.py", line 23, in _joint_status
status.update(stage.status(check_updates=True))
File "/home/moshe/.local/lib/python3.6/site-packages/funcy/decorators.py", line 39, in wrapper
return deco(call, *dargs, **dkwargs)
File "/home/moshe/.local/lib/python3.6/site-packages/dvc/stage/decorators.py", line 35, in rwlocked
return call()
File "/home/moshe/.local/lib/python3.6/site-packages/funcy/decorators.py", line 60, in __call__
return self._func(*self._args, **self._kwargs)
File "/home/moshe/.local/lib/python3.6/site-packages/dvc/stage/__init__.py", line 469, in status
self._status_deps(ret)
File "/home/moshe/.local/lib/python3.6/site-packages/dvc/stage/__init__.py", line 485, in _status_deps
deps_status = self._status(self.deps)
File "/home/moshe/.local/lib/python3.6/site-packages/dvc/stage/__init__.py", line 480, in _status
ret.update(entry.status())
File "/home/moshe/.local/lib/python3.6/site-packages/dvc/dependency/repo.py", line 71, in status
current_checksum = self._get_checksum(locked=True)
File "/home/moshe/.local/lib/python3.6/site-packages/dvc/dependency/repo.py", line 67, in _get_checksum
return self.repo.cache.local.get_hash(path, tree)
TypeError: get_hash() takes 2 positional arguments but 3 were given
------------------------------------------------------------

$$ dvc version
DVC version: 1.0.1
Python version: 3.6.9
Platform: Linux-5.3.0-61-generic-x86_64-with-Ubuntu-18.04-bionic
Binary: False
Package: pip
Supported remotes: azure, gdrive, gs, hdfs, http, https, s3, ssh, oss
Cache: reflink - not supported, hardlink - supported, symlink - supported
Filesystem type (cache directory): ('ext4', '/dev/sda1')
Repo: dvc, git
Filesystem type (workspace): ('ext4', '/dev/sda1')

# Fixed code
def _get_checksum(self, locked=True):
    from dvc.repo.tree import RepoTree

    with self._make_repo(locked=locked) as repo:
        try:
            return repo.find_out_by_relpath(self.def_path).info["md5"]
        except OutputNotFoundError:
            path = PathInfo(os.path.join(repo.root_dir, self.def_path))

            # we want stream but not fetch, so DVC out directories are
            # walked, but dir contents is not fetched
            tree = RepoTree(repo, stream=True)

            # We are polluting our repo cache with some dir listing here
            if tree.isdir(path):
                return self.repo.cache.local.get_hash(path, tree=tree)
            return tree.get_file_hash(path)