Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

reverseproxy.go:490: suppressing panic for copyResponse error in test; #8927

Closed
2 tasks done
nodje opened this issue Apr 7, 2022 · 15 comments
Closed
2 tasks done

reverseproxy.go:490: suppressing panic for copyResponse error in test; #8927

nodje opened this issue Apr 7, 2022 · 15 comments
Labels
area/server kind/bug/possible a possible bug that needs analysis before it is confirmed or fixed. status/5-frozen-due-to-age
Milestone

Comments

@nodje
Copy link

nodje commented Apr 7, 2022

Welcome!

  • Yes, I've searched similar issues on GitHub and didn't find any.
  • Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?

After upgrading to latest 2.6.3 (could be unrelated, but it's the first time I notice this error), I found these errors in the logs:

time="2022-04-06T17:46:34+02:00" level=info msg="Configuration loaded from flags."
2022/04/06 21:08:46 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 296 canceled with error code 268
2022/04/06 21:08:46 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 304 canceled with error code 268

17:46 Apr6 was when I restarted Traefik last time.
On that same day at night this happened.
It's a low usage instance, with few users only

Potentially, a movie was being streamed at the time (Jellyfin instance) but that's only a wild guess at what could have caused this. I don't even even understand how demanding streaming can be on a reverse proxy.

What did you see instead?

See

What version of Traefik are you using?

2.6.3

What is your environment & configuration?

services:
  traefik:
    image: traefik:v2.6.3
    restart: always
    container_name: "traefik"
    command:
      - --log.filePath=/var/log/traefik.log
      - --log.level=INFO
      - --api.dashboard=true
      - --api.insecure=true
      #      - --api.debug=true
      - --providers.docker=true
      - --providers.docker.endpoint=unix:///var/run/docker.sock
      - --providers.docker.exposedByDefault=false
      - --providers.docker.network=default
      # enable ping healthcheck available at /ping
      - --ping=true
      - --ping.manualrouting=true
      - --providers.file.filename=rules.yml
      - --providers.file.directory=configs
      - --providers.file.watch=true
      # experimental http3
      - --experimental.http3=true
      - --entrypoints.web.address=:80
      - --entrypoints.websecure.address=:443
      - --entrypoints.websecure.http3=true
      - --entrypoints.websecure.http3.advertisedport=443
      - --entryPoints.minecraftudp.address=:25565/udp
      - --entryPoints.minecrafttcp.address=:25565/tcp
      - --entrypoints.web.http.redirections.entryPoint.to=websecure
      - --entrypoints.web.http.redirections.entryPoint.scheme=https
      - --entrypoints.websecure.http.tls.certResolver=le
      - --entrypoints.ssh-alt.address=:2222
      #- --entrypoints.53tcp.address=:53
      #- --entrypoints.53udp.address=:53/udp
      - --entrypoints.vaultwarden-ws.address=:3012
      - --certificatesresolvers.le.acme.dnsChallenge=true
      - --certificatesresolvers.le.acme.dnschallenge.provider=cloudflare
      - --certificatesresolvers.le.acme.storage=/letsencrypt/acme.json
      - --certificatesresolvers.legandi.acme.dnsChallenge=true
      - --certificatesresolvers.legandi.acme.dnschallenge.provider=gandiv5
      - --certificatesresolvers.legandi.acme.storage=/letsencrypt/acme_gandi.json
      # access log section
      - --accesslog=true
      - --accesslog.filepath=/var/log/access.log
      - --accesslog.bufferingsize=10
      - --accesslog.fields.names.StartUTC=drop
    network_mode: host
    #    ports:
    #      - "80:80"
    #      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - $PWD/rules.yml:/configs/rules.yml
      - $PWD/usersfile:/configs/usersfile
      - $PWD/traefik_tls.yml:/configs/traefik_tls.yml
      - /mnt/data/traefik-letsencrypt:/letsencrypt
      - /mnt/data/traefik/log:/var/log
    labels:
      # Dashboard
      traefik.enable: true
      traefik.http.middlewares.secure-headers.headers.sslredirect: "true"
      traefik.http.middlewares.secure-headers.headers.framedeny: "true"
      traefik.http.middlewares.secure-headers.headers.stsincludesubdomains: "true"
      traefik.http.middlewares.secure-headers.headers.stspreload: "true"
      traefik.http.middlewares.secure-headers.headers.stsseconds: "63072000"
      traefik.http.middlewares.secure-headers.headers.contenttypenosniff: "true"
      traefik.http.middlewares.secure-headers.headers.accesscontrolallowmethods: "GET,POST"
      traefik.http.middlewares.secure-headers.headers.accesscontrolalloworiginlist: "*"
      traefik.http.middlewares.secure-headers.headers.accesscontrolmaxage: "100"
      traefik.http.middlewares.secure-headers.headers.addvaryheader: "true"
      traefik.http.middlewares.secure-headers.headers.contentsecuritypolicy: "script-src 'self'"
      traefik.http.middlewares.secure-headers.headers.referrerpolicy: "horigin-when-cross-origin"
      # end

If applicable, please paste the log output in DEBUG level

time="2022-04-06T17:46:34+02:00" level=info msg="Configuration loaded from flags."
2022/04/06 21:08:46 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 296 canceled with error code 268
2022/04/06 21:08:46 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 304 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 308 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 320 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 324 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 328 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 336 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 344 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 356 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 360 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 364 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 368 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 372 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 392 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 396 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 400 canceled with error code 268
2022/04/06 21:08:47 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 404 canceled with error code 268
2022/04/06 21:08:48 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 416 canceled with error code 268
2022/04/06 21:08:48 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 420 canceled with error code 268
2022/04/06 21:10:31 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 440 canceled with error code 268
2022/04/06 21:10:31 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 504 canceled with error code 268
2022/04/06 21:10:31 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 508 canceled with error code 268
2022/04/06 21:10:31 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 516 canceled with error code 268
2022/04/06 21:10:31 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 520 canceled with error code 268
2022/04/06 21:10:45 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 528 canceled with error code 268
2022/04/06 21:11:41 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 816 canceled with error code 268
2022/04/06 21:11:41 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 820 canceled with error code 268
2022/04/06 21:11:41 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 840 canceled with error code 268
2022/04/06 21:11:41 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 844 canceled with error code 268
2022/04/06 21:11:41 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 848 canceled with error code 268
2022/04/06 21:12:03 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 856 canceled with error code 268
2022/04/06 21:12:27 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 888 canceled with error code 268
2022/04/06 21:14:58 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 892 canceled with error code 268
2022/04/06 21:14:58 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 956 canceled with error code 268
2022/04/06 21:14:58 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 960 canceled with error code 268
2022/04/06 21:14:58 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 964 canceled with error code 268
2022/04/06 21:14:58 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 968 canceled with error code 268
2022/04/06 21:14:58 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 976 canceled with error code 268
2022/04/06 21:14:58 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 984 canceled with error code 268
2022/04/06 21:15:01 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 992 canceled with error code 268
2022/04/06 21:15:03 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 996 canceled with error code 268
2022/04/06 21:15:03 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1004 canceled with error code 268
2022/04/06 21:15:03 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1008 canceled with error code 268
2022/04/06 21:15:04 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1016 canceled with error code 268
2022/04/06 21:15:04 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1020 canceled with error code 268
2022/04/06 21:15:04 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1028 canceled with error code 268
2022/04/06 21:15:04 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1032 canceled with error code 268
2022/04/06 21:15:04 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1044 canceled with error code 268
2022/04/06 21:15:04 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1048 canceled with error code 268
2022/04/06 21:15:06 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1056 canceled with error code 268
2022/04/06 21:15:06 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1064 canceled with error code 268
2022/04/06 21:15:06 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1068 canceled with error code 268
2022/04/06 21:15:06 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1076 canceled with error code 268
2022/04/06 21:15:06 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1084 canceled with error code 268
2022/04/06 21:15:06 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1088 canceled with error code 268
2022/04/06 21:15:07 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1092 canceled with error code 268
2022/04/06 21:15:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1100 canceled with error code 268
2022/04/06 21:15:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1104 canceled with error code 268
2022/04/06 21:15:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1108 canceled with error code 268
2022/04/06 21:15:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1112 canceled with error code 268
2022/04/06 21:15:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1124 canceled with error code 268
2022/04/06 21:15:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1128 canceled with error code 268
2022/04/06 21:15:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1136 canceled with error code 268
2022/04/06 21:15:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1140 canceled with error code 268
2022/04/06 21:15:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1148 canceled with error code 268
2022/04/06 21:15:09 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1156 canceled with error code 268
2022/04/06 21:15:14 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1164 canceled with error code 268
2022/04/06 21:15:19 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1184 canceled with error code 268
2022/04/06 21:15:19 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1188 canceled with error code 268
2022/04/06 21:15:23 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1196 canceled with error code 268
2022/04/06 21:15:23 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1204 canceled with error code 268
2022/04/06 21:15:23 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1208 canceled with error code 268
2022/04/06 21:15:24 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1212 canceled with error code 268
2022/04/06 21:15:24 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1228 canceled with error code 268
2022/04/06 21:15:24 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1236 canceled with error code 268
2022/04/06 21:15:24 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1240 canceled with error code 268
2022/04/06 21:15:24 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1244 canceled with error code 268
2022/04/06 21:15:24 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1248 canceled with error code 268
2022/04/06 21:15:24 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1252 canceled with error code 268
2022/04/06 21:15:48 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1272 canceled with error code 268
2022/04/06 21:15:48 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1276 canceled with error code 268
2022/04/06 21:15:48 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1280 canceled with error code 268
2022/04/06 21:15:48 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1284 canceled with error code 268
2022/04/06 21:15:48 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1292 canceled with error code 268
2022/04/06 21:15:48 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1300 canceled with error code 268
2022/04/06 21:16:22 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1312 canceled with error code 268
2022/04/06 21:25:31 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1600 canceled with error code 268
2022/04/06 21:27:00 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1608 canceled with error code 268
2022/04/06 21:27:07 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1776 canceled with error code 268
2022/04/06 21:27:07 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1788 canceled with error code 268
2022/04/06 21:27:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1792 canceled with error code 268
2022/04/06 21:27:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1804 canceled with error code 268
2022/04/06 21:27:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1808 canceled with error code 268
2022/04/06 21:27:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1812 canceled with error code 268
2022/04/06 21:27:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1820 canceled with error code 268
2022/04/06 21:27:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1832 canceled with error code 268
2022/04/06 21:27:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1836 canceled with error code 268
2022/04/06 21:27:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1848 canceled with error code 268
2022/04/06 21:27:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1852 canceled with error code 268
2022/04/06 21:27:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1856 canceled with error code 268
2022/04/06 21:27:08 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1860 canceled with error code 268
2022/04/06 21:27:09 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1868 canceled with error code 268
2022/04/06 21:27:09 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1872 canceled with error code 268
2022/04/06 21:27:09 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1880 canceled with error code 268
2022/04/06 21:27:09 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1884 canceled with error code 268
2022/04/06 21:27:09 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1888 canceled with error code 268
2022/04/06 21:27:09 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1892 canceled with error code 268
2022/04/06 21:27:09 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1900 canceled with error code 268
2022/04/06 21:27:49 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1908 canceled with error code 268
2022/04/06 21:27:50 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1968 canceled with error code 268
2022/04/06 21:27:50 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1972 canceled with error code 268
2022/04/06 21:27:51 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1984 canceled with error code 268
2022/04/06 21:27:51 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1988 canceled with error code 268
2022/04/06 21:27:51 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 1992 canceled with error code 268
2022/04/06 21:27:51 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2000 canceled with error code 268
2022/04/06 21:27:51 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2004 canceled with error code 268
2022/04/06 21:27:51 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2008 canceled with error code 268
2022/04/06 21:27:51 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2032 canceled with error code 268
2022/04/06 21:28:26 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2072 canceled with error code 268
2022/04/06 21:28:27 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2080 canceled with error code 268
2022/04/06 21:28:27 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2084 canceled with error code 268
2022/04/06 21:28:27 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2112 canceled with error code 268
2022/04/06 21:28:27 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2116 canceled with error code 268
2022/04/06 21:28:27 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2120 canceled with error code 268
2022/04/06 21:28:27 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2144 canceled with error code 268
2022/04/06 21:28:27 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2164 canceled with error code 268
2022/04/06 21:28:37 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2180 canceled with error code 268
2022/04/06 21:28:38 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2184 canceled with error code 268
2022/04/06 21:28:38 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2188 canceled with error code 268
2022/04/06 21:28:38 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2192 canceled with error code 268
2022/04/06 21:28:38 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2208 canceled with error code 268
2022/04/06 21:28:38 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2212 canceled with error code 268
2022/04/06 21:28:38 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2228 canceled with error code 268
2022/04/06 21:28:38 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2232 canceled with error code 268
2022/04/06 21:28:38 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2236 canceled with error code 268
2022/04/06 21:28:38 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2244 canceled with error code 268
2022/04/06 21:28:38 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2248 canceled with error code 268
2022/04/06 21:28:38 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2252 canceled with error code 268
2022/04/06 21:28:38 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2256 canceled with error code 268
2022/04/06 21:28:39 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2264 canceled with error code 268
2022/04/06 21:28:39 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2268 canceled with error code 268
2022/04/06 21:28:39 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2272 canceled with error code 268
2022/04/06 21:28:39 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2276 canceled with error code 268
2022/04/06 21:28:39 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2280 canceled with error code 268
2022/04/06 21:28:39 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2284 canceled with error code 268
2022/04/06 21:28:39 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2292 canceled with error code 268
2022/04/06 21:28:39 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2300 canceled with error code 268
2022/04/06 21:28:39 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2308 canceled with error code 268
2022/04/06 21:29:03 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2316 canceled with error code 268
2022/04/06 21:36:51 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2532 canceled with error code 268
2022/04/06 21:36:51 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2536 canceled with error code 268
2022/04/06 21:36:52 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2544 canceled with error code 268
2022/04/06 21:36:52 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2548 canceled with error code 268
2022/04/06 21:36:52 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2552 canceled with error code 268
2022/04/06 21:36:52 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2564 canceled with error code 268
2022/04/06 21:36:52 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2568 canceled with error code 268
2022/04/06 21:36:53 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2572 canceled with error code 268
2022/04/06 21:36:53 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2600 canceled with error code 268
2022/04/06 21:36:53 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2604 canceled with error code 268
2022/04/06 21:36:53 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2620 canceled with error code 268
2022/04/06 21:36:53 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2624 canceled with error code 268
2022/04/06 21:36:53 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2632 canceled with error code 268
2022/04/06 21:36:53 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2636 canceled with error code 268
2022/04/06 21:36:53 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2644 canceled with error code 268
2022/04/06 21:36:53 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2648 canceled with error code 268
2022/04/06 21:37:52 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2656 canceled with error code 268
2022/04/06 21:38:01 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2788 canceled with error code 268
2022/04/06 21:38:01 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2792 canceled with error code 268
2022/04/06 21:38:01 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2796 canceled with error code 268
2022/04/06 21:38:01 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2804 canceled with error code 268
2022/04/06 21:38:02 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2820 canceled with error code 268
2022/04/06 21:38:02 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2824 canceled with error code 268
2022/04/06 21:38:02 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2828 canceled with error code 268
2022/04/06 21:38:02 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2832 canceled with error code 268
2022/04/06 21:38:02 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2836 canceled with error code 268
2022/04/06 21:38:02 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2844 canceled with error code 268
2022/04/06 21:38:02 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2848 canceled with error code 268
2022/04/06 21:38:02 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: context canceled
2022/04/06 21:38:24 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2860 canceled with error code 268
2022/04/06 21:38:53 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2900 canceled with error code 268
2022/04/06 21:38:54 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2908 canceled with error code 268
2022/04/06 21:38:54 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2912 canceled with error code 268
2022/04/06 21:38:54 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2916 canceled with error code 268
2022/04/06 21:38:54 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2936 canceled with error code 268
2022/04/06 21:38:54 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2940 canceled with error code 268
2022/04/06 21:38:54 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2964 canceled with error code 268
2022/04/06 21:38:54 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2984 canceled with error code 268
2022/04/06 21:39:07 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 3000 canceled with error code 268
@nodje nodje changed the title reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 2836 canceled with error code 268 reverseproxy.go:490: suppressing panic for copyResponse error in test; Apr 7, 2022
@nodje
Copy link
Author

nodje commented Apr 8, 2022

More of it the next day, ending in a Application error 0x100

2022/04/07 21:17:10 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 252 canceled with error code 268
2022/04/07 21:17:12 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 260 canceled with error code 268
2022/04/07 21:17:12 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 292 canceled with error code 268
2022/04/07 21:17:12 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 296 canceled with error code 268
2022/04/07 21:17:15 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 300 canceled with error code 268
2022/04/07 21:17:15 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 316 canceled with error code 268
2022/04/07 21:17:15 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 320 canceled with error code 268
2022/04/07 21:17:20 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 324 canceled with error code 268
2022/04/07 21:17:20 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 352 canceled with error code 268
2022/04/07 21:17:33 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 356 canceled with error code 268
2022/04/07 21:38:07 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 3540 canceled with error code 268
2022/04/07 21:40:23 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 24 canceled with error code 268
2022/04/07 21:40:25 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 32 canceled with error code 268
2022/04/07 21:40:25 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 48 canceled with error code 268
2022/04/07 21:40:31 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 52 canceled with error code 268
2022/04/07 21:40:31 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: context canceled
2022/04/07 21:40:31 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 68 canceled with error code 268
2022/04/07 21:40:44 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 72 canceled with error code 268
2022/04/07 21:40:53 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 92 canceled with error code 268
2022/04/07 21:41:02 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 104 canceled with error code 268
2022/04/07 21:41:03 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 116 canceled with error code 268
2022/04/07 21:41:04 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 128 canceled with error code 268
2022/04/07 21:41:04 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 136 canceled with error code 268
2022/04/07 21:41:12 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 140 canceled with error code 268
2022/04/07 21:41:21 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 160 canceled with error code 268
2022/04/07 21:41:21 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 172 canceled with error code 268
2022/04/07 21:41:21 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 176 canceled with error code 268
2022/04/07 21:41:27 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 180 canceled with error code 268
2022/04/07 22:19:54 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 556 canceled with error code 268
2022/04/07 22:26:15 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 236 canceled with error code 268
2022/04/07 22:27:03 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: stream 708 canceled with error code 268
2022/04/07 23:48:31 reverseproxy.go:490: suppressing panic for copyResponse error in test; copy error: Application error 0x100

I'm going to activate debug log.level, hopefully the pattern will reproduce and more clues will come out of it.

@nodje
Copy link
Author

nodje commented Apr 8, 2022

For some reason these messages don't show in the tarefik.log, only through docker logs -f traefik
I'm a bit lost here, I have:

--log.filePath=/var/log/traefik.log
volumes:
      - /mnt/data/traefik/log:/var/log

I assume docker logs output and the content of /mnt/data/traefik/log/traefik.log should be the same.

The message level=info msg="Configuration loaded from flags." I have each time I restart traefik container and docker logs it doesn't even show up in traefik.log

@mpl mpl added kind/bug/possible a possible bug that needs analysis before it is confirmed or fixed. area/logs area/server and removed status/0-needs-triage area/logs labels Apr 8, 2022
@niallnsec
Copy link
Contributor

This issue is still present in the 2.8 branch of Traefik and appears to be related to the Go standard library implementation of the reverse proxy.

It comes from here: https://cs.opensource.google/go/go/+/master:src/net/http/httputil/reverseproxy.go;l=495
Inside of the httputil.ReverseProxy ServeHTTP method. The log message is printed when there is a response streaming error. The correct behaviour would be for the handler to panic and for the wrapper around it to handle the panic appropriately. It does behave this way when the proxy is used as part of the standard libraries http server, but for other code it defaults to the Go 1.10 behaviour and does not panic, instead logging an error.

This error is spammed to the stdout only because the reverse proxy is invoking Go's default log package to report the error. There are several ways I can imagine that this issue could be fixed:

  1. Go's default logger could be configured to discard or write to the standard log.
  2. The logger could be set for the ReverseProxy object so that the message is not sent to the default Go logger.
  3. Traefik could pass a context object to the ReverseProxy handler which has a non-nil object set with the key http.ServerContextKey and handle the panic with error http.ErrAbortHandler gracefully.

Personally I think option 3 is preferable as it mimics the behaviour of the standard library and allows Traefik to react to a request streaming error and output a properly formatted log message. Looking through the code for httputil, setting a context value for http.ServerContextKey should not cause an issue, but that would need to be tested in case there is some upstream issue in a chained handler or something.

@nodje
Copy link
Author

nodje commented Sep 5, 2022

good job @niallnsec
Hope someone at traefik will pick this up and implement you solutions.

Could you elaborate on what you said here:

The log message is printed when there is a response streaming error.
Are we talking HTTP Status code here? What is a response streaming error? What form does it take?

AFAIUm, it's a downstreajm system responding a streaming error, and Traefik should know better on how to catch and log that rather than letting the underlying Go httputil log directly to stdout? Correct?

@mpl mpl self-assigned this Sep 6, 2022
@mpl
Copy link
Collaborator

mpl commented Sep 15, 2022

Hello @nodje , @niallnsec ,

I have been able to reproduce an equivalent situation by making a backend dying right in the middle of it writing its response.

However, from what I can see (I sprinkled some debugs both in traefik and in the stdlib), everything seems to behave as it should, i.e.:

  • the context in the request (outReq at https://github.com/traefik/traefik/blob/master/pkg/server/service/proxy.go#L39) does contain http.ServerContextKey
  • which means the stdlib ReverseProxy does panic with http.ErrAbortHandler when it sees an error on p.copyResponse
  • which in turn is caught by the internal Recovery middleware of traefik:
    DEBU[2022-09-15T17:29:25+02:00] Request has been aborted [[::1]:53881 - /]: net/http: abort Handler middlewareType=Recovery middlewareName=traefik-internal-recovery

So at the moment I'm puzzled as to why you're not seeing them same behaviour. I was running traefik directly from the binary, built on master at 703de53
I'll retry with latest 2.8 just to be sure, but I doubt it will make a difference.
Similarly, I don't see why you running it in docker would make any difference either.

WDYT?

Edit: I can confirm that I observe the same behaviour as described above with traefik v2.8 @ 1c9a7b8

@niallnsec
Copy link
Contributor

Hi @mpl

I have been trying to build a test container I can run in order to try and get a stack trace to share, I made a small modification to the traefik main function below as a rough debug measure:

type traceWriter struct {
}

func (t traceWriter) Write(p []byte) (n int, err error) {
	debug.PrintStack()
	return os.Stderr.Write(p)
}

var _ io.Writer = traceWriter{}

func main() {
	stdlog.Default().SetOutput(traceWriter{})

However, no matter what I do I cannot get a traefik container to build on my system. I suspect it has something to do with the fact that I am using buildx and am on an Apple M1 processor. I am deploying traefik into an x86 environment though. Would you be able to help with building a test container? If so I can deploy it and get some more info.

@kevinpollet
Copy link
Member

kevinpollet commented Oct 5, 2022

Hi @niallnsec

However, no matter what I do I cannot get a traefik container to build on my system. I suspect it has something to do with the fact that I am using buildx and am on an Apple M1 processor. I am deploying traefik into an x86 environment though. Would you be able to help with building a test container? If so I can deploy it and get some more info.

To build a Traefik container for amd64, you should use the following command: DOCKER_DEFAULT_PLATFORM=linux/amd64 make build-image.

@traefiker
Copy link
Contributor

Hi! I'm Træfiker 🤖 the bot in charge of tidying up the issues.

I have to close this one because of its lack of activity 😞

Feel free to re-open it or join our Community Forum.

@nodje
Copy link
Author

nodje commented Dec 5, 2022

I don't think the issue is solved. I'm not sure how to re-open the issue.

@tfny
Copy link
Contributor

tfny commented Dec 6, 2022

Hey @nodje, I have reopened the issue for you.

We have not been able to reproduce this bug in our environment and it looks like time to get more eyes on it. If any community member can help us find verify steps to reproduce, we would love the help.

@jonerrr
Copy link

jonerrr commented Jan 7, 2023

Hello, I've been receiving the same error with traefik v2.9.6 and I'm also running a media server (Plex). I'm going to try and create steps to reproduce the error.

2023/01/07 20:21:55 reverseproxy.go:505: suppressing panic for copyResponse error in test; copy error: stream 152 canceled with error code 268
2023/01/07 20:21:55 reverseproxy.go:505: suppressing panic for copyResponse error in test; copy error: stream 176 canceled with error code 268
2023/01/07 20:21:55 reverseproxy.go:505: suppressing panic for copyResponse error in test; copy error: stream 184 canceled with error code 268
2023/01/07 20:21:55 reverseproxy.go:505: suppressing panic for copyResponse error in test; copy error: stream 164 canceled with error code 268
2023/01/07 20:21:55 reverseproxy.go:505: suppressing panic for copyResponse error in test; copy error: stream 144 canceled with error code 268
2023/01/07 20:21:55 reverseproxy.go:505: suppressing panic for copyResponse error in test; copy error: stream 136 canceled with error code 268

@kamikaze
Copy link

kamikaze commented Feb 20, 2023

Getting same errors, (2.9.6 and 2.9.7). These are the errors I have in logs after the upgrade to 2.9.7:

2023/02/20 21:52:08 packet_handler_map.go:118: failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 2048 kiB, got: 416 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Receive-Buffer-Size for details.

2023/02/20 22:13:54 reverseproxy.go:505: suppressing panic for copyResponse error in test; copy error: stream 12 canceled by remote with error code 268

2023/02/20 22:13:54 reverseproxy.go:505: suppressing panic for copyResponse error in test; copy error: stream 16 canceled by remote with error code 268

2023/02/20 22:13:54 reverseproxy.go:505: suppressing panic for copyResponse error in test; copy error: stream 20 canceled by remote with error code 268

2023/02/20 22:13:54 reverseproxy.go:505: suppressing panic for copyResponse error in test; copy error: stream 36 canceled by remote with error code 268

2023/02/20 22:13:54 reverseproxy.go:505: suppressing panic for copyResponse error in test; copy error: stream 40 canceled by remote with error code 268

Just tried to reach my backend and got 502 Bad Gateway

@bt90
Copy link

bt90 commented Aug 21, 2023

@tfny it's caused by quic-go and also happens in caddy

Current assessment by @marten-seemann in caddyserver/caddy#5766 (comment)

upstream issue: quic-go/quic-go#3737

@nmengin
Copy link
Contributor

nmengin commented Aug 21, 2023

Hey @bt90,

Thank you for the information.

We'll follow the PR that should fix the issue.
We'll update the dependency to quic-go, and this issue, once a new version with the fix will be released.

Thus you'll be able to test it.

@traefiker traefiker added this to the 2.10 milestone Sep 25, 2023
@traefiker
Copy link
Contributor

Closed by #10137.

@traefik traefik locked and limited conversation to collaborators Oct 26, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area/server kind/bug/possible a possible bug that needs analysis before it is confirmed or fixed. status/5-frozen-due-to-age
Projects
None yet
Development

No branches or pull requests