Breakpad/Skip List How To: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 10: Line 10:
# explain the syntax of using the vertical bar as the delimiter at the end of what is already there
# explain the syntax of using the vertical bar as the delimiter at the end of what is already there
# request a copy of the changed configuration parameter for review
# request a copy of the changed configuration parameter for review
Example IT Request: [https://bugzilla.mozilla.org/show_bug.cgi?id=530718 Bug 530718]




see more about signature generation on the Socorro wiki at: [http://code.google.com/p/socorro/wiki/SignatureGeneration SignatureGeneration].
see more about signature generation on the Socorro wiki at: [http://code.google.com/p/socorro/wiki/SignatureGeneration SignatureGeneration].

Revision as of 17:28, 19 January 2010

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 on the stack to form a compound signature. 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. If it never finds a match, it passes the entire stack to the further rules. New values should be added to the end using the vertical bar as a delimiter.
  2. Write an IT request for 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

Example IT Request: Bug 530718


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