The process could not execute 'sp_replcmds' on 'S15415940'. Cannot execute as the database principal because the principal "dbo" does not exist Can anyone show me the way to fix these error messages:


  The process could not execute 'sp_replcmds' on 'S15415940'. (Source:
  MSSQL_REPL, Error number: MSSQL_REPL20011)
  
  Cannot execute as the database principal because the principal "dbo"
  does not exist, this type of principal cannot be impersonated, or you
  do not have permission. (Source: MSSQLServer, Error number: 15517)
  
  The process could not execute 'sp_replcmds' on 'S15415940'. (Source:
  MSSQL_REPL, Error number: MSSQL_REPL22037)


Thanks you!
In my experience I had this message 


  The process could not execute 'sp_replcmds'


when two log reader processes where accidently trying to run.

The fix I had was to:
 connect at the publisher, look in master..sysprocesses for a a leftover process from the distributor
 kill it, and relaunch the log reader on the distributor.