Bug introduced in 9.0 or earlier and persisting through 11.0.1 or later
Start a fresh kernel
Quit, and maybe launch
Parallel`Developer`KernelStatus, that is Evaluation > Parallel Kernel Status....
The following succeeds and finishes:
dummy = ParallelSubmit[Null]; w = ParallelSubmit[Pause] WaitAll[dummy] WaitAll[w]
This however never stops
dummy = ParallelSubmit[Null]; w = ParallelSubmit[Pause] WaitAll[dummy] SetSharedVariable[x]; WaitAll[w]
Parallel`Developer`QueueRun::hmm: Received unexpected result
Parallel`Developer`QueueRun directly instead of relying on a dummy task and
WaitAll to do it, reveals that the kernels get locked up one after the other:
ParallelSubmit[Pause] Parallel`Developer`QueueRun SetSharedVariable[u]; Parallel`Developer`QueueRun
Will on the first run create an
EvaluationObject saying that it is running on kernel 4, then on the next run on kernel 3, etc., until the the task just stays
ready for processing.
I am positive that the problem comes from
SetSharedVariable, probably because it is trying to communicate with the running kernels and failing. Still I think this shouldn't crash/hang up the kernels.