Closed
Bug 557212
Opened 15 years ago
Closed 15 years ago
ST_mmgc_gcheap.st:mmgc-gcheap-largeAllocAlignment produces OOM
Categories
(Tamarin Graveyard :: Garbage Collection (mmGC), defect, P2)
Tamarin Graveyard
Garbage Collection (mmGC)
Tracking
(Not tracked)
VERIFIED
FIXED
flash10.1
People
(Reporter: brbaker, Assigned: treilly)
References
Details
Attachments
(2 files, 1 obsolete file)
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
lhansen
:
review+
|
Details | Diff | Splinter Review |
New selftest added bug bug #554191 is causing an OOM on linux32/64 and on mac OSX 10.4
This test does not produce OOM on windows or OSX 10.5
asteammac2:~ build$ ./avmshell -Dselftest=mmgc,gcheap
['start', 'mmgc', 'gcheap']
['test', 'mmgc', 'gcheap', 'largeAlloc']
['pass', 'mmgc', 'gcheap', 'largeAlloc']
['test', 'mmgc', 'gcheap', 'largeAllocAlignment']
error: out of memory
OUT OF MEMORY
Flags: in-testsuite+
Flags: flashplayer-triage+
Flags: flashplayer-qrb?
Updated•15 years ago
|
Assignee: nobody → treilly
Priority: -- → P2
Target Milestone: --- → flash10.1
Reporter | ||
Comment 1•15 years ago
|
||
Test is also failing on windows64, but is failing in the testcase and not producing OOM:
['failure', 'mmgc', 'gcheap', 'largeAllocAlignment', 'uintptr_t(((GCHeap::kBlockSize<<(i-1))-1) & uintptr_t(item)) == 0', 'c:/buildbot/tamarin-redux/windows64/repo/shell/../extensions/ST_mmgc_gcheap.cpp', 78]
Reporter | ||
Comment 2•15 years ago
|
||
More info as I dig a little deeper:
Windows64 only fails (comment #1) when run with:
./avmshell_64 -Dselftest=mmgc,gcheap
It does not fail if the entire selftest suite is run:
./avmshell_64 -Dselftest
Reporter | ||
Comment 3•15 years ago
|
||
Ok here is a complete wrap up of this test:
win32/64 -> fails when -Dselftest=mmgc,gcheap is run
['failure', 'mmgc', 'gcheap', 'largeAllocAlignment','uintptr_t(((GCHeap::kBlockSize<<(i-1))-1) & uintptr_t(item)) == 0','c:/buildbot/tamarin-redux/windows64/repo/shell/../extensions/ST_mmgc_gcheap.cpp',78]
win32/64 -> passes when entire selftest suite is run
mac 10.4 (intel/ppc) -> produces OOM error
mac 10.5 (32/54, intel/ppc) -> testcase passes
linux 32/64 -> produces OOM error
linux-arm -> produces OOM error
Assignee | ||
Comment 4•15 years ago
|
||
Assignee | ||
Comment 5•15 years ago
|
||
Attachment #437294 -
Flags: review?(lhansen)
Comment 6•15 years ago
|
||
Why are you doing this:
unalignedSize = sizeInBytes + alignment * kBlockSize;
and not this:
unalignedSize = sizeInBytes + (alignment - 1) * kBlockSize;
?
Assignee | ||
Comment 7•15 years ago
|
||
no good reason, will fix
Comment 8•15 years ago
|
||
(In reply to comment #7)
> no good reason, will fix
And if you do, is it necessary to have the guard if(alignmentSlop()==0) ... ? I don't know the answer, just asking.
Assignee | ||
Comment 9•15 years ago
|
||
Attachment #437294 -
Attachment is obsolete: true
Attachment #437340 -
Flags: review?(lhansen)
Attachment #437294 -
Flags: review?(lhansen)
Updated•15 years ago
|
Attachment #437340 -
Flags: review?(lhansen) → review+
Assignee | ||
Comment 10•15 years ago
|
||
> And if you do, is it necessary to have the guard if(alignmentSlop()==0) ... ?
> I don't know the answer, just asking.
You mean if(alignmentSlop() != 0) right? We could remove that, my reasoning is that alignment will usually be small and the OS is likely to meet it with any suitably large request so don't pad the reservation size unless we need to.
Comment 11•15 years ago
|
||
(In reply to comment #10)
> > And if you do, is it necessary to have the guard if(alignmentSlop()==0) ... ?
> > I don't know the answer, just asking.
>
>
> You mean if(alignmentSlop() != 0) right? We could remove that, my reasoning
> is that alignment will usually be small and the OS is likely to meet it with
> any suitably large request so don't pad the reservation size unless we need to.
y, figured it out too. Fine the way it is.
Assignee | ||
Comment 12•15 years ago
|
||
tamarin-redux-argo:
changeset: 3944:35fb5d2723dc
changeset: 3945:4832254f99d9
tamarin-redux:
changeset: 4328:4832254f99d9
changeset: 4327:35fb5d2723dc
Assignee | ||
Updated•15 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 13•15 years ago
|
||
Verified that largeAlloc selfttest is back to original state and is passing on all platforms.
tr-argo: r3945
redux: 4458
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•