Most if not all Wait Chain (Volume 1, page 482) patterns are about waiting for some synchronization objects. Stack Traces (Volume 1, page 395) of involved threads may point to Blocking (Volume 6, page 54) and Top (Volume 6, page 62) modules. In some situations we may consider a module (which functions were called) itself as a pseudo-synchronization object where a module (who called it) is waiting for it to return back (to become “signaled”). All this is problem and context dependent where some intermediate modules may be Pass Through (Volume 3, page 129) or Well-Tested (Volume 6, page 48). When we see module inversion, such as in the case of callbacks we may provisionally suspect some kind of a deadlock and then investigate these threads in terms of synchronization objects or their corresponding source code:
3.145.82.191