If upstart crashes, a crash dump is most definitely saved.

Upstart handles SIGSEGV by catching it and forking a child and unmasking
that signal in the handler - this means it's an Upstart child process that
actually crashes and dumps core while the parent waits for it to exit and
reaps it. This is sufficient to ensure the core dump actually hits disk or
appropriate core handler.

Also Upstart's code makes heavy use of assert to catch errors, so you'd most
definitely want these dumped to disk as well.

Finally libnih actually declares this a weak link anyway, so the versioned
dependency is not strictly necessary at all. I'll upload a rebuild now, and
see if it's possible to override dpkg-shlibs - since it's perfectly happy if
a libc update drops that symbol.

Scott

On Mon, May 2, 2011 at 2:37 PM, brian m. carlson <
sand...@crustytoothpaste.net> wrote:

> I've done some more looking into this bug, and it seems the reason that
> the dependency is so strict is that libnih1 depends on the __abort_msg
> symbol, which, since it is GLIBC_PRIVATE, triggers a stricter
> dependency.
>
> I personally think that the inflexibility of the dependencies outweighs
> the usefulness of the nih_log_abort_message.  upstart is the only binary
> package using libnih1 from a non-libnih source package, and if upstart
> crashes, well, no crash dump will be saved and no debuggers will be run.
> Take from that what you will.
>
> --
> brian m. carlson / brian with sandals: Houston, Texas, US
> +1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
> OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
>

Reply via email to