Skip to content

Traefik Bug

Summary

The Traefik logs contain an error, which matches the message captured in this bug report on Github. The issue seems to be fixed in the new version of Traefik.

Context/Logs

Error Log:

time="2020-11-12T08:58:37+01:00" level=error msg="Stack: goroutine 98049 [running]:
github.com/containous/traefik/v2/pkg/middlewares/recovery.recoverFunc(0x2ec3a60, 0xc000d87da0, 0x2eb97e0, 0xc0002fa8c0, 0xc000a53800)
    /go/src/github.com/containous/traefik/pkg/middlewares/recovery/recovery.go:47 +0x1db
panic(0x24c0be0, 0xc00099c270)
    /usr/local/go/src/runtime/panic.go:969 +0x166
github.com/containous/traefik/v2/pkg/middlewares/pipelining.(*writerWithoutCloseNotify).Hijack(0xc000b27510, 0x7fa8856fb9e0, 0xc0009950e0, 0x2eb97a0, 0xc0009950e0, 0x1)
    /go/src/github.com/containous/traefik/pkg/middlewares/pipelining/pipelining.go:69 +0x47
net/http/httputil.(*ReverseProxy).handleUpgradeResponse(0xc0005ec640, 0x2ea76a0, 0xc000b27510, 0xc000a53e00, 0xc000475200)
    /usr/local/go/src/net/http/httputil/reverseproxy.go:530 +0x309
net/http/httputil.(*ReverseProxy).ServeHTTP(0xc0005ec640, 0x2ea76a0, 0xc000b27510, 0xc000a53d00)
    /usr/local/go/src/net/http/httputil/reverseproxy.go:268 +0xf07
github.com/containous/traefik/v2/pkg/middlewares/pipelining.(*pipelining).ServeHTTP(0xc000b7a6d0, 0x2ea7660, 0xc000879f40, 0xc000a53d00)
    /go/src/github.com/containous/traefik/pkg/middlewares/pipelining/pipelining.go:36 +0xe7
github.com/containous/traefik/v2/pkg/middlewares/accesslog.(*FieldHandler).ServeHTTP(0xc000724c40, 0x2ea7660, 0xc000879f40, 0xc000a53d00)
    /go/src/github.com/containous/traefik/pkg/middlewares/accesslog/field_middleware.go:29 +0x18d
github.com/vulcand/oxy/roundrobin.(*RoundRobin).ServeHTTP(0xc00025ebd0, 0x2ea7660, 0xc000879f40, 0xc000a53c00)
    /go/pkg/mod/github.com/vulcand/oxy@v1.1.0/roundrobin/rr.go:147 +0x13d
github.com/containous/traefik/v2/pkg/middlewares/emptybackendhandler.(*emptyBackend).ServeHTTP(0xc000b7a700, 0x2ea7660, 0xc000879f40, 0xc000a53c00)
    /go/src/github.com/containous/traefik/pkg/middlewares/emptybackendhandler/empty_backend_handler.go:31 +0x168
github.com/containous/traefik/v2/pkg/middlewares/tracing.(*forwarderMiddleware).ServeHTTP(0xc0006598f0, 0x2ea7660, 0xc000879f40, 0xc000a53c00)
    /go/src/github.com/containous/traefik/pkg/middlewares/tracing/forwarder.go:38 +0x609
github.com/containous/traefik/v2/pkg/middlewares/headers.secureHeader.ServeHTTP.func1(0x2ea7660, 0xc000879ef0, 0xc000a53c00)
    /go/src/github.com/containous/traefik/pkg/middlewares/headers/secure.go:52 +0xea
github.com/unrolled/secure.(*Secure).HandlerFuncWithNextForRequestOnly(0xc000541b80, 0x2ea7660, 0xc000879ef0, 0xc000a53b00, 0xc000f08a80)
    /go/pkg/mod/github.com/unrolled/secure@v1.0.7/secure.go:228 +0x201
github.com/containous/traefik/v2/pkg/middlewares/headers.secureHeader.ServeHTTP(0x2e5a460, 0xc0006598f0, 0xc000541b80, 0xc0007d7860, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
    /go/src/github.com/containous/traefik/pkg/middlewares/headers/secure.go:51 +0x7a
github.com/containous/traefik/v2/pkg/middlewares/headers.(*Header).ServeHTTP(0xc00083dd80, 0x2ea7660, 0xc000879ea0, 0xc000a53b00)
    /go/src/github.com/containous/traefik/pkg/middlewares/headers/header.go:51 +0x133
github.com/containous/traefik/v2/pkg/middlewares/headers.(*headers).ServeHTTP(0xc00083dda0, 0x2ea7660, 0xc000879ea0, 0xc000a53b00)
    /go/src/github.com/containous/traefik/pkg/middlewares/headers/headers.go:75 +0x52
github.com/containous/traefik/v2/pkg/middlewares/tracing.(*Wrapper).ServeHTTP(0xc000659c50, 0x2ea7660, 0xc000879ea0, 0xc000a53b00)
    /go/src/github.com/containous/traefik/pkg/middlewares/tracing/wrapper.go:57 +0x16a
github.com/containous/traefik/v2/pkg/middlewares/headers.secureHeader.ServeHTTP.func1(0x2eb97e0, 0xc0002fa8c0, 0xc000a53b00)
    /go/src/github.com/containous/traefik/pkg/middlewares/headers/secure.go:52 +0xea
github.com/unrolled/secure.(*Secure).HandlerFuncWithNextForRequestOnly(0xc000541e00, 0x2eb97e0, 0xc0002fa8c0, 0xc000a53a00, 0xc000f08fc8)
    /go/pkg/mod/github.com/unrolled/secure@v1.0.7/secure.go:228 +0x201
github.com/containous/traefik/v2/pkg/middlewares/headers.secureHeader.ServeHTTP(0x2e5a420, 0xc000659c50, 0xc000541e00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
    /go/src/github.com/containous/traefik/pkg/middlewares/headers/secure.go:51 +0x7a
github.com/containous/traefik/v2/pkg/middlewares/headers.(*headers).ServeHTTP(0xc00083de20, 0x2eb97e0, 0xc0002fa8c0, 0xc000a53a00)
    /go/src/github.com/containous/traefik/pkg/middlewares/headers/headers.go:75 +0x52
github.com/containous/traefik/v2/pkg/middlewares/tracing.(*Wrapper).ServeHTTP(0xc000659e30, 0x2eb97e0, 0xc0002fa8c0, 0xc000a53a00)
    /go/src/github.com/containous/traefik/pkg/middlewares/tracing/wrapper.go:57 +0x16a
github.com/containous/traefik/v2/pkg/middlewares/accesslog.(*FieldHandler).ServeHTTP(0xc000724c80, 0x2eb97e0, 0xc0002fa8c0, 0xc000a53a00)
    /go/src/github.com/containous/traefik/pkg/middlewares/accesslog/field_middleware.go:29 +0x18d
github.com/gorilla/mux.(*Router).ServeHTTP(0xc000b96d80, 0x2eb97e0, 0xc0002fa8c0, 0xc000a53800)
    /go/pkg/mod/github.com/containous/mux@v0.0.0-20181024131434-c33f32e26898/mux.go:133 +0x112
github.com/containous/traefik/v2/pkg/middlewares/recovery.(*recovery).ServeHTTP(0xc000b02da0, 0x2eb97e0, 0xc0002fa8c0, 0xc000a53800)
    /go/src/github.com/containous/traefik/pkg/middlewares/recovery/recovery.go:33 +0x104
github.com/containous/traefik/v2/pkg/middlewares/accesslog.(*FieldHandler).ServeHTTP(0xc000725300, 0x2eb97e0, 0xc0002fa8c0, 0xc000a53800)
    /go/src/github.com/containous/traefik/pkg/middlewares/accesslog/field_middleware.go:29 +0x18d
github.com/containous/traefik/v2/pkg/middlewares/requestdecorator.(*RequestDecorator).ServeHTTP(0xc0003e6ee8, 0x2eb97e0, 0xc0002fa8c0, 0xc000a53700, 0xc000f09768)
    /go/src/github.com/containous/traefik/pkg/middlewares/requestdecorator/request_decorator.go:47 +0x37d
github.com/containous/traefik/v2/pkg/middlewares/requestdecorator.WrapHandler.func1.1(0x2eb97e0, 0xc0002fa8c0, 0xc000a53700)
    /go/src/github.com/containous/traefik/pkg/middlewares/requestdecorator/request_decorator.go:84 +0x83
net/http.HandlerFunc.ServeHTTP(0xc000b03340, 0x2eb97e0, 0xc0002fa8c0, 0xc000a53700)
    /usr/local/go/src/net/http/server.go:2041 +0x44
github.com/containous/traefik/v2/pkg/server/router/tcp.(*Manager).buildEntryPointHandler.func1(0x2eb97e0, 0xc0002fa8c0, 0xc000a53700)
    /go/src/github.com/containous/traefik/pkg/server/router/tcp/router.go:194 +0x16f
net/http.HandlerFunc.ServeHTTP(0xc000b03760, 0x2eb97e0, 0xc0002fa8c0, 0xc000a53700)
    /usr/local/go/src/net/http/server.go:2041 +0x44
github.com/containous/traefik/v2/pkg/middlewares.(*HTTPHandlerSwitcher).ServeHTTP(0xc0003e6ea8, 0x2eb97e0, 0xc0002fa8c0, 0xc000a53700)
    /go/src/github.com/containous/traefik/pkg/middlewares/handler_switcher.go:23 +0x70
github.com/containous/traefik/v2/pkg/middlewares/forwardedheaders.(*XForwarded).ServeHTTP(0xc000626410, 0x2eb97e0, 0xc0002fa8c0, 0xc000a53700)
    /go/src/github.com/containous/traefik/pkg/middlewares/forwardedheaders/forwarded_header.go:173 +0x10b
net/http.serverHandler.ServeHTTP(0xc0002fa1c0, 0x2eb97e0, 0xc0002fa8c0, 0xc000a53700)
    /usr/local/go/src/net/http/server.go:2836 +0xa3
net/http.(*conn).serve(0xc000a26320, 0x2ec39a0, 0xc0002539c0)
    /usr/local/go/src/net/http/server.go:1924 +0x86c
created by net/http.(*Server).Serve
    /usr/local/go/src/net/http/server.go:2962 +0x35c
" middlewareName=traefik-internal-recovery middlewareType=Recovery

Possible Solution

Deploy the new Traefik version 2.3.2.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information