On Fedora 25 with GNU Emacs 25.1.90 (which I am running via an AppImage, you can download it from here and test out your theories as to what's wrong if you would like, remember AppImages will only work on Linux though) with a config file found here I get an error whenever I start
M-x ansi-term<RET> or
M-x term<RET>, respectively, namely:
error in process filter: Invalid face: unspecified
I does not seem to matter too much which shell I use as I have tried my default shell, Z Shell (Zsh) and the more popular Bash shell and I get the exact same error message. Despite this the Bourne shell (
/bin/sh) works fine. The Emacs debugger gives the following backtrace:
Debugger entered--Lisp error: (error "Invalid face" unspecified) internal-get-lisp-face-attribute(unspecified :foreground nil) face-attribute(unspecified :foreground nil default) face-foreground(unspecified nil default) term-handle-colors-array(1) term-handle-ansi-escape(#<process terminal> 109) term-emulate-terminal(#<process terminal> "[1m[7m%[27m[1m[0m ")
If you're wondering why I don't just use GNU Emacs 25.1 installed via the DNF package manager well using it lead to some issues with Octave syntax-highlighting per this chat room discussion.
It seems to be colouring-related as when I comment out the
PS1=... line in my
~/.bashrc file this error goes away and Bash starts without a problem.