Pipeline stays in running state

Summary

Pipeline stays in running state

Steps to reproduce

Create an empty repository with following ci configuration:

.gitlab-ci.yml
stages:
  - stage1
  - stage2
  - stage3

job1:
  stage: stage1
  script:
    - echo 1

job2:
  stage: stage2
  when: manual
  script:
    - echo 2

job3:
  stage: stage3
  script:
    - echo 3
  needs:
    - job1
    - job2

Actual behavior

Pipeline stays in running state

image

Expected behavior

a pipeline must be in blocked state.

Environment description

config.toml contents
concurrent = 16
check_interval = 0

[session_server]
  listen_address = "0.0.0.0:8093"
  session_timeout = 1800

[[runners]]
  name = "runner"
  url = ""
  token = ""
  executor = "docker"
  environment = ["DOCKER_DRIVER=overlay2"]
  [runners.docker]
    tls_verify = false
    image = "alpine:latest"
    privileged = true
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock", "/mnt/ramdisk/.npm:/root/.npm"]
    shm_size = 0
  [runners.cache]

Used GitLab Runner version

Version:      12.3.0
Git revision: a8a019e0
Git branch:   12-3-stable
GO version:   go1.8.7
Built:        2019-09-20T08:09:48+0000
OS/Arch:      linux/amd64
Assignee Loading
Time tracking Loading