See Firefox bug 1710940 for full details, but basically if the process that crashes is an Android Isolated Process, it has its own ephemeral UID and SELinux context that prevents external processes from using ptrace() on it or reading its /proc/<pid> files unless the external process is also in that same UID and SELinux context.
That's all a very fancy way of saying that a crashed process can basically only be debugged by itself or a child process.
Since Firefox runs minidump-writer in a separate privileged process, minidump-writer is unable to dump the crashed process.
To fix this, we can add infrastructure to minidump-writer to allow it to send requests for ptrace() and IO to /proc/<pid> to a small "dummy" child process that is forked from the crashed process and get the child to act on its behalf.
See Firefox bug 1710940 for full details, but basically if the process that crashes is an Android Isolated Process, it has its own ephemeral UID and SELinux context that prevents external processes from using
ptrace()on it or reading its/proc/<pid>files unless the external process is also in that same UID and SELinux context.That's all a very fancy way of saying that a crashed process can basically only be debugged by itself or a child process.
Since Firefox runs minidump-writer in a separate privileged process, minidump-writer is unable to dump the crashed process.
To fix this, we can add infrastructure to
minidump-writerto allow it to send requests forptrace()and IO to/proc/<pid>to a small "dummy" child process that is forked from the crashed process and get the child to act on its behalf.