Bug 1651863 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

(In reply to Joel Maher ( :jmaher ) (UTC-4) from bug 1632750 comment #16)
> I am testing windows10 cppunit tests on hardware (instead of aws cloud) and I get some failures:
> https://treeherder.mozilla.org/#/jobs?repo=try&selectedTaskRun=LOoWN3ReTrajPBMZ5gkTyw.0&revision=36d5d16e8501531d164cf5faef467da1280b35a7&searchStr=cppunit
> 
> specifically I hit this assertion (added in this bug):
> ```
>        MOZ_ASSERT(
>            !chunk->GetNext() || (chunk->ChunkHeader().mDoneTimeStamp <
>                                  chunk->GetNext()->ChunkHeader().mDoneTimeStamp),
>            "Released chunk groups must have increasing timestamps");
> 
> ```

Thank you Joel for this report.

I'm guessing `ReleaseChunks` may somehow be called out-of-order, possibly due to recent mutex work in bug 1649776.
Or the "Done" timestamp is not applied in the relative same order as chunk range order?

Anyway I think we shouldn't rely on a strict ordering of these functions or chunks, but instead just accept chunks as they are given, and re-order them as needed in the `mReleasedChunks` list.

> Is there a way to get more information about this?
in `DEBUG` builds, chunks have a `Dump()` function that prints some information, but unfortunately not the "Done" timestamp. It would be useful to add the timestamp there, and in case of assertion failure, dump the bad chunks.
I'll try to do that on my side...
(In reply to Joel Maher ( :jmaher ) (UTC-4) from bug 1632750 comment #16)
> I am testing windows10 cppunit tests on hardware (instead of aws cloud) and I get some failures:
> https://treeherder.mozilla.org/#/jobs?repo=try&selectedTaskRun=LOoWN3ReTrajPBMZ5gkTyw.0&revision=36d5d16e8501531d164cf5faef467da1280b35a7&searchStr=cppunit
> 
> specifically I hit this assertion (added in this bug):
> ```
>        MOZ_ASSERT(
>            !chunk->GetNext() || (chunk->ChunkHeader().mDoneTimeStamp <
>                                  chunk->GetNext()->ChunkHeader().mDoneTimeStamp),
>            "Released chunk groups must have increasing timestamps");
> 
> ```

Thank you Joel for this report.

I'm guessing `ReleaseChunks` may somehow be called out-of-order, possibly due to recent mutex work in bug 1649776.
Or the "Done" timestamp is not applied in the relative same order as chunk range order?

Anyway I think we shouldn't rely on a strict ordering of these functions or chunks, but instead just accept chunks as they are given, and re-order them as needed in the `mReleasedChunks` list.

> Is there a way to get more information about this?

in `DEBUG` builds, chunks have a `Dump()` function that prints some information, but unfortunately not the "Done" timestamp. It would be useful to add the timestamp there, and in case of assertion failure, dump the bad chunks.
I'll try to do that on my side...

Back to Bug 1651863 Comment 0