Closed
Bug 482488
Opened 16 years ago
Closed 16 years ago
-memstats periodically hanging on mac
Categories
(Tamarin Graveyard :: Garbage Collection (mmGC), defect, P2)
Tracking
(Not tracked)
VERIFIED
FIXED
flash10.1
People
(Reporter: brbaker, Assigned: tierney)
References
Details
Attachments
(1 file, 2 obsolete files)
2.90 KB,
patch
|
treilly
:
review+
|
Details | Diff | Splinter Review |
I am seeing periodic hangs when using -memstats and running the sunspider/string-unpack-code.as test.
I have reproduced the issue on 3 different 10.4 machines (intel and PPC), but have not been able to reproduce on a 10.5 machine.
The hang happens in both release and release_debugger builds but not in the debug builds.
Flags: flashplayer-triage?
Flags: flashplayer-qrb?
Updated•16 years ago
|
Assignee: nobody → treilly
Severity: normal → major
Status: NEW → ASSIGNED
Priority: -- → P2
Target Milestone: --- → flash10.x
Updated•16 years ago
|
Assignee: treilly → tierney
Updated•16 years ago
|
Flags: flashplayer-triage?
Flags: flashplayer-triage+
Flags: flashplayer-qrb?
Flags: flashplayer-qrb+
Assignee | ||
Comment 1•16 years ago
|
||
Memstats was hanging because the blocks were getting screwed up. The code to merge blocks was wrong, and was merging to blocks together that were not contiguous. Changed the code to make sure the two blocks were contiguous before merging them.
Also added some ifdef'ed out debugging code to look for errors in blocks/regions.
Attachment #367282 -
Flags: review?(treilly)
Comment 2•16 years ago
|
||
Comment on attachment 367282 [details] [diff] [review]
Fix memstats hang on mac
I don't think this is right, non-contiguous heap sections should be separated with a sentinel block. This is old code that hasn't changed in awhile, something else changed recently that introduced this hang
Updated•16 years ago
|
Attachment #367282 -
Flags: review?(treilly) → review-
Assignee | ||
Comment 3•16 years ago
|
||
Change RemoveBlock to add in a sentinel since any block removed from the middle will mean the prev and next blocks are not contiguous.
Attachment #367282 -
Attachment is obsolete: true
Attachment #367624 -
Flags: review?(treilly)
Updated•16 years ago
|
Attachment #367624 -
Flags: review?(treilly) → review+
Assignee | ||
Comment 4•16 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•16 years ago
|
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 5•16 years ago
|
||
This fixes the problems we were having with my previous fix. Now it only inserts a sentinel if the block is removed from the middle of a contiguous region. If the block is not contigous with either the previous or next block then there will already be a sentinel. If the block is not contigous with both the previous and next block, we now remove a sentinel, since there would have been 2 (one on either side).
Also patches up some bad math when we were redoing the region->blockIds and the prev/next pointers for the blocks that got moved.
Attachment #367624 -
Attachment is obsolete: true
Attachment #367784 -
Flags: review?(treilly)
Comment 6•16 years ago
|
||
Comment on attachment 367784 [details] [diff] [review]
Turn memstats fix back on, with fixes
There's a redundant setting of need_sentinel to false but otherwise looks good
Attachment #367784 -
Flags: review?(treilly) → review+
Assignee | ||
Comment 7•16 years ago
|
||
Status: REOPENED → RESOLVED
Closed: 16 years ago → 16 years ago
Resolution: --- → FIXED
Comment 8•15 years ago
|
||
Resolved fixed engineering / work item that has been pushed. Setting status to verified.
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•