docker / for-win

Bug reports for Docker Desktop for Windows
https://www.docker.com/products/docker#/windows
1.86k stars 291 forks source link

> 100k DNS requests within 10 minutes for "notify.bugsnag.com" #13722

Closed adymorz closed 1 year ago

adymorz commented 1 year ago

Description

Having a DNS server in place blocking requests for "notify.bugsnag.com" causes Docker Desktop to create > 100k DNS requests within 10 minutes. This happens also if none of the containers is running.

Reproduce

  1. Use a DNS server which responds to DNS queries for "notify.bugsnag.com" with 0.0.0.0 or NODATA (see "Pi-hole's unspecified IP or NULL blocking mode" and "Pi-hole's NODATA blocking mode" in https://docs.pi-hole.net/ftldns/blockingmode/)
  2. Start Docker Desktop
  3. See the number of queries rise to a high level (e.g. in Microsoft Network Monitor or in Pi-hole log)

Expected behavior

I would expect that Docker Desktops stops trying to resolve the address in case it gets "0.0.0.0" as IP for "notify.bugsnag.com"

docker version

Client:
 Cloud integration: v1.0.35+desktop.5
 Version:           24.0.6
 API version:       1.43
 Go version:        go1.20.7
 Git commit:        ed223bc
 Built:             Mon Sep  4 12:32:48 2023
 OS/Arch:           windows/amd64
 Context:           default

Server: Docker Desktop 4.24.1 (123237)
 Engine:
  Version:          24.0.6
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.7
  Git commit:       1a79695
  Built:            Mon Sep  4 12:32:16 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.22
  GitCommit:        8165feabfdfe38c65b599c4993d227328c231fca
 runc:
  Version:          1.1.8
  GitCommit:        v1.1.8-0-g82f18fe
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker info

Client:
 Version:    24.0.6
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.11.2-desktop.5
    Path:     C:\Program Files\Docker\cli-plugins\docker-buildx.exe
  compose: Docker Compose (Docker Inc.)
    Version:  v2.22.0-desktop.2
    Path:     C:\Program Files\Docker\cli-plugins\docker-compose.exe
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-dev.exe
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.20
    Path:     C:\Program Files\Docker\cli-plugins\docker-extension.exe
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v0.1.0-beta.8
    Path:     C:\Program Files\Docker\cli-plugins\docker-init.exe
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-sbom.exe
  scan: Docker Scan (Docker Inc.)
    Version:  v0.26.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-scan.exe
  scout: Docker Scout (Docker Inc.)
    Version:  v1.0.7
    Path:     C:\Program Files\Docker\cli-plugins\docker-scout.exe

Server:
 Containers: 2
  Running: 0
  Paused: 0
  Stopped: 2
 Images: 20
 Server Version: 24.0.6
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 8165feabfdfe38c65b599c4993d227328c231fca
 runc version: v1.1.8-0-g82f18fe
 init version: de40ad0
 Security Options:
  seccomp
   Profile: unconfined
 Kernel Version: 5.10.102.1-microsoft-standard-WSL2
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 31.23GiB
 Name: docker-desktop
 ID: 04bf0df4-4d6d-4d1f-be28-ff7cc2dee1d6
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support
WARNING: daemon is not using the default seccomp profile

Diagnostics ID

1CF3E576-798B-4A52-B525-1901E4F4EFE0/20231005092142

Additional Info

The only workaround I found so far is to add "notify.bugsnag.com" to the whitelist in Pi-hole.

AmIBeingObtuse commented 1 year ago

Hi Have this issue to. Attempted to connect to notify.bugsnag.com almost 5 million times in 24 hours!

Images

AmIBeingObtuse commented 1 year ago

A fix that works for me is to simply put the url's into the host file as such: 0.0.0.0 notify.bugsnag.com 0.0.0.0 sessions.bugsnag.com Even though adguard stops the connection anyway almost 5 million records in 24 hours is not what i want to see in the dashboard. This stops the connection before it even hits the dns.

FibreFoX commented 1 year ago

Why is this active anyway? I have "send usage statistic" off, so why is this not considered instead of trying to use this bug-reporting service?

EDIT: looks like #12718 was touching the same issue before ... now this is getting even worse.

AmIBeingObtuse commented 1 year ago

I asked this question on Reddit I was told this in response:

In the last 24 hours docker desktop has attempted to connect to notify.bugsnag.com almost 5 million times!!!

No it has not. What you are seeing is connection retries because you have blocked this domain. This causes software to keep retrying until it succeeds. If you had not blocked it, it would probably connect only once every hour or even less. Not 5 million times.

This is common behaviour when you use things like Pihole or Adguard, get used to it and learn how it works.

End of comment.

I also agree that docker should not be sending these requests without me allowing it in the settings somehow.

FibreFoX commented 1 year ago

I dont care about Reddit, even if this is "just a retry", the fact that this behaviour wasnt present in the versions before, makes this a clear (regression-)bug.

In addition, this non-stopping retry is hitting DNS request limits which results in a blocked system, so this is an issue. I can not use my system anymore

So no "learn how it works" is not a thing here. It has to obey my prefered settings, which it clearly does not anymore.

trungutt commented 1 year ago

Hey all sorry for the inconvenience. Could anyone please try this build

https://desktop-stage.docker.com/win/main/amd64/123800/Docker%20Desktop%20Installer.exe https://desktop-stage.docker.com/win/main/amd64/123808/Docker%20Desktop%20Installer.exe

to see if the issue still persists? TIA!

AmIBeingObtuse commented 1 year ago

Hi

Yes the issue still persists with build https://desktop-stage.docker.com/win/main/amd64/123808/Docker%20Desktop%20Installer.exe

Images

trungutt commented 1 year ago

@AmIBeingObtuse Right, thanks a lot for testing. I might not be able to have the same setup then. I made another build

https://desktop-stage.docker.com/win/main/amd64/123825/Docker%20Desktop%20Installer.exe

Could I ask you to test this one more time please?

AmIBeingObtuse commented 1 year ago

Hi

Yes the issue still persists with build https://desktop-stage.docker.com/win/main/amd64/123825/Docker%20Desktop%20Installer.exe

Images

mark-dr commented 1 year ago

Heya folks, I'm Mark, an engineer here at Docker. Just to give a bit of an official statement: We agree that this is a regression, and we always aim to support all use cases, including those involving DNS-blocking tools like Pi-holes. We're very sorry about this. It would've been difficult for us to anticipate this issue, but still, we hate doing anything that harms user experiences. We're on it, and we should have a fix very soon.

For background, in 4.24 we made some changes to how we interact with our third-party bug-tracking system. It's helped us reduce noise and cut down on the data we receive, but it unfortunately brought with it some new, unexpected behaviour. We've contacted the vendor in question to request changes on their end, but in the meantime we're doing some local patching of their code to enact a short-term fix so we can make a patch release of Docker Desktop. As I'm sure you appreciate, patching third-party code is never the preferred approach, so 1. we're taking a bit of time to be careful with it and 2. we expect that it might take a couple of iterations to find all the ways this problem can manifest.

We're very grateful for the testing you've done so far, @AmIBeingObtuse. If you're willing to try another build, we think this one will address the issue for at least some (if not all) users:

https://desktop-stage.docker.com/win/main/amd64/123916/Docker%20Desktop%20Installer.exe

(if anybody would like to test a different version, e.g. on Mac, please let me know)

Either way, we'll keep testing and incrementing internally, and we'll update here when we have news.

adymorz commented 1 year ago

Thanks for your help an the fast reaction with the builds to test.

I can not reproduce the issue I described in this ticket any more with build 123825. I run two tests, in one Pi-hole return NODATA for notify.bugsnag.com in the other 0.0.0.0. Both tests did not create more than around one request per minute to notify.bugsnag.com.

mark-dr commented 1 year ago

Thanks for the feedback, it's extremely helpful :slightly_smiling_face: We'll look into whether we can also remove that one-request-per-minute, but probably after the patch release, when the stampeding retries problem is resolved.

adymorz commented 1 year ago

Also with build 123916 both test cases (Pi-hole retuning NODATA or 0.0.0.0 for notify.bugsnag.com) run smoothly. I did check how often the address notify.bugsnag.com gets requested on Pi-hole. It is about once every ten minutes, so nothing to worry about IMHO.

Thanks again for the fast help!

AmIBeingObtuse commented 1 year ago

Heya folks, I'm Mark, an engineer here at Docker. Just to give a bit of an official statement: We agree that this is a regression, and we always aim to support all use cases, including those involving DNS-blocking tools like Pi-holes. We're very sorry about this. It would've been difficult for us to anticipate this issue, but still, we hate doing anything that harms user experiences. We're on it, and we should have a fix very soon.

For background, in 4.24 we made some changes to how we interact with our third-party bug-tracking system. It's helped us reduce noise and cut down on the data we receive, but it unfortunately brought with it some new, unexpected behaviour. We've contacted the vendor in question to request changes on their end, but in the meantime we're doing some local patching of their code to enact a short-term fix so we can make a patch release of Docker Desktop. As I'm sure you appreciate, patching third-party code is never the preferred approach, so 1. we're taking a bit of time to be careful with it and 2. we expect that it might take a couple of iterations to find all the ways this problem can manifest.

We're very grateful for the testing you've done so far, @AmIBeingObtuse. If you're willing to try another build, we think this one will address the issue for at least some (if not all) users:

https://desktop-stage.docker.com/win/main/amd64/123916/Docker%20Desktop%20Installer.exe

(if anybody would like to test a different version, e.g. on Mac, please let me know)

Either way, we'll keep testing and incrementing internally, and we'll update here when we have news.

No! Thank you! You guys are awesome and smashed the customer service side of it too! I can also concur with @adymorz not seeing multiple attempts every minute now.

I tested: https://desktop-stage.docker.com/win/main/amd64/123916/Docker%20Desktop%20Installer.exe

super impressed with the speed of the fix! Thank you!

FibreFoX commented 1 year ago

@mark-dr Thanks a lot for the feedback. Maybe it is the best opportunity to improve in your tests to look out for this? 😉 Would catch it early for the next "error reporting rework".

Looking forward for the release of this patched version 😸

Nividica commented 1 year ago

Ran into this issue this morning after updating both Docker Desktop and Windows 11. I downloaded and installed the 123916 build linked above, made sure "Send usage statistics" is disabled, and have restarted my machine twice. However I am still getting around a thousand lookup requests per minute 😖

docker version

Client:
 Cloud integration: v1.0.35+desktop.5
 Version:           24.0.6
 API version:       1.43
 Go version:        go1.20.7
 Git commit:        ed223bc
 Built:             Mon Sep  4 12:32:48 2023
 OS/Arch:           windows/amd64
 Context:           default

Server: Docker Desktop 4.24.1 (123916)
 Engine:
  Version:          24.0.6
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.7
  Git commit:       1a79695
  Built:            Mon Sep  4 12:32:16 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.22
  GitCommit:        8165feabfdfe38c65b599c4993d227328c231fca
 runc:
  Version:          1.1.8
  GitCommit:        v1.1.8-0-g82f18fe
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

winver

Version 22H2 (OS Build 22624.2428)

To quiet things down I updated my hosts file with

0.0.0.0 notify.bugsnag.com
0.0.0.0 sessions.bugsnag.com
mark-dr commented 1 year ago

@Nividica, thanks for the details. Could you tell us a bit about your setup? Do you use any DNS blocking, via pi-hole or anything else?

Is there anything interesting in your logs? On Windows, they should be at %LOCALAPPDATA%\Docker\log\host, look for files with names like electron-2023-10-[...].log.

FibreFoX commented 1 year ago

I tried this installer: https://desktop-stage.docker.com/win/main/amd64/123916/Docker%20Desktop%20Installer.exe

Looks like there is still a problem with bugsnag. grafik grafik

My setup:

I cleared the log/host-folder before installing the new build, but got the following result, which might help to find the problem.

Content of file %LOCALAPPDATA%\Docker\log\host\Docker Desktop.exe.stderr.log:

-------------------------------------------------------------------------------->8
[2023-10-11T19:25:28.909579600Z] [bugsnag][main] PayloadDeliveryLoop error Error: net::ERR_NAME_NOT_RESOLVED
[2023-10-11T19:25:28.910173700Z]     at SimpleURLLoaderWrapper.<anonymous> (node:electron/js2c/browser_init:2:49549)
[2023-10-11T19:25:28.910173700Z]     at SimpleURLLoaderWrapper.emit (node:events:513:28) {
[2023-10-11T19:25:28.910173700Z]   isRetryable: false
[2023-10-11T19:25:28.910173700Z] }
[2023-10-11T19:25:28.996930700Z] [bugsnag][main] PayloadDeliveryLoop error Error: net::ERR_NAME_NOT_RESOLVED
[2023-10-11T19:25:28.997077900Z]     at SimpleURLLoaderWrapper.<anonymous> (node:electron/js2c/browser_init:2:49549)
[2023-10-11T19:25:28.997077900Z]     at SimpleURLLoaderWrapper.emit (node:events:513:28) {
[2023-10-11T19:25:28.997077900Z]   isRetryable: false
[2023-10-11T19:25:28.997077900Z] }
[2023-10-11T19:25:29.088624900Z] [bugsnag][main] PayloadDeliveryLoop error Error: net::ERR_NAME_NOT_RESOLVED
[2023-10-11T19:25:29.088624900Z]     at SimpleURLLoaderWrapper.<anonymous> (node:electron/js2c/browser_init:2:49549)
[2023-10-11T19:25:29.088918400Z]     at SimpleURLLoaderWrapper.emit (node:events:513:28) {
[2023-10-11T19:25:29.088918400Z]   isRetryable: false
[2023-10-11T19:25:29.088918400Z] }
[2023-10-11T19:25:29.168001200Z] [bugsnag][main] PayloadDeliveryLoop error Error: net::ERR_NAME_NOT_RESOLVED
[2023-10-11T19:25:29.168852400Z]     at SimpleURLLoaderWrapper.<anonymous> (node:electron/js2c/browser_init:2:49549)
[2023-10-11T19:25:29.168852400Z]     at SimpleURLLoaderWrapper.emit (node:events:513:28) {
[2023-10-11T19:25:29.168852400Z]   isRetryable: false
[2023-10-11T19:25:29.168852400Z] }
[2023-10-11T19:25:29.250602200Z] [bugsnag][main] PayloadDeliveryLoop error Error: net::ERR_NAME_NOT_RESOLVED
[2023-10-11T19:25:29.250602200Z]     at SimpleURLLoaderWrapper.<anonymous> (node:electron/js2c/browser_init:2:49549)
[2023-10-11T19:25:29.250602200Z]     at SimpleURLLoaderWrapper.emit (node:events:513:28) {
[2023-10-11T19:25:29.250602200Z]   isRetryable: false
[2023-10-11T19:25:29.250602200Z] }

Content of file %LOCALAPPDATA%\Docker\log\host\Docker Desktop.exe.stdout.log:

-------------------------------------------------------------------------------->8
[2023-10-11T19:25:24.399191400Z] 
[2023-10-11T19:25:25.275652300Z] [bugsnag][main] Loaded! In main process.

I would expect bugsnag not starting at all, because my settings clearly are saying not to share usage statistics. Maybe the "do not send bug stuff" is somewhere else to disable?

FibreFoX commented 1 year ago

Just for reference (as it wasn't mentioned here before): https://github.com/bugsnag/bugsnag-js/issues/2023

Nividica commented 1 year ago

@Nividica, thanks for the details. Could you tell us a bit about your setup? Do you use any DNS blocking, via pi-hole or anything else?

I have all DNS and DNSSEC requests managed by PiHole. Both notify.bugsnag.com and sessions.bugsnag.com are on the blocklist. Currently I have both added to my windows hosts file.

Is there anything interesting in your logs? On Windows, they should be at %LOCALAPPDATA%\Docker\log\host, look for files with names like electron-2023-10-[...].log.

trungutt commented 1 year ago

@FibreFoX @Nividica Thanks for testing, it's very helpful.

As @mark-dr mentioned above,

we think this one will address the issue for at least some (if not all) users

It looks like the build 123916 solves the issue for some users, but still happens to some other users.

At the risk of asking too much for testing, could you all please try this out?

https://desktop-stage.docker.com/win/main/amd64/124298/Docker%20Desktop%20Installer.exe

@FibreFoX about

I would expect bugsnag not starting at all, because my settings clearly are saying not to share usage statistics. Maybe the "do not send bug stuff" is somewhere else to disable?

We agree on this bug which might be considered a different one from Docker Desktop settings, we're trying to address it internally but the build above won't solve this issue yet. Sorry for this inconvenience

adymorz commented 1 year ago

The issues returned with build 123916 today. Going to try build 124298.

The issues also occur in build 124298. Waiting for a new build.

Nividica commented 1 year ago

So far so good! Installed build 124298 and it has been very quiet. 3 requests for sessions, 0 requests for notify

[Blocked Requests For Domain "bugsnag.com"]
2023-10-12 06:14:30  |  A & AAAA  |  sessions.bugsnag.com
2023-10-12 06:14:35  |  A & AAAA  |  sessions.bugsnag.com
2023-10-12 06:14:45  |  A & AAAA  |  sessions.bugsnag.com

Thank you all for the incredible turn around time with these fixes 😄

mark-dr commented 1 year ago

No problem at all, and thank you for your patience! We've identified several different issues, and some of them only apply to specific contexts - for instance, we think we've fixed most of the issues that can happen on startup now, but there could be others that creep in when the app's been running for a while.

We have a build coming that specifically fixes the "minidump failed to send" scenario that you showed us, @Nividica. Your log was invaluable, huge thanks for that. We'll link to the new build soon.

FibreFoX commented 1 year ago

The new build 124298 looks very promising to me.

After starting Docker Desktop the log files now contain less stuff

Docker Desktop.exe.stderr.log:

-------------------------------------------------------------------------------->8

Docker Desktop.exe.stdout.log:

-------------------------------------------------------------------------------->8
[2023-10-12T10:55:45.205937000Z] 
[2023-10-12T10:55:45.983797800Z] [bugsnag][main] Loaded! In main process.

electron-2023-10-12-12.log:

2023-10-12T10:55:46.807Z info   [SSE] Received: {
  timestamp: 0,
  HasServerTimestamp: false,
  content: '',
  dockerAPI: 'starting',
  docker: 'starting',
  idle: 'running',
  state: 'starting',
  mode: 'linux'
}
2023-10-12T10:55:46.809Z info   [SSE] Received: {
  updateStatus: 'upToDate',
  currentBuild: '124298',
  currentVersion: '4.24.2',
  appcastURL: 'https://desktop.docker.com/win/main/amd64/appcast.xml'
}
2023-10-12T10:55:46.810Z info   [SSE] Received: { hasBeenAccepted: true }
2023-10-12T10:55:46.827Z info   application has just finished initializing
2023-10-12T10:55:46.900Z info   [SSE] Received: { type: 'LoggedOutOK' }
2023-10-12T10:55:46.926Z info   [HTTP] 200: GET /update/highlights/4.24.2
2023-10-12T10:55:47.277Z info   [THEME] Key found in registry {
  'HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize': {
    values: {
      ColorPrevalence: [Object],
      EnableTransparency: [Object],
      AppsUseLightTheme: [Object],
      SystemUsesLightTheme: [Object]
    }
  }
}
2023-10-12T10:55:47.278Z info   [TRAY] load icon, themeSettings =  {
  ColorPrevalence: { type: 'REG_DWORD', value: 0 },
  EnableTransparency: { type: 'REG_DWORD', value: 1 },
  AppsUseLightTheme: { type: 'REG_DWORD', value: 1 },
  SystemUsesLightTheme: { type: 'REG_DWORD', value: 0 }
}
2023-10-12T10:55:47.319Z info   [MENU] Rebuilding with licenseHasBeenAccepted: false and loginRestricted: false
2023-10-12T10:55:47.823Z info   [HTTP] 200: GET /ping
2023-10-12T10:55:47.875Z info   [MENU] Rebuilding with licenseHasBeenAccepted: false and loginRestricted: false
2023-10-12T10:55:47.882Z info   [MENU] Rebuilding with licenseHasBeenAccepted: false and loginRestricted: false
2023-10-12T10:55:47.882Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:55:47.884Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:55:47.887Z info   [HTTP] 200: GET /versions
2023-10-12T10:55:47.888Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:55:47.890Z info   [HTTP] 200: GET /backend/state
2023-10-12T10:55:47.898Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:55:47.900Z info   [HTTP] 200: GET /docker
2023-10-12T10:55:47.905Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:55:47.907Z info   [HTTP] 200: GET /install/check
2023-10-12T10:55:47.911Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:55:47.913Z info   [HTTP] 200: GET /kubernetes
2023-10-12T10:55:47.917Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:55:47.919Z info   [HTTP] 200: GET /app/settings
2023-10-12T10:55:47.924Z info   [MENU] Adding items for extensions { newExtensionsAvailable: 0, updatesAvailable: 0 }
2023-10-12T10:55:47.924Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:55:47.963Z info   [HTTP] 200: GET /store
2023-10-12T10:55:47.975Z info   [HTTP] 200: GET /store
2023-10-12T10:55:47.987Z info   [MENU] Adding items for extensions { newExtensionsAvailable: 0, updatesAvailable: 0 }
2023-10-12T10:55:47.988Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:55:48.292Z info   [MENU] Adding items for extensions { newExtensionsAvailable: 0, updatesAvailable: 0 }
2023-10-12T10:55:48.292Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:56:08.319Z info   [MENU] Adding items for extensions { newExtensionsAvailable: 0, updatesAvailable: 0 }
2023-10-12T10:56:08.321Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:56:08.323Z info   [SSE] Received: {
  timestamp: 0,
  HasServerTimestamp: false,
  content: '',
  dockerAPI: 'starting',
  docker: 'starting',
  idle: 'running',
  state: 'starting',
  mode: 'linux'
}
2023-10-12T10:56:08.336Z info   [MENU] Adding items for extensions { newExtensionsAvailable: 0, updatesAvailable: 0 }
2023-10-12T10:56:08.338Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:56:08.339Z info   [SSE] Received: {
  timestamp: 0,
  HasServerTimestamp: false,
  content: '',
  dockerAPI: 'starting',
  docker: 'starting',
  idle: 'running',
  state: 'starting',
  mode: 'linux'
}
2023-10-12T10:56:08.349Z info   [MENU] Adding items for extensions { newExtensionsAvailable: 0, updatesAvailable: 0 }
2023-10-12T10:56:08.350Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:56:08.351Z info   [SSE] Received: {
  timestamp: 0,
  HasServerTimestamp: false,
  content: '',
  dockerAPI: 'starting',
  docker: 'starting',
  idle: 'running',
  state: 'starting',
  mode: 'linux'
}
2023-10-12T10:56:08.363Z info   [MENU] Adding items for extensions { newExtensionsAvailable: 0, updatesAvailable: 0 }
2023-10-12T10:56:08.365Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:56:08.366Z info   [SSE] Received: {
  timestamp: 0,
  HasServerTimestamp: false,
  content: '',
  dockerAPI: 'starting',
  docker: 'starting',
  idle: 'running',
  state: 'starting',
  mode: 'linux'
}
2023-10-12T10:56:08.376Z info   [MENU] Adding items for extensions { newExtensionsAvailable: 0, updatesAvailable: 0 }
2023-10-12T10:56:08.377Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:56:08.378Z info   [SSE] Received: {
  timestamp: 0,
  HasServerTimestamp: false,
  content: '',
  dockerAPI: 'starting',
  docker: 'starting',
  idle: 'running',
  state: 'starting',
  mode: 'linux'
}
2023-10-12T10:56:10.651Z info   [MENU] Adding items for extensions { newExtensionsAvailable: 0, updatesAvailable: 0 }
2023-10-12T10:56:10.653Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:56:10.654Z info   [SSE] Received: {
  timestamp: 0,
  HasServerTimestamp: false,
  content: '',
  dockerAPI: 'starting',
  docker: 'starting',
  idle: 'running',
  state: 'starting',
  mode: 'linux'
}
2023-10-12T10:56:10.668Z info   [MENU] Adding items for extensions { newExtensionsAvailable: 0, updatesAvailable: 0 }
2023-10-12T10:56:10.670Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:56:10.671Z info   [SSE] Received: {
  timestamp: 0,
  HasServerTimestamp: false,
  content: '',
  dockerAPI: 'starting',
  docker: 'starting',
  idle: 'running',
  state: 'starting',
  mode: 'linux'
}
2023-10-12T10:56:13.202Z info   [INDEX] listening for new images
2023-10-12T10:56:13.217Z info   [MENU] Adding items for extensions { newExtensionsAvailable: 0, updatesAvailable: 0 }
2023-10-12T10:56:13.222Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:56:13.223Z info   [SSE] Received: {
  timestamp: 0,
  HasServerTimestamp: false,
  content: '',
  dockerAPI: 'running',
  docker: 'running',
  idle: 'running',
  state: 'running',
  mode: 'linux'
}
2023-10-12T10:56:13.224Z info   [INDEX] listening for new images
2023-10-12T10:56:13.232Z info   [MENU] Adding items for extensions { newExtensionsAvailable: 0, updatesAvailable: 0 }
2023-10-12T10:56:13.237Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:56:13.239Z info   [SSE] Received: {
  timestamp: 0,
  HasServerTimestamp: false,
  content: '',
  dockerAPI: 'running',
  docker: 'running',
  idle: 'running',
  state: 'running',
  mode: 'linux'
}
2023-10-12T10:56:13.249Z info   [HTTP] 200: GET /app/settings
2023-10-12T10:56:13.250Z info   [HTTP] 200: GET /app/settings
2023-10-12T10:56:13.664Z info   [INDEX] listening for new images
2023-10-12T10:56:13.669Z info   [MENU] Adding items for extensions { newExtensionsAvailable: 0, updatesAvailable: 0 }
2023-10-12T10:56:13.672Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false
2023-10-12T10:56:13.673Z info   [SSE] Received: {
  timestamp: 0,
  HasServerTimestamp: false,
  content: '',
  dockerAPI: 'running',
  docker: 'running',
  idle: 'running',
  state: 'running',
  mode: 'linux'
}
2023-10-12T10:56:13.680Z info   [HTTP] 200: GET /app/settings
2023-10-12T10:56:42.898Z info   [SSE] /install/events emitted: true
2023-10-12T10:56:42.903Z info   [MENU] Adding items for extensions { newExtensionsAvailable: 0, updatesAvailable: 0 }
2023-10-12T10:56:42.905Z info   [MENU] Rebuilding with licenseHasBeenAccepted: true and loginRestricted: false

When starting Docker, I can not find any DNS query to sessions.bugsnag.com nor notify.bugsnag.com when having the "send statistics" option turned off. BUT when I open the Docker Desktop window (double-click on tray icon), inside Docker Desktop.exe.stderr.log I get this result:

-------------------------------------------------------------------------------->8
[2023-10-12T11:01:05.059454400Z] [bugsnag][main] TypeError: Wrong argument type, expected string
[2023-10-12T11:01:05.059532900Z]     at EventEmitter.<anonymous> (C:\Program Files\Docker\Docker\frontend\resources\app.asar\build\electron.js:2:167081)
[2023-10-12T11:01:05.059532900Z]     at EventEmitter.emit (node:events:513:28)
[2023-10-12T11:01:05.059532900Z]     at e.setUser (C:\Program Files\Docker\Docker\frontend\resources\app.asar\build\electron.js:2:165563)
[2023-10-12T11:01:05.059532900Z]     at Object.bulkUpdate (C:\Program Files\Docker\Docker\frontend\resources\app.asar\build\electron.js:2:166654)
[2023-10-12T11:01:05.059532900Z]     at e.exports.update (C:\Program Files\Docker\Docker\frontend\resources\app.asar\build\electron.js:2:176085)
[2023-10-12T11:01:05.059532900Z]     at e.exports.resolve (C:\Program Files\Docker\Docker\frontend\resources\app.asar\build\electron.js:2:178272)
[2023-10-12T11:01:05.059532900Z]     at e.exports.handle (C:\Program Files\Docker\Docker\frontend\resources\app.asar\build\electron.js:2:178138)
[2023-10-12T11:01:05.059532900Z]     at node:electron/js2c/browser_init:2:98044
[2023-10-12T11:01:05.059532900Z]     at EventEmitter.<anonymous> (node:electron/js2c/browser_init:2:81557)
[2023-10-12T11:01:05.059532900Z]     at EventEmitter.emit (node:events:513:28)

Not sure if this is part of your internal fixes, or just "a bug" that blocks this DNS-bug to even happen.

EDIT: I am NOT logged in to any account.

mark-dr commented 1 year ago

New build:

https://desktop-stage.docker.com/win/main/amd64/124332/Docker%20Desktop%20Installer.exe

If you still have issues with it, it'd be a huge help if you could:

  1. share any relevant-seeming parts of your logs (see here for file location).
  2. let us know if the problem happens immediately on loading, or only after using the app for a while
  3. let us know if the DNS requests start with notify. or session.

@FibreFoX: Thanks! FWIW the TypeError you showed is a known problem - it's noisy but harmless, and is fixed in our next release (v4.25).

mark-dr commented 1 year ago

@FibreFoX re the usage sharing setting: It was originally introduced to govern behavioural analytics (e.g. A/B testing, finding out how users are using new features, etc), but I agree it's unintuitive that error-related traffic isn't always blocked by it.

We make best efforts to scrub personal information from any reports sent to our error tracking system, regardless of how you've configured Docker Desktop, but I understand (as a privacy conscious user myself) that won't be enough to satisfy all users. I'll dedicate some time to investigating how we can improve there.

FibreFoX commented 1 year ago

@mark-dr I can confirm with build 124332 the DNS-requests still are not happening anymore. Thanks a lot for providing a setup that is not hammering my tiny Raspberry PI running PiHole. ❤️

Regarding the error-related traffic: maybe a better way is to have both as separate settings? I think a lot of devs would love to upload their crash reports, but do not want to be usage-analyzed (plus the regulatory stuff like GDPR).

mark-dr commented 1 year ago

@FibreFoX, you're welcome! We've all gotta keep our Raspberry Pis safe through the shortages :smile: And good suggestion re the specific error reporting setting :+1:

mark-dr commented 1 year ago

We've now released the above fixes in version v4.24.2 of Docker Desktop.

If we don't hear from you all in the next few days, we'll consider this fixed and close this issue. Thanks again for your patience and for helping us get to a resolution here, you're awesome.

FibreFoX commented 1 year ago

Just installed Docker Desktop via Chocolatey, still works 👍 and no bugsnag requests anymore. I hope for the others this works again too ❤️

Ulyssesyi commented 1 year ago

This has fixed at v4.24.2

rjhancock commented 1 year ago

Haven't tested it lately (but 4.24.2 is now installed), but was having a similar issue but not using DNS blocking. On the machine I had the issue with, I'm using Little Snitch and those URLs are on the blocklist. So in my case it already resolved to the IP and was being blocked via name requests.

Another configuration to try.

mark-dr commented 1 year ago

Thanks for the feedback @rjhancock. We think that'll probably be fixed too, but let us know if you see it again.

Closing this as fixed now. Thanks for all your help, folks!