Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(9)

Issue 300001: Fix CalculateStackSize to behave properly when the main thread's stack is split up into blah blah (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
13 years, 3 months ago by Mark Mentovai
Modified:
13 years, 3 months ago
CC:
google-breakpad-dev_googlegroups.com, mochalatte
Base URL:
http://google-breakpad.googlecode.com/svn/trunk/
Visibility:
Public.

Description

Fix CalculateStackSize to behave properly when the main thread's stack is
split up into multiple regions.

An older workaround relyied on known fixed stack locations and only filled in
the initial page of the stack if it was in a distinct region. The new approach
looks upwards for additional regions that appear to be part of the same stack.

With PIE on Lion, the stack no longer begins at a fixed address, so the older
workaround became ineffective.

BUG=247, chromium:94107
TEST=Stacks should run through to _main/start and then stop when examining
     Chrome on Lion with PIE and "slid" stacks.

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats Patch
M src/client/mac/handler/minidump_generator.cc View 1 1 chunk +30 lines, -22 lines 3 comments Download
M src/client/mac/handler/minidump_generator.h View 1 chunk +0 lines, -3 lines 0 comments Download

Messages

Total messages: 4
Mark Mentovai
What’s happening here is that the dumper isn’t writing the last page of the stack ...
13 years, 3 months ago #1
Ted Mielczarek
I think you can probably write a unit test for this if you care to, ...
13 years, 3 months ago #2
shess
LGTM, but this is deeper than anything I really understand. http://breakpad.appspot.com/300001/diff/2001/1003 File src/client/mac/handler/minidump_generator.cc (right): http://breakpad.appspot.com/300001/diff/2001/1003#newcode249 ...
13 years, 3 months ago #3
shess
13 years, 3 months ago #4
http://breakpad.appspot.com/300001/diff/2001/1003
File src/client/mac/handler/minidump_generator.cc (right):

http://breakpad.appspot.com/300001/diff/2001/1003#newcode288
Line 288: submap_info.protection & VM_PROT_READ == 0) {
On 2011/08/25 19:13:53, shess wrote:
> I'm assuming there's a guard page or something after which is not accessible -
> would it be reasonable to have .protection == .protection from the initial
call
> to mach_vm_region_recurse()?

Hmm, you patch adding the mprotect() point perhaps addresses this comment.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld 1004:630ec63f810e-tainted