objc_msgSend no longer treated as a signature prefix

VERIFIED FIXED

Status

Socorro
General
--
critical
VERIFIED FIXED
8 years ago
7 years ago

People

(Reporter: Smokey Ardisson (offline for a while; not following bugs - do not email), Assigned: rhelmer)

Tracking

({regression})

Trunk
x86
Mac OS X
regression
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(1 attachment)

I noticed this morning that objc_msgSend is no longer being treated as a frame to be prefixed; this means that tons of distinct Mac crashes are going to be lumped together.

The first Camino crash I see exhibiting this problem is at 18:47 2-2, so something around that time probably broke this (Camino's lower volume, so I'd say ±2 hours).

I suspect it was bug 630230 that broke this, based on the timeframe and FIXED bugs.

I'm unsure how many other signatures that are supposed to be prefixed were broken at this same time; objc_msgSend jumped right out at me, though.

Comment 2

8 years ago
the .dist file doesn't necessarily reflect prod.

Comment 3

8 years ago
Prod config is:
prefixSignatureRegEx = '|'.join([
  '@0x0',
  'strchr',
  'strstr',
  'strlen',
  'PL_strlen',
  'strcmp',
  'wcslen',
  'memcpy',
  'memmove',
  'memcmp',
  'malloc',
  'realloc',
  '.*free',
  'arena_dalloc_small',
  'arena_alloc',
  'arena_dalloc',
  'nsObjCExceptionLogAbort(\(.*?\)){0,1}',
  'libobjc.A.dylib@0x1568.'
  'objc_msgSend',
  '_purecall',
  'PL_DHashTableOperate',
  'EtwEventEnabled',
  'RtlpFreeHandleForAtom',
  'RtlpDeCommitFreeBlock',
  'RtlpAllocateAffinityIndex',
  'RtlAddAccessAllowedAce',
  'RtlQueryPerformanceFrequency',
  'RtlpWaitOnCriticalSection',
  'RtlpWaitForCriticalSection',
  '_PR_MD_ATOMIC_(INC|DEC)REMENT',
  'nsCOMPtr.*',
  'nsRefPtr.*',
  'operator new\([^,\)]+\)',
  'CFRelease',
  'objc_exception_throw',
  '[-+]\[NSException raise(:format:(arguments:)?)?\]',
  'mozalloc_handle_oom',
  'nsTArray_base<.*',
  'nsTArray<.*',
  'KiFastSystemCallRet',
  '(Nt|Zw)?WaitForSingleObject(Ex)?',
  '(Nt|Zw)?WaitForMultipleObjects(Ex)?',
  'NtUserWaitMessage',
  'NtUserMessageCall',
  ])

which is actually the same as .dist.  As you can see, objc_msgSend is in there.
FWIW, the only other one I've found so far is the 'libobjc.A.dylib@0x1568.' entry, which is right before objc_msgSend in the .dist file.

So, we had this problem before in bug 557747 and apparently never figured out what caused it :(

Those frames (which were to be ignored, rather than prefixed as here) were not being ignored at all, even though they apparently *were* in the production config at the time (bug 557747 comment 6).  (The problem with those frames persists, although now they're not even in the SVN copy, so there's certainly no hope of them being in production.)
Exactly the same problem here as in bug 631036 comment 29 (yay rhelmer for finding it there) ;)

(In reply to comment #3)
>   'libobjc.A.dylib@0x1568.'
                             ^^^^ missing comma!

Any chance of getting this fixed, tested, and deployed before we accumulate lots of unprefixed objc_msgSend crashes over the weekend?
(Assignee)

Comment 6

8 years ago
Created attachment 509974 [details] [diff] [review]
fix typo

(In reply to comment #5)
> Exactly the same problem here as in bug 631036 comment 29 (yay rhelmer for
> finding it there) ;)
> 
> (In reply to comment #3)
> >   'libobjc.A.dylib@0x1568.'
>                              ^^^^ missing comma!
> 
> Any chance of getting this fixed, tested, and deployed before we accumulate
> lots of unprefixed objc_msgSend crashes over the weekend?

Checked in a fix for this:
Committed revision 2915.

I'll try to get this into bug 631690.
Assignee: nobody → rhelmer
Status: NEW → ASSIGNED
(Assignee)

Updated

8 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 8 years ago
Depends on: 631690
Resolution: --- → FIXED
(Assignee)

Comment 7

8 years ago
(In reply to comment #6)
> Checked in a fix for this:
> Committed revision 2915.
> 
> I'll try to get this into bug 631690.

This will roll with the other updates in bug 631690.
Verifying this; I no longer see new stand-alone objc_msgSend signatures being generated, and objc_msgSend | foo signatures started reappearing sometime after 21:00 last night :)
Status: RESOLVED → VERIFIED
Component: Socorro → General
Product: Webtools → Socorro
You need to log in before you can comment on or make changes to this bug.