Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-67404

Jenkins Debian/Ubuntu Start Timeout Failure Mode


    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • packaging
    • None
    • Any Debian / Ubuntu
    • 2.335

      Debian/Ubuntu Jenkins init.d script has unique function "check_tcp_port" absent from RPM and SUSE scripts to detect listener on host:port pair.

      I have Ubuntu 20.04 LTS host with 13 IPv4 and 14 IPv6 addresses where DNS reverse lookups timeout for many addresses.

      I find Jenkins init "check_tcp_port" causes startup failure because "netstat --listen --numeric-ports" takes 8 minutes to complete.

      Aforesaid 8 minutes is longer than systemd 5 minute start timeout causing systemd to abandon the start and report Jenkins service failure.

      Issue opened to

      1. alert Jenkins project supporters
      2. alert users who may have this issue
      3. propose timeout prevention edits

      Proposed revisions:

      1. Drop "check_tcp_port" function; a start when port in use fails with similar message.
      2. Revise listener enumeration for numeric mode to avoid DNS timeouts; details later.
      3. Replace old "netstat" with new "ss"; drops "net-utils" package dependency.

      The "check_tcp_port" function fails to detect used port on Ubuntu 20.04 LTS OpenJDK 1.8.0_292 since "netstat" output " [::]:8080 " doesn't match "grep" argument "\:8080[[:space:]]" value; "systemd" still shows service as active.

            basil Basil Crow
            conrad_t_pino Conrad T. Pino
            0 Vote for this issue
            3 Start watching this issue