docker-py icon indicating copy to clipboard operation
docker-py copied to clipboard

API running endlessly in many situations

Open Manu10744 opened this issue 4 years ago • 2 comments

It seems like there are some hardcore bugs since certain calls / methods of the SDK run endlessly for some reason and sometimes they even kill Docker completely which forces me to restart Docker Desktop because nothing works anymore.

I discovered this behaviour with these calls so far:

  • put_archive: In the destination parameter, there will be a freeze when you don't specify a destination file name or directory name. Example: container.put_archive(PATH_TO_FILE, CONTAINER:/opt/)

  • get_archive: When i try the example @ readthedocs, container.get_archive('/bin/sh) the call succeeds and everything is fine. If I'm changing the directory, the call runs endlessly (for example, if bin and opt are at the same level, container.get_archive('/opt') does not work.

I'm running Docker Desktop on Windows 10. Is anyone experiencing the same? Any chance that these bugs get fixed soon?

Manu10744 avatar Feb 22 '21 10:02 Manu10744

Hi @Manu10744

I couldn't reproduce that issue. Could you send more information about your docker version? The output from the docker version would be great.

Have a nice day :)

feliperuhland avatar Feb 26 '21 16:02 feliperuhland

Hi, I think I am encountering the same issue described above when using get_archive. I have done a bit more debugging and it seems the issue is not triggered by the location, but by the amount of bytes I am trying to transfer. The issue begins manifesting at ~230 KB on my machine; interestingly though, the transfer time does not increase linearly with size. Transferring 224 KB takes just a few seconds, while 230 KB hangs the program, which then throws a TimeoutError. Also, changing the value of chunk_size does not seem to matter at all.

I am running Fedora 35 and the output of docker version is:

Client:
 Version:           20.10.16
 API version:       1.41
 Go version:        go1.16.15
 Git commit:        aa7e414
 Built:             Fri May 13 01:43:12 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server:
 Engine:
  Version:          20.10.16
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.15
  Git commit:       f756502
  Built:            Fri May 13 01:43:12 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.4
  GitCommit:        
 runc:
  Version:          1.1.1
  GitCommit:        babb8ce-dirty
 docker-init:
  Version:          0.19.0
  GitCommit:        

EliaGeretto avatar Jun 07 '22 16:06 EliaGeretto