apport-hackers team mailing list archive
Mailing list archive
Re: [Merge] lp:~stgraber/apport/bug1445064 into lp:apport
Ok, so the code looks good to me, the only problem is that it doesn't work.
It's not entirely clear to me why it doesn't. The host does get the crash, finds the container's socket and sends the crash over to it. The container's apport kicks in, parses the argument line just fine and then fails during actual crash parsing due to the crashed process no longer existing.
I don't get why the crashed process disappears though, I thought the kernel was supposed to keep it around until the crash handler exists, however the host side of the crash handler sure is still running (in fact doesn't seem to want to die for some reason)...
So basically the two remaining issues are:
- The crashed process appears to be destroyed by the kernel before the handler exits.
- The handler seems to never exit, apparently stuck on recv() of the unix socket, despite the remote end having long exited. This may be a weirdness of systemd's socket handler, you'd think that with accept=True it'd close the socket on exit of the service, but it doesn't appear to do so.
Your team Apport upstream developers is requested to review the proposed merge of lp:~stgraber/apport/bug1445064 into lp:apport.