Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

debugger committing suicide to free the zombie

Tags:

android

I am getting decoded frames from my engine and my playing it using SurfaceView in android. But it plays for 2-3 seconds and then my application crashes with the error "debugger committing suicide to free the zombie".

Please help me.

I am using Android SDK 2.1.

like image 535
Abhishek Avatar asked May 11 '10 11:05

Abhishek


1 Answers

****I thought it was a game alert not an Android debug log message =| ****

Zombie process

On Unix and Unix-like computer operating systems, a zombie process or defunct process is a process that has completed execution but still has an entry in the process table. This entry is still needed to allow the process that started the (now zombie) process to read its exit status. The term zombie process derives from the common definition of zombie—an undead person. In the term's colorful metaphor, the child process has died but has not yet been reaped. Also, unlike normal processes, the kill command has no effect on a zombie process.

When a process ends, all of the memory and resources associated with it are deallocated so they can be used by other processes. However, the process's entry in the process table remains. The parent can read the child's exit status by executing the wait system call, at which stage the zombie is removed. The wait call may be executed in sequential code, but it is commonly executed in a handler for the SIGCHLD signal, which the parent receives whenever a child has died.

After the zombie is removed, its process ID and entry in the process table can then be reused. However, if a parent fails to call wait, the zombie will be left in the process table. In some situations this may be desirable, for example if the parent creates another child process it ensures that it will not be allocated the same process ID. On modern UNIX-like systems (that comply with SUSv3 specification in this respect), the following special case applies: if the parent explicitly ignores SIGCHLD by setting its handler to SIG_IGN (rather than simply ignoring the signal by default) or has the SA_NOCLDWAIT flag set, all child exit status information will be discarded and no zombie processes will be left.

A zombie process is not the same as an orphan process. An orphan process is a process that is still executing, but whose parent has died. They do not become zombie processes; instead, they are adopted by init (process ID 1), which waits on its children.

from WIKI! =)

like image 173
Jorgesys Avatar answered Oct 08 '22 03:10

Jorgesys