8000 Improve handling of the auxiliary vector on Linux · Issue #27 · rust-minidump/minidump-writer · GitHub
[go: up one dir, main page]

Skip to content

Improve handling of the auxiliary vector on Linux #27

Closed

Description

@gabrielesvelto

Right now if we can't read the auxiliary vector by parsing the corresponding file under /proc minidump generation fails. This is a known cause of failures to write minidumps on Android (see bug 1644486 on our tracker for example) and Linux because sometimes the generator process doesn't have permission to access that file. This accounts for at least one out of three failures when writing Linux/Android minidumps.

We currently use the auxiliary vector in three different places:

Neither of those uses is strictly needed. In fact the first two instance already handle the case where the relevant entry in the auxiliary vector isn't available, and the third one is just not critical. We could just skip writing the DSO stream and everybody would be still perfectly happy.

So I propose to do a couple of things to improve this situation:

  • Make not being able to read the auxiliary vector a non-fatal failure (this is easy)
  • Change how it's read to have a fallback in case we can't access /proc. Notably the auxiliary vector is at a known location in memory so we could pull it out from there using ptrace().

Activity

  1. gabrielesvelto commented on Apr 18, 2024

    @gabrielesvelto
    ContributorAuthor

    More resources for whoever will work on this bug:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0