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[2]]
WaitAll[dummy]
WaitAll[w]
This however never stops
dummy = ParallelSubmit[Null];
w = ParallelSubmit[Pause[2]]
WaitAll[dummy]
SetSharedVariable[x];
WaitAll[w]
and generates
Parallel`Developer`QueueRun::hmm: Received unexpected resultNullfromKernelObject[3,local].
Calling 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[2]]
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.
Worth reporting?