Summary: | suppress warnings w/o function or object names (in JITed code) | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Konstantin Serebryany <konstantin.s.serebryany> |
Component: | general | Assignee: | Julian Seward <jseward> |
Status: | REPORTED --- | ||
Severity: | normal | CC: | aph |
Priority: | NOR | ||
Version: | 3.7 SVN | ||
Target Milestone: | --- | ||
Platform: | Unlisted Binaries | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Konstantin Serebryany
2011-02-08 15:07:48 UTC
I believe this is JVM generated code doing stack checks or otherwise poking the stack to check it won't overflow later (or some such). We've seen this stuff before. IIRC the distinguishing feature is that the accesses happen at an integral number of pages below the thread's stack pointer: -4096(%rsp), -8192(%rsp), etc. So you can easily hack up a patch for MC_(record_address_error) to identify and ignore these accesses. Look at the existing logic in that function for 'just_below_esp'; it should be trivial to derive what you need. That's exactly what it is. The JVM generates stack probes when it enters a context. If a probe segfaults a stack overflow exception is thrown; if not, the code generator knows that accesses below the probe will never fault. |