BTW, you will get a more complete backtrace if you load the source file instead of the byte-compiled file, for the code that defines run-python. (https://emacs.stackexchange.com/a/20265/12031)
How do I load the source file for debug purpose?
currently I have
Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
replace-regexp-in-string("\\`\\^" "" nil)
python-shell-comint-end-of-output-p(">>> ")
python-util-comint-end-of-output-p()
python-eldoc--get-doc-at-point()
python-eldoc-function(#f(compiled-function (string &rest plist) #<bytecode -0xec60eba7fe247cd>))
#f(compiled-function (f) #<bytecode -0x191cde0269aa4cd>)(python-eldoc-function)
eldoc--documentation-compose-1(nil)
eldoc-documentation-compose()
eldoc--invoke-strategy(nil)
eldoc-print-current-symbol-info()
#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_11>()
apply(#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_11> nil)
timer-event-handler([t 0 0 500000 nil #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_11> nil idle 0 nil])