I encountered this bug because I use helm. After the following:
(require 'helm)
(require 'helm-config)
(helm-mode 1)
the command project-switch-to-buffer always fails with "wrong type
argument listp". I posted this as a helm issue at first and got the
following answer (quoting from
https://github.com/emacs-helm/helm/issues/2506):
The bug is not helm related, it is a bug in project--read-project-buffer
(and possibly other functions which use the same predicate?), where its
predicate expect a cons cell like (bufname . buf_object) and when the
first call of the predicate used to determine default for read-buffer
returns a buffer-name, this one is called next by the predicate function
of read-buffer (which use the same predicate) with a buffer-name as
argument instead of a cons cell hence the error "wrong type argument
listp". Here a possible (quick) fix (not fully safe as it should check
if buffer is a string or a buffer or nil):