--
You received this message because you are subscribed to the Google Groups "Crashpad-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to crashpad-dev+unsubscribe@chromium.org.
To post to this group, send email to crashp...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/crashpad-dev/CAJfD1ZHoVbKYYruzwG3SRQ3E44Nj8Bs2aoApnR1SphP8EnDHGg%40mail.gmail.com.
Hey Siggi,Could you instead use the crashpad::CrashReportDatabase API directly? PrepareNewCrashReport() gives you an object with an open file handle, to which you can write the MDWD contents, and then FinishedWritingCrashReport() will stage it for uploading.
--
You received this message because you are subscribed to the Google Groups "Crashpad-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to crashpad-dev...@chromium.org.
To post to this group, send email to crashp...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/crashpad-dev/CAJfD1ZHWo_gA1SV9%3D1qyn7N_jyJaJp8fbKJ2F0J%3DDnBExiw8pw%40mail.gmail.com.
This is close to crashpad::CrashpadClient::DumpAndCrashTargetProcess(), which is Windows-only for architectural reasons. It sounds like you’re asking for a variant without the “and crash”.
We can certainly do that. DumpAndCrashTargetProcess() does some gnarly thread-injection RaiseException()-calling stuff to achieve its ends. There are a few reasons for this, more details are available in the history on the initial review.
Following that template, we could do a DumpWithoutCrash()-calling variant in place of the RaiseException()-calling one. But for the non-crash case, we may not need to get that gnarly: we could instantiate a snapshot from a HANDLE anywhere, and have the minidump be written into a database from any process. On the Chrome side, we’d still need to do a bit of a dance to make sure that the client ID and the “process annotations,” the --annotation parameters that we start crashpad_handler with, properly make their way into the dump. The whole procedure would essentially be equivalent to crashpad::CrashReportExceptionHandler::ExceptionHandlerServerException(), which shows where these are pushed into the process snapshot. It’s fairly straightforward, but it does turn out to be a little more work than “just” injecting a thread, it won’t have the same sorts of extensibility hook setup as the real crashpad_handler (unless still more work is undertaken), it’s possible that said extensibility may not even be appropriate to run from within a Chrome browser, and it still has the delayed-upload problem you mention.
The plan for upload is to listen to the filesystem to provide better information on when to look for new work. This is bug 128. We do intend for multiple database writers to “feed” a single uploader, so it’s desirable to get rid of that 15-minute (maximum) delay.On Thu, Mar 8, 2018 at 12:48 PM Sigurður Ásgeirsson <si...@chromium.org> wrote:On Thu, Mar 8, 2018 at 12:05 PM Robert Sesek <rse...@chromium.org> wrote:Hey Siggi,Could you instead use the crashpad::CrashReportDatabase API directly? PrepareNewCrashReport() gives you an object with an open file handle, to which you can write the MDWD contents, and then FinishedWritingCrashReport() will stage it for uploading.This is what my hack does, although the MDWD-produced minidump has to be massaged a bit to endow it with the minimal in-band metadata Crashpad required.--You received this message because you are subscribed to the Google Groups "Crashpad-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to crashpad-dev...@chromium.org.
To post to this group, send email to crashp...@chromium.org.--To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/crashpad-dev/CAJfD1ZHWo_gA1SV9%3D1qyn7N_jyJaJp8fbKJ2F0J%3DDnBExiw8pw%40mail.gmail.com.
You received this message because you are subscribed to the Google Groups "Crashpad-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to crashpad-dev...@chromium.org.
To post to this group, send email to crashp...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/crashpad-dev/CAHk1GDzvab%2BerDzWBi-%3DX7Uy3d9Ax_UM9ooBOHp%3D%2BQyjGu2ZEA%40mail.gmail.com.