Closed Bug 741315 Opened 8 years ago Closed 8 years ago

[skiplist] Add dvm.*, _JNIEnv.*, JNI_CreateJavaVM.*, missing libc, libmozglue, liblog and libz symbols to the prefix skip list

Categories

(Socorro :: Infra, task)

task
Not set

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: scoobidiver, Assigned: laura)

References

Details

(Whiteboard: [qa-])

Please add:
* 'dvm.*'
* '_JNIEnv.*'
* 'JNI_GetCreatedJavaVM.*'
* '__memcmp16'
* 'strzcmp16'
* 'strcat'
* 'dlmalloc_trim'
* 'dlmalloc'
* 'huge_dalloc'
* '_files_getaddrinfo'
* 'getanswer'
* 'moz_free'
* 'init_library'
* '__android_log_assert'
remove:
* 'dvmAbort'
* 'dvmStringLen'
* '_JNIEnv::CallObjectMethod'
* 'JNI_CreateJavaVM'
Chris, Naoki: Do we need all those on the prefix list?

Scoobidiver: I get a feeling that you are becoming obsessed with adding stuff to the prefix list. ;-)
We should make sure if those are really useful for developers.
(In reply to Robert Kaiser (:kairo@mozilla.com) from comment #1)
> Scoobidiver: I get a feeling that you are becoming obsessed with adding
> stuff to the prefix list. ;-)
Is there any side effect on Socorro (performance...) except gives work to Socorro's team?
> We should make sure if those are really useful for developers.
Those are not Mozilla's libraries. Developers are probably interested by the first Firefox/Core/Graphics component in the stack. Signatures should reflect that.
In addition, how do you know JNI_GetCreatedJavaVMs and AndroidGLController::ProvideEGLSurface are about the same problem? JNI_GetCreatedJavaVMs | AndroidGLController::ProvideEGLSurface is more explicit and allows people who file bugs to group signatures that are related.
(In reply to Scoobidiver from comment #2)
> (In reply to Robert Kaiser (:kairo@mozilla.com) from comment #1)
> > Scoobidiver: I get a feeling that you are becoming obsessed with adding
> > stuff to the prefix list. ;-)
> Is there any side effect on Socorro (performance...) except gives work to
> Socorro's team?

I'd guess there is an effect on processor performance at least.

> Those are not Mozilla's libraries.

That's no argument for prefixing. If the external code we call is actually the thing that has the bug and is crashing, the signature is accurate with having only the external code on it.

> In addition, how do you know JNI_GetCreatedJavaVMs and
> AndroidGLController::ProvideEGLSurface are about the same problem?

I don't need to. It's up to the developers to find that out and/or tell us that skiplisting would help there.
I'm not familiar with the skiplist syntax, but these function names look like reasonable additions for the skiplist.
This list and the one in bug 741222 look so long and scary for me, I wonder if we really need all of those on the skiplist and about the concrete examples we need to add them for.
I am not scared by a prefix skip list.
Are there metrics to measure processor load performances? What is the impact of adding one signature?
I added the dependent bugs for the first three signatures in comment 0.
I am not concerned that signature generation will have any impact on the amount of time that it takes to process a crash.  The processor is IO bound with communicating with Postgres, HBase and minidump_stackwalk (mdsw).  Processing crash on average takes 2.05 seconds. The biggest time expense of processing a crash is running mdsw.  Pre and post processing of a crash (including signature generation) is trivial compared with the IO waits.

The processor is written such that is does as much as it can in parallel with the running of mdsw.  If the crashing thread is early in the output of mdsw, signature generation will happen before mdsw completes.  In that case, skiplist additions will have no impact on the length of time it takes to process a crash.
Blocks: 749687
No longer blocks: 749687
Blocks: 749687
Blocks: 758898
Please add:
* 'dvm.*'
* '_JNIEnv.*'
* 'JNI_GetCreatedJavaVM.*'
* '__memcmp16'
* 'strzcmp16'
* 'strcat'
* 'dlmalloc_trim'
* 'dlmalloc'
* 'huge_dalloc'
* '_files_getaddrinfo'
* 'getanswer'
* 'moz_free'
* 'init_library'
* '__android_log_assert'

remove:
* 'dvmAbort'
* 'dvmStringLen'
* '_JNIEnv::CallObjectMethod'

We still want to keep 'JNI_CreateJavaVM' I believe.
Blocks: 759162
In https://github.com/lauraxt/socorro/commit/5e952c67b42d141367ad113ed1253e9e43a78744
Assignee: nobody → laura
Target Milestone: --- → 12
Commit pushed to master at https://github.com/mozilla/socorro

https://github.com/mozilla/socorro/commit/5e952c67b42d141367ad113ed1253e9e43a78744
Fixes bug 741315, Add dvm.*, _JNIEnv.*, JNI_CreateJavaVM.*, missing
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Commit pushed to stage at https://github.com/mozilla/socorro

https://github.com/mozilla/socorro/commit/e644fe97c73aaf5d8e7bdc329d6c173c83af0010
Fixes bug 741315, Add dvm.*, _JNIEnv.*, JNI_CreateJavaVM.*, missing
libc, libmozglue, liblog and libz symbols to the prefix skip list
Whiteboard: [qa-]
You need to log in before you can comment on or make changes to this bug.