Why this doesn't work?

import vibe.d;

shared static this() {
  setLogLevel(LogLevel.debugV);
  setPlainLogging(false);
  auto t = runTask({
    while(true) receive(
      (string s) {
        logDebug("string received");
      }
    );
  });
  runTask({
    while(true) {
      t.send("test");
      logDebug("string sent");
      sleep(2.seconds);
    }
  });
}

expected

[01F40F80:00000000 dbg] Creating new fiber...
[01F40F80:00000000 dbg] Creating new fiber...
[01F40F80:01F40D00 dbg] string sent
[01F40F80:00000000 dia] Running event loop...
[01F40F80:01F40D00 dbg] string sent
[01F40F80:XXXXXXXX dbg] string received
[01F40F80:01F40D00 dbg] string sent
[01F40F80:XXXXXXXX dbg] string received
[01F40F80:01F40D00 dbg] string sent
[01F40F80:XXXXXXXX dbg] string received

but given

[01F40F80:00000000 dbg] Creating new fiber...
[01F40F80:00000000 dbg] Creating new fiber...
[01F40F80:01F40D00 dbg] string sent
[01F40F80:00000000 dia] Running event loop...
[01F40F80:01F40D00 dbg] string sent
[01F40F80:01F40D00 dbg] string sent
[01F40F80:01F40D00 dbg] string sent