Docker runner cannot accept stage

All the steps got marked as completed, but the stage was still “running”.

Docker executor log:

time="2022-06-26T20:51:52Z" level=info msg="starting the server" addr=":3000"
time="2022-06-26T20:51:52Z" level=info msg="successfully pinged the remote server"
time="2022-06-26T20:51:52Z" level=info msg="polling the remote server" arch=amd64 capacity=4 endpoint="https://<removed>" kind=pipeline os=linux type=docker
time="2022-06-26T20:54:51Z" level=warning msg="cannot report step status." build.id=1 build.number=1 repo.id=21 repo.name=dockerimages repo.namespace=olback stage.id=1 stage.name=default stage.number=1 step.name=build thread=4
time="2022-06-26T21:02:02Z" level=error msg="cannot get stage details" error="pq: bind message has 16 result formats but query has 31 columns" stage.id=3 stage.name=default stage.number=1 thread=1
time="2022-06-26T21:03:14Z" level=error msg="cannot accept stage" error="pq: bind message supplies 20 parameters, but prepared statement \"\" requires 1" stage.id=4 stage.name=default stage.number=1 thread=2
time="2022-06-26T21:03:15Z" level=error msg="cannot accept stage" error="pq: bind message supplies 20 parameters, but prepared statement \"\" requires 1" stage.id=4 stage.name=default stage.number=1 thread=2
time="2022-06-26T21:06:36Z" level=warning msg="cannot report step status." build.id=5 build.number=5 repo.id=21 repo.name=dockerimages repo.namespace=olback stage.id=5 stage.name=default stage.number=1 step.name=build thread=1
time="2022-06-26T21:15:09Z" level=error msg="cannot get stage details" error="pq: bind message has 34 result formats but query has 27 columns" stage.id=8 stage.name=build stage.number=1 thread=4
time="2022-06-26T21:17:08Z" level=error msg="cannot accept stage" error="pq: bind message supplies 20 parameters, but prepared statement \"\" requires 1" stage.id=9 stage.name=build stage.number=1 thread=2
received signal, terminating process
time="2022-06-26T21:18:16Z" level=error msg="shutting down the server" error="http: Server closed"
drone-runner-docker: error: http: Server closed, try --help
time="2022-06-26T21:21:38Z" level=info msg="starting the server" addr=":3000"
time="2022-06-26T21:21:38Z" level=info msg="successfully pinged the remote server"
time="2022-06-26T21:21:38Z" level=info msg="polling the remote server" arch=amd64 capacity=4 endpoint="https://<removed>" kind=pipeline os=linux type=docker
time="2022-06-26T21:28:18Z" level=error msg="cannot accept stage" error="pq: bind message supplies 20 parameters, but prepared statement \"\" requires 1" stage.id=10 stage.name=build stage.number=1 thread=1

Drone log:

{"acme":false,"host":"<removed>","level":"info","msg":"starting the http server","port":":80","proto":"https","time":"2022-06-26T20:14:08Z","url":"https://<removed>"}
{"interval":"30m0s","level":"info","msg":"starting the cron scheduler","time":"2022-06-26T20:14:08Z"}
{"interval":"3h0m0s","level":"info","msg":"starting the zombie build reaper","time":"2022-06-26T20:14:08Z"}
{"interval":"30m0s","level":"info","msg":"starting the cron scheduler","time":"2022-06-26T20:14:55Z"}
{"interval":"3h0m0s","level":"info","msg":"starting the zombie build reaper","time":"2022-06-26T20:14:55Z"}
{"acme":false,"host":"<removed>","level":"info","msg":"starting the http server","port":":80","proto":"https","time":"2022-06-26T20:14:55Z","url":"https://<removed>"}
{"error":"pq: bind message supplies 14 parameters, but prepared statement \"\" requires 2","level":"warning","msg":"manager: cannot update step","step.id":2,"step.name":"build","step.status":"failure","time":"2022-06-26T20:54:51Z"}
{"error":"pq: bind message supplies 14 parameters, but prepared statement \"\" requires 2","level":"warning","msg":"manager: cannot update step","step.id":2,"step.name":"build","step.status":"failure","time":"2022-06-26T20:54:51Z"}
{"build":3,"error":"pq: bind message has 16 result formats but query has 31 columns","level":"warning","msg":"manager: cannot find repository owner","repo":"olback/dockerimages","step-id":3,"time":"2022-06-26T21:02:02Z"}
{"error":"pq: bind message has 27 result formats but query has 16 columns","level":"warning","msg":"manager: cannot find stage","step.id":6,"step.name":"build","step.status":"running","time":"2022-06-26T21:03:17Z"}
{"error":"pq: unnamed prepared statement does not exist","level":"warning","msg":"manager: cannot find build","step.id":8,"step.name":"build","step.status":"running","time":"2022-06-26T21:06:34Z"}
{"error":"pq: bind message supplies 14 parameters, but prepared statement \"\" requires 1","level":"warning","msg":"manager: cannot update step","step.id":8,"step.name":"build","step.status":"failure","time":"2022-06-26T21:06:36Z"}
{"error":"pq: bind message supplies 14 parameters, but prepared statement \"\" requires 1","level":"warning","msg":"manager: cannot update step","step.id":8,"step.name":"build","step.status":"failure","time":"2022-06-26T21:06:36Z"}
{"build.id":5,"build.number":5,"error":"sql: no rows in result set","level":"warning","msg":"manager: cannot find the repository","repo.id":21,"stage.id":5,"time":"2022-06-26T21:06:36Z"}
{"error":"pq: bind message has 27 result formats but query has 31 columns","level":"warning","msg":"manager: cannot find stage","step.id":10,"step.name":"build","step.status":"running","time":"2022-06-26T21:12:12Z"}
{"build.id":6,"build.number":6,"error":"sql: no rows in result set","level":"warning","msg":"manager: cannot find the repository","repo.id":21,"stage.id":6,"time":"2022-06-26T21:12:17Z"}
{"build.id":7,"build.number":7,"error":"pq: bind message has 31 result formats but query has 16 columns","level":"warning","msg":"manager: cannot find the repository","repo.id":21,"stage.id":7,"time":"2022-06-26T21:14:09Z"}
{"error":"pq: bind message has 34 result formats but query has 27 columns","level":"warning","msg":"manager: cannot find build","step-id":8,"time":"2022-06-26T21:15:09Z"}
{"error":"pq: unnamed prepared statement does not exist","level":"warning","msg":"manager: cannot find build","step.id":14,"step.name":"build","step.status":"running","time":"2022-06-26T21:17:11Z"}
{"build.id":9,"build.number":9,"error":"pq: bind message supplies 14 parameters, but prepared statement \"\" requires 1","level":"warning","msg":"manager: cannot persist the step","repo.id":21,"stage.id":9,"stage.status":"failure","step.id":13,"step.name":"clone","time":"2022-06-26T21:17:15Z"}
{"build.id":13,"build.number":13,"error":"pq: bind message supplies 14 parameters, but prepared statement \"\" requires 1","level":"warning","msg":"manager: cannot persist the step","repo.id":21,"stage.id":10,"stage.status":"success","step.id":15,"step.name":"clone","time":"2022-06-26T21:36:36Z"}

Edit: Here’s some errors from the JS console as well:

Hey @olback can you clarify the exact question, are you wondering why the stages are still “running”?

The job is never completed. The status icon is yellow and spinning even though all steps are done (green).

The relevant error (I think) is:

time="2022-06-26T21:28:18Z" level=error msg="cannot accept stage" error="pq: bind message supplies 20 parameters, but prepared statement \"\" requires 1" stage.id=10 stage.name=build stage.number=1 thread=1
1 Like

Hey @olback feel free to also open an issue on Github so we can track this. I saw your tweet and appreciate your feedback.

Actually, it seems to more of a problem with PG-Bouncer. Connecting directly to the database seems to work. I can’t seem to be able to figure out if the issue is with Drone itself or it’s an issue with PG-Bouncer.

Hey @olback

What version of the docker runner & drone server are you running?