go-redis icon indicating copy to clipboard operation
go-redis copied to clipboard

runtime: name offset base pointer out of range

Open panol opened this issue 2 years ago • 0 comments

Issue tracker is used for reporting bugs and discussing new features. Please use stackoverflow for supporting issues. In procuction environment ,"runtime: name offset base pointer out of range" happen sometimes, here is the debug stask

runtime: nameOff 0x9a842 base 0xc001b36000 not in ranges:
        types 0x14d3000 etypes 0x1b969a7
fatal error: runtime: name offset base pointer out of range

goroutine 114260252 [running]:
runtime.throw(0x19817be, 0x2e)
        /micro/go/src/runtime/panic.go:1117 +0x72 fp=0xc00b9ec650 sp=0xc00b9ec620 pc=0x4382b2
runtime.resolveNameOff(0xc001b36000, 0x9a842, 0xc006d381c0)
        /micro/go/src/runtime/type.go:210 +0x24b fp=0xc00b9ec6b8 sp=0xc00b9ec650 pc=0x4634cb
reflect.resolveNameOff(0xc001b36000, 0xc00009a842, 0xd8)
        /micro/go/src/runtime/runtime1.go:498 +0x33 fp=0xc00b9ec6e0 sp=0xc00b9ec6b8 pc=0x46db53
reflect.(*rtype).nameOff(...)
        /micro/go/src/reflect/type.go:686
reflect.(*rtype).String(0xc001b36000, 0x7d0000c00022c000, 0xd8)
        /micro/go/src/reflect/type.go:756 +0x36 fp=0xc00b9ec718 sp=0xc00b9ec6e0 pc=0x494e36
fmt.(*pp).printArg(0xc000475790, 0xc001b36000, 0x1b01070, 0x54)
        /micro/go/src/fmt/print.go:652 +0xc4 fp=0xc00b9ec7b0 sp=0xc00b9ec718 pc=0x504044
fmt.(*pp).doPrintf(0xc000475790, 0x198f30f, 0x3c, 0xc00b9ec940, 0x1, 0x1)
        /micro/go/src/fmt/print.go:1122 +0x3fc fp=0xc00b9ec8a0 sp=0xc00b9ec7b0 pc=0x507b1c
fmt.Errorf(0x198f30f, 0x3c, 0xc00b9ec940, 0x1, 0x1, 0xe74d00, 0xc007626040)
        /micro/go/src/fmt/errors.go:20 +0x77 fp=0xc00b9ec908 sp=0xc00b9ec8a0 pc=0x4fd857
github.com/go-redis/redis/internal/proto.(*Writer).writeArg(0xc007626080, 0xc001b36000, 0x1b01070, 0x0, 0xc078c1c80925c7b6)
        /var/lib/jenkins/workspace/UserService/vendor/github.com/go-redis/redis/internal/proto/writer.go:102 +0x20f fp=0xc00b9ec990 sp=0xc00b9ec908 pc=0xe7504f
github.com/go-redis/redis/internal/proto.(*Writer).WriteArgs(0xc007626080, 0xc008264180, 0x8, 0x8, 0xe77755, 0xc009c02008)
        /var/lib/jenkins/workspace/UserService/vendor/github.com/go-redis/redis/internal/proto/writer.go:41 +0xc6 fp=0xc00b9ec9d8 sp=0xc00b9ec990 pc=0xe74c46
github.com/go-redis/redis.writeCmd(0xc007626080, 0xc00b9eca58, 0x1, 0x1, 0x26e59e0, 0xc078c1c80925c7b6)
        /var/lib/jenkins/workspace/UserService/vendor/github.com/go-redis/redis/command.go:46 +0x6c fp=0xc00b9eca28 sp=0xc00b9ec9d8 pc=0xe7b8ac
github.com/go-redis/redis.(*baseClient).defaultProcess.func1(0xc007626080, 0xb2d05e00, 0x0)
        /var/lib/jenkins/workspace/UserService/vendor/github.com/go-redis/redis/redis.go:196 +0x65 fp=0xc00b9eca78 sp=0xc00b9eca28 pc=0xeac485
github.com/go-redis/redis/internal/pool.(*Conn).WithWriter(0xc00fff2000, 0xb2d05e00, 0xc00b9ecb30, 0x0, 0x203001)
        /var/lib/jenkins/workspace/UserService/vendor/github.com/go-redis/redis/internal/pool/conn.go:85 +0x50 fp=0xc00b9ecab8 sp=0xc00b9eca78 pc=0xe779d0
github.com/go-redis/redis.(*baseClient).defaultProcess(0xc000196b40, 0x1b5c438, 0xc00544e140, 0x7f2e99301128, 0x38)
        /var/lib/jenkins/workspace/UserService/vendor/github.com/go-redis/redis/redis.go:195 +0x172 fp=0xc00b9ecb58 sp=0xc00b9ecab8 pc=0xea6c32
github.com/go-redis/redis.(*baseClient).defaultProcess-fm(0x1b5c438, 0xc00544e140, 0xb, 0xc005cee000)
        /var/lib/jenkins/workspace/UserService/vendor/github.com/go-redis/redis/redis.go:180 +0x47 fp=0xc00b9ecb90 sp=0xc00b9ecb58 pc=0xeac9e7
github.com/go-redis/redis.(*baseClient).Process(0xc000196b40, 0x1b5c438, 0xc00544e140, 0xc001f92101, 0xc00544e140)
        /var/lib/jenkins/workspace/UserService/vendor/github.com/go-redis/redis/redis.go:177 +0x3e fp=0xc00b9ecbc0 sp=0xc00b9ecb90 pc=0xea6a7e
github.com/go-redis/redis.(*baseClient).Process-fm(0x1b5c438, 0xc00544e140, 0xc0093ce2f0, 0xc008264180)
        /var/lib/jenkins/workspace/UserService/vendor/github.com/go-redis/redis/redis.go:176 +0x47 fp=0xc00b9ecbf8 sp=0xc00b9ecbc0 pc=0xeacda7
github.com/go-redis/redis.(*cmdable).HMGet(0xc000196b88, 0xc001f921e0, 0xb, 0xc0124bf620, 0x6, 0x6, 0xb)
        /var/lib/jenkins/workspace/UserService/vendor/github.com/go-redis/redis/commands.go:970 +0x1cc fp=0xc00b9ecc50 sp=0xc00b9ecbf8 pc=0xe8d38c
crazyfox-micro/Services/UserService/infrastructure/persistence.(*UserInfo).GetOrSetUserInfoByFields(0xc0050f3410, 0x1b51d10, 0xc0050f3350, 0x1c3214, 0xc0124bf620, 0x6, 0x6, 0x0, 0x0, 0x0)
        /var/lib/jenkins/workspace/UserService/Services/UserService/infrastructure/persistence/user_info.go:477 +0x17c fp=0xc00b9ecd60 sp=0xc00b9ecc50 pc=0x12f68bc
crazyfox-micro/Services/UserService/domain/entity/user.Friend.getFriendInfo(0xc014f8ebe0, 0x0, 0x0, 0x1b51d10, 0xc0050f3350, 0x1c3214, 0xc0124bf620, 0x6, 0x6, 0xc00ec983f0)
        /var/lib/jenkins/workspace/UserService/Services/UserService/domain/entity/user/user_firend.go:297 +0x89 fp=0xc00b9ecdd8 sp=0xc00b9ecd60 pc=0x147c2a9

Expected Behavior

No error .

Current Behavior

Possible Solution

Steps to Reproduce

Context (Environment)

Production server and the bug fatal cause our programm shutiting down immediatelly,it's sever.

Detailed Description

It is caused by

return fmt.Errorf(
			"redis: can't marshal %T (implement encoding.BinaryMarshaler)", v)

I don't have any idea why it happens ,anyone helps?

Possible Implementation

panol avatar Feb 09 '22 08:02 panol