If a Matrix job has a 'weight' not equal to 1, it fails to start its children and just runs indefinitely. Also, it is shown as 'running' in Job view even after cancelling, which is fixed only by restarting Jenkins.
I think there is a problem with starting FlyWightTask. Jenkins wait for thread in "offer.event.block();" (Queue.java::830 .Jenkins code). Executor #-1 seems to not release, as it should.
FreeStyle projects starts normally even it's weight > 1.