Certain mis-configuration of remote builds may cause deadlock. These configurations are listed here so that you can avoid these pitfalls (it is highly recommended that you read these use cases first to get thorough understanding of QuickBuild's remote build support before you try to understand deadlock scenarios listed here):
If configuration1 and configuration2 share the same working directory, and you set up configuration1 to be dependent on configuration2. When configuration1 is triggered, it triggers execution of configuration2 and waits for completion of that execution, but configuration2 waits on configuration1 to release shared working directory lock. Thus deadlock occurs.
If configuration1 depends on configuration2, and configuration2 depends on configuration1 (see this use case). If you actively trigger configuration1 and configuration2 at the same time, deadlock may occur. The reason is that, if you actively trigger configuration1, it will hold working directory lock of configuration1 and it triggers configuration2 as dependent configuration. It then waits until the triggered configuration has finished. Dependent triggering of configuration2 tries to get the working directory lock of configuration2, which may now be held by an active triggering of configuration2. Just like active triggering of configuration1 does, this active triggering of configuration2 will also cause dependent triggering of configuration1, which waits on the working directory lock of configuration1. Thus, working directory lock of both configurations can never be released and deadlock occurs.