La linea incriminata può essere trovato qui: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.0.0_r1/com/android/server/am/ActivityManagerService.java/#4858 (linea diversa per le diverse versioni di Android L)
presumo che si sta utilizzando una qualche forma di Android L, dal momento che il messaggio di errore particolare, non è stato aggiunto fino ad allora.
Se si esegue un ContentProvider nel vostro processo, questi due commenti nel ActivityManagerService potrebbero essere di aiuto:
9303 // NOTE: there is still a race here where a signal could be
9304 // pending on the process even though we managed to update its
9305 // adj level. Not sure what to do about this, but at least
9306 // the race is now smaller.
9307 if (!success) {
9308 // Uh oh... it looks like the provider's process
9309 // has been killed on us. We need to wait for a new
9310 // process to be started, and make sure its death
9311 // doesn't kill our process.
e poi ...
9317 appDiedLocked(cpr.proc);
appDiedLocked può essere chiamato da un po ' anche altri file di origine: ActiveServices.java e ActivityStackSupervisor.java, uno dipende dall'esecuzione di DeadObjectException, l'altro su RemoteException.
appDiedLocked assomiglia a questo
4853 final void appDiedLocked(ProcessRecord app, int pid, IApplicationThread thread) {
4854 // First check if this ProcessRecord is actually active for the pid.
4855 synchronized (mPidsSelfLocked) {
4856 ProcessRecord curProc = mPidsSelfLocked.get(pid);
4857 if (curProc != app) {
4858 Slog.w(TAG, "Spurious death for " + app + ", curProc for " + pid + ": " + curProc);
4859 return;
4860 }
4861 }
Per qualche ragione, la curProc non è la stessa come l'applicazione ProcessRecord, e il metodo appDiedLocked è tagliato corto. Nel tuo caso, curProc è nullo, ancora per qualche motivo.
Per farla breve: il processo è morto o è stato interrotto e alcuni stati o condizioni impediscono a appDiedLocked di continuare a eseguire i comandi killProcess. Hai ancora qualche ricerca/registrazione da fare per scoprire perché è successo.
Se si dispone di un servizio che si desidera mantenere attivo, a meno che non lo si stia già facendo, si consiglia di allegare una notifica della barra di stato ad esso, in tal modo la probabilità che venga uccisa viene ridotta.
Penso che abbia qualcosa a che fare con il kernel e con poca memoria ... –