[roll] Roll fuchsia [kernel][wait] Fix a bad assert.

Fix a DEBUG_ASSERT present in WaitQueueCollection::Validate which was
simply in the wrong place.  Validate was supposed to do any reasonable
level of consistency checking and validating of the collection, based
on the currently build-configured level of extra debug checks.  Right
now, those checks would be O(n) at a minimum, therefore there is a
TODO left in the validate method to implement such checks, but to do
so only if the debug level is set to be sufficiently high (something
like, kSchedulerExtraInvariantValidation was enabled, or perhaps
WAIT_QUEUE_VALIDATION was turned on.

The trouble is, there was also a DEBUG_ASSERT which was present in the
Validate method which asserted that the queue collection was empty.

Validate was being called directly from the queue collection
destructor, where this assert would be an appropriate assert to
enforce.  When WAIT_QUEUE_VALIDATION was turned on for the build,
however, the Validate method was getting called in more places,
including places where the queue was still active (not destructing)

It is improper to assert that the collection is empty when it is
actually active an in-use, however we don't notice unless the kernel
debug level has been turned up enough.  Level 3 seems to be sufficient
to trigger the problem, something that Rasha noticed (sorry about that
Rasha), but something which no CI/CQ builder ever seems to recognize.

So, for now, just move the ASSERT.  Make sure that the destructor for
the collection asserts that the collection is empty, but don't ASSERT
that in the Validate method.

Original-Fixed: 122701
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/811621
Original-Revision: 8829fa73d68f037d2fc3fa3426ffb109a68831db
GitOrigin-RevId: 097aef44ce90d9941e0b56078e4ae7dc8d34f403
Change-Id: I5e51c57982a88d990360ab88bd67f8d129ecfa06
1 file changed
tree: a0f166572628263248201cce842a7eddb6152c11
  1. git-hooks/
  2. infra/
  3. third_party/
  4. cts
  5. firmware
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
  14. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.