Breakpad/Skip List How To

< Breakpad
Revision as of 23:19, 17 January 2010 by Twobraids (talk | contribs)

Skip list additions are done with changes to the configuration parameters to the 'processor.py' script

  1. determine what type of skiplist is appropriate
    • prefixSignatureRegEx (most common) - This is the rule that generates compound signatures. This regular expression is a list of signatures that should be combined with whatever signature follows to form a signaute. It keeps accumulating frame signatures until its matching fails. A partial view of this regular expression looks like this: "@0x0|strchr|strstr|strlen|PL_strlen|strcmp|wcslen|memcpy|memmove|memcmp|malloc|realloc..." New values should be added to the end delimited with a vertical bar “|”.
    • irrelevantSignatureRegEx – The rule lists all the frames at the top of the stack that are irrelevant and should be ignored. When cycling through frames, from the top of the stack downward, the first failure of this rule terminates any further application of this rule. This regular expression looks like this: "@0x0-9a-fA-F?{2,}|@0x1-9a-fA-F?|RaiseException?|CxxThrowException?" New values should be added to the end using the vertical bar as a delimiter.
    • signatureSentinels (least common) - This is the first rule to be applied. The code iterates through the stack frame, throwing away everything it finds until it encounters a match. A typical form of this regular expression would be: 'purecall'. Once it finds a match, it passes what's left of the stack frame on the other rules. New values should be added to the end using the vertical bar as a delimiter.
  2. Write an IT request requesting a change to the configuration of the Processor.
    • We've not been trying changes in staging first, they go straight to production – these are difficult to test unless we have copies of specific relevant crashes and the exact production configuration
  3. Specify that the appropriate parameters that will be changed: prefixSignatureRegEx, irrelevantSignatureRegEx or signatureSentinels
  4. explain the syntax of using the vertical bar as the delimiter at the end of what is already there
  5. request a copy of the changed configuration parameter for review


see more about signature generation on the Socorro wiki at: SignatureGeneration.