Troubleshooting ¶
If something goes wrong, the first thing we recommend doing is to
execute command M-x company-diag and thoroughly study its
output.
This command outputs important details about the internal workings of
Company at the moment of the company-diag command execution,
including a responsible backend and a list of completion candidates
provided by it.
Based on the value of the ‘Used backend’ in the output of the
command M-x company-diag, these possible actions may follow:
- 
If the used backend does not belong to the Company package, report the
issue to the corresponding third-party package maintainer(s).
 - If the used backend is ‘company-capf’, then take a look at the
line starting with ‘Value of c-a-p-f:’.  The issue could have
been caused by a function listed there.  To identify to which package
it belongs, type M-x find-function RET <function-name> RET.
 
If the aforementioned steps didn’t help to find the cause of the
issue, then file a bug report to
the Company Issue Tracker, attaching the following information:
-  Output of the M-x company-diag.
 -  The exact error message: you can find it in the *Messages*
buffer.
 -  The steps to reproduce the behavior. Ideally, if you can, starting
with a bare Emacs session: 
emacs -Q.
 -  The backtrace of the error, which you can get by running the command:
M-x toggle-debug-on-error before reproducing the error.