harbor: login panic when using elastic cache instead of internal redis
Expected behavior and actual behavior:
Sometimes, I use admin user login, the core service panic. (I set auth mode to ldap) Login success after I try several times.
Versions:
- harbor version: [1.9.2]
- docker engine version: [18.09.3]
- docker-compose version: [z.z.z]
In kubernetes.
Additional context:
core service log:
2019-11-12T08:17:29Z [DEBUG] [/core/filter/security.go:227]: OIDC CLI modifier only handles request by docker CLI or helm CLI
2019-11-12T08:17:29Z [DEBUG] [/core/filter/security.go:442]: can not get user information from session
2019-11-12T08:17:29Z [DEBUG] [/core/filter/security.go:497]: user information is nil
2019-11-12T08:17:29Z [DEBUG] [/core/filter/security.go:511]: using local database project manager
2019-11-12T08:17:29Z [DEBUG] [/core/filter/security.go:513]: creating local database security context...
2019-11-12T08:17:29Z [DEBUG] [/common/dao/user.go:277]: Check if user admin is super user
2019-11-12T08:17:29Z [DEBUG] [/core/auth/authenticator.go:139]: Current AUTH_MODE is db_auth
2019/11/12 08:17:29 [C] [panic.go:522] the request url is /c/login
2019/11/12 08:17:29 [C] [panic.go:522] Handler crashed with error runtime error: invalid memory address or nil pointer dereference
2019/11/12 08:17:29 [C] [panic.go:522] /usr/local/go/src/runtime/panic.go:522
2019/11/12 08:17:29 [C] [panic.go:522] /usr/local/go/src/runtime/panic.go:82
2019/11/12 08:17:29 [C] [panic.go:522] /usr/local/go/src/runtime/signal_unix.go:390
2019/11/12 08:17:29 [C] [panic.go:522] /harbor/src/vendor/github.com/astaxie/beego/controller.go:579
2019/11/12 08:17:29 [C] [panic.go:522] /harbor/src/core/api/base.go:180
2019/11/12 08:17:29 [C] [panic.go:522] /harbor/src/core/controllers/base.go:117
2019/11/12 08:17:29 [C] [panic.go:522] /usr/local/go/src/reflect/value.go:447
2019/11/12 08:17:29 [C] [panic.go:522] /usr/local/go/src/reflect/value.go:308
2019/11/12 08:17:29 [C] [panic.go:522] /harbor/src/vendor/github.com/astaxie/beego/router.go:815
2019/11/12 08:17:29 [C] [panic.go:522] /usr/local/go/src/net/http/server.go:2774
2019/11/12 08:17:29 [C] [panic.go:522] /usr/local/go/src/net/http/server.go:1878
2019/11/12 08:17:29 [C] [panic.go:522] /usr/local/go/src/runtime/asm_amd64.s:1337
2019-11-12T08:17:30Z [DEBUG] [/core/filter/security.go:227]: OIDC CLI modifier only handles request by docker CLI or helm CLI
2019-11-12T08:17:30Z [DEBUG] [/core/filter/security.go:442]: can not get user information from session
2019-11-12T08:17:30Z [DEBUG] [/core/filter/security.go:497]: user information is nil
2019-11-12T08:17:30Z [DEBUG] [/core/filter/security.go:511]: using local database project manager
2019-11-12T08:17:30Z [DEBUG] [/core/filter/security.go:513]: creating local database security context...
2019-11-12T08:17:30Z [DEBUG] [/common/dao/user.go:277]: Check if user admin is super user
2019-11-12T08:17:30Z [DEBUG] [/core/auth/authenticator.go:139]: Current AUTH_MODE is db_auth
2019/11/12 08:17:30 [C] [panic.go:522] the request url is /c/login
2019/11/12 08:17:30 [C] [panic.go:522] Handler crashed with error runtime error: invalid memory address or nil pointer dereference
2019/11/12 08:17:30 [C] [panic.go:522] /usr/local/go/src/runtime/panic.go:522
2019/11/12 08:17:30 [C] [panic.go:522] /usr/local/go/src/runtime/panic.go:82
2019/11/12 08:17:30 [C] [panic.go:522] /usr/local/go/src/runtime/signal_unix.go:390
2019/11/12 08:17:30 [C] [panic.go:522] /harbor/src/vendor/github.com/astaxie/beego/controller.go:579
2019/11/12 08:17:30 [C] [panic.go:522] /harbor/src/core/api/base.go:180
2019/11/12 08:17:30 [C] [panic.go:522] /harbor/src/core/controllers/base.go:117
2019/11/12 08:17:30 [C] [panic.go:522] /usr/local/go/src/reflect/value.go:447
2019/11/12 08:17:30 [C] [panic.go:522] /usr/local/go/src/reflect/value.go:308
2019/11/12 08:17:30 [C] [panic.go:522] /harbor/src/vendor/github.com/astaxie/beego/router.go:815
2019/11/12 08:17:30 [C] [panic.go:522] /usr/local/go/src/net/http/server.go:2774
2019/11/12 08:17:30 [C] [panic.go:522] /usr/local/go/src/net/http/server.go:1878
2019/11/12 08:17:30 [C] [panic.go:522] /usr/local/go/src/runtime/asm_amd64.s:1337
2019-11-12T08:17:31Z [DEBUG] [/core/filter/security.go:227]: OIDC CLI modifier only handles request by docker CLI or helm CLI
2019-11-12T08:17:31Z [DEBUG] [/core/filter/security.go:442]: can not get user information from session
2019-11-12T08:17:31Z [DEBUG] [/core/filter/security.go:497]: user information is nil
2019-11-12T08:17:31Z [DEBUG] [/core/filter/security.go:511]: using local database project manager
2019-11-12T08:17:31Z [DEBUG] [/core/filter/security.go:513]: creating local database security context...
2019-11-12T08:17:31Z [DEBUG] [/common/dao/user.go:277]: Check if user admin is super user
2019-11-12T08:17:31Z [DEBUG] [/core/auth/authenticator.go:139]: Current AUTH_MODE is db_auth
2019/11/12 08:17:31 [D] [server.go:2774] | 192.168.216.79| 200 | 16.839992ms| match| POST /c/login r:/c/login
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 27 (10 by maintainers)
@prudhvigodithi Sorry for the late reply, this error seems due to that the session data associated with the session id is gone from your redis.
I think we need to debug why that happens. Are the redis instances behind the ha proxy share the data volume? If not, is it possible the
SETandGETwere routed to different instances, so the subsequentGETis not getting any data?