go 报错 panic


runtime: goroutine stack exceeds 1000000000-byte limit
fatal error: stack overflow

runtime stack:
runtime.throw(0x784d03, 0xe)
/usr/local/go/src/runtime/panic.go:605 +0x95
runtime.newstack(0x0)
/usr/local/go/src/runtime/stack.go:1050 +0x6e1
runtime.morestack()
/usr/local/go/src/runtime/asm_amd64.s:415 +0x86

goroutine 35 [running]:
runtime.newobject(0x772c40, 0x0)
/usr/local/go/src/runtime/malloc.go:835 +0x51 fp=0xc440300370 sp=0xc440300368 pc=0x412511
reflect.mapiterinit(0x721360, 0xc420127ce0, 0x15)
/usr/local/go/src/runtime/hashmap.go:1239 +0x2d fp=0xc4403003a0 sp=0xc440300370 pc=0x40c74d
reflect.Value.MapKeys(0x721360, 0xc420127ce0, 0x15, 0x0, 0x409c09, 0xc440300538)
/usr/local/go/src/reflect/value.go:1092 +0xcc fp=0xc440300450 sp=0xc4403003a0 pc=0x4ae34c
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:666 +0xad fp=0xc4403005c0 sp=0xc440300450 pc=0x4ecc6d
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440300600 sp=0xc4403005c0 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440300638 sp=0xc440300600 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5d40, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440300678 sp=0xc440300638 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc4403007e8 sp=0xc440300678 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440300828 sp=0xc4403007e8 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440300860 sp=0xc440300828 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5cd0, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc4403008a0 sp=0xc440300860 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440300a10 sp=0xc4403008a0 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440300a50 sp=0xc440300a10 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440300a88 sp=0xc440300a50 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5c60, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440300ac8 sp=0xc440300a88 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440300c38 sp=0xc440300ac8 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440300c78 sp=0xc440300c38 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440300cb0 sp=0xc440300c78 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5bf0, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440300cf0 sp=0xc440300cb0 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440300e60 sp=0xc440300cf0 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440300ea0 sp=0xc440300e60 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440300ed8 sp=0xc440300ea0 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5b80, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440300f18 sp=0xc440300ed8 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440301088 sp=0xc440300f18 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc4403010c8 sp=0xc440301088 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440301100 sp=0xc4403010c8 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5b10, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440301140 sp=0xc440301100 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc4403012b0 sp=0xc440301140 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc4403012f0 sp=0xc4403012b0 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440301328 sp=0xc4403012f0 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5aa0, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440301368 sp=0xc440301328 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc4403014d8 sp=0xc440301368 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440301518 sp=0xc4403014d8 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440301550 sp=0xc440301518 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5a30, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440301590 sp=0xc440301550 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440301700 sp=0xc440301590 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440301740 sp=0xc440301700 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440301778 sp=0xc440301740 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a59c0, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc4403017b8 sp=0xc440301778 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440301928 sp=0xc4403017b8 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440301968 sp=0xc440301928 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc4403019a0 sp=0xc440301968 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5950, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc4403019e0 sp=0xc4403019a0 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440301b50 sp=0xc4403019e0 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440301b90 sp=0xc440301b50 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440301bc8 sp=0xc440301b90 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a58e0, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440301c08 sp=0xc440301bc8 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440301d78 sp=0xc440301c08 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440301db8 sp=0xc440301d78 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440301df0 sp=0xc440301db8 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5870, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440301e30 sp=0xc440301df0 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440301fa0 sp=0xc440301e30 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440301fe0 sp=0xc440301fa0 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440302018 sp=0xc440301fe0 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5800, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440302058 sp=0xc440302018 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc4403021c8 sp=0xc440302058 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440302208 sp=0xc4403021c8 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440302240 sp=0xc440302208 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5790, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440302280 sp=0xc440302240 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc4403023f0 sp=0xc440302280 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440302430 sp=0xc4403023f0 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440302468 sp=0xc440302430 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5720, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc4403024a8 sp=0xc440302468 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440302618 sp=0xc4403024a8 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440302658 sp=0xc440302618 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440302690 sp=0xc440302658 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a56b0, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc4403026d0 sp=0xc440302690 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440302840 sp=0xc4403026d0 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440302880 sp=0xc440302840 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc4403028b8 sp=0xc440302880 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5640, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc4403028f8 sp=0xc4403028b8 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440302a68 sp=0xc4403028f8 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440302aa8 sp=0xc440302a68 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440302ae0 sp=0xc440302aa8 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a55d0, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440302b20 sp=0xc440302ae0 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440302c90 sp=0xc440302b20 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440302cd0 sp=0xc440302c90 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440302d08 sp=0xc440302cd0 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5560, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440302d48 sp=0xc440302d08 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440302eb8 sp=0xc440302d48 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440302ef8 sp=0xc440302eb8 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440302f30 sp=0xc440302ef8 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a54f0, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440302f70 sp=0xc440302f30 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc4403030e0 sp=0xc440302f70 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440303120 sp=0xc4403030e0 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440303158 sp=0xc440303120 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5480, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440303198 sp=0xc440303158 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440303308 sp=0xc440303198 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440303348 sp=0xc440303308 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc440303380 sp=0xc440303348 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5410, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc4403033c0 sp=0xc440303380 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440303530 sp=0xc4403033c0 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440303570 sp=0xc440303530 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc4403035a8 sp=0xc440303570 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a53a0, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc4403035e8 sp=0xc4403035a8 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440303758 sp=0xc4403035e8 pc=0x4ed081
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:698 +0x64 fp=0xc440303798 sp=0xc440303758 pc=0x4f59a4
encoding/json.(*encodeState).reflectValue(0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0xc420120100)
/usr/local/go/src/encoding/json/encode.go:323 +0x82 fp=0xc4403037d0 sp=0xc440303798 pc=0x4ea562
encoding/json.interfaceEncoder(0xc4201d8000, 0x719fc0, 0xc43a4a5330, 0x94, 0xc43a4a0100)
/usr/local/go/src/encoding/json/encode.go:609 +0xdb fp=0xc440303810 sp=0xc4403037d0 pc=0x4ec4ab
encoding/json.(*mapEncoder).encode(0xc4201da058, 0xc4201d8000, 0x721360, 0xc420127ce0, 0x15, 0x720100)
/usr/local/go/src/encoding/json/encode.go:682 +0x4c1 fp=0xc440303980 sp=0xc440303810 pc=0x4ed081
...additional frames elided...
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2711 +0x288

goroutine 1 [IO wait]:
internal/poll.runtime_pollWait(0x7f924a7e3ee8, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420196018, 0x72, 0xc42016fa00, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae
internal/poll.(*pollDesc).waitRead(0xc420196018, 0xffffffffffffff00, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc420196000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:333 +0x1d7
net.(*netFD).accept(0xc420196000, 0x0, 0x3, 0xc420000180)
/usr/local/go/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc42018a010, 0xc420026670, 0xc420026600, 0x7499c0)
/usr/local/go/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).AcceptTCP(0xc42018a010, 0xc42018c0f0, 0xc420000180, 0x79af88)
/usr/local/go/src/net/tcpsock.go:234 +0x49
main.tcpKeepAliveListener.Accept(0xc42018a010, 0x0, 0x0, 0x0, 0x0)
/home/ubuntu/mew/mew_server/src/mew.go:27 +0x8e
net/http.(*Server).Serve(0xc420192000, 0x90bd40, 0xc42018a010, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2686 +0x1b2
main.run()
/home/ubuntu/mew/mew_server/src/mew.go:49 +0x330
main.main()
/home/ubuntu/mew/mew_server/src/mew.go:15 +0x3b

goroutine 27 [IO wait]:
internal/poll.runtime_pollWait(0x7f924a7e3e28, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420196098, 0x72, 0xffffffffffffff00, 0x909080, 0x9055e8)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae
internal/poll.(*pollDesc).waitRead(0xc420196098, 0xc420180200, 0x1, 0x1)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420196080, 0xc420180281, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:125 +0x17b
net.(*netFD).Read(0xc420196080, 0xc420180281, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/net/fd_unix.go:202 +0x52
net.(*conn).Read(0xc42018a020, 0xc420180281, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:176 +0x6d
net/http.(*connReader).backgroundRead(0xc420180270)
/usr/local/go/src/net/http/server.go:656 +0x62
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:652 +0xd8

goroutine 15 [chan receive]:
database/sql.(*DB).connectionOpener(0xc420098e60)
/usr/local/go/src/database/sql/sql.go:871 +0x53
created by database/sql.Open
/usr/local/go/src/database/sql/sql.go:609 +0x1ee

goroutine 16 [chan receive]:
database/sql.(*DB).connectionOpener(0xc420098f00)
/usr/local/go/src/database/sql/sql.go:871 +0x53
created by database/sql.Open
/usr/local/go/src/database/sql/sql.go:609 +0x1ee

goroutine 18 [chan receive]:
database/sql.(*DB).connectionOpener(0xc420098fa0)
/usr/local/go/src/database/sql/sql.go:871 +0x53
created by database/sql.Open
/usr/local/go/src/database/sql/sql.go:609 +0x1ee

goroutine 19 [chan receive]:
database/sql.(*DB).connectionOpener(0xc420099040)
/usr/local/go/src/database/sql/sql.go:871 +0x53
created by database/sql.Open
/usr/local/go/src/database/sql/sql.go:609 +0x1ee

goroutine 20 [chan receive]:
database/sql.(*DB).connectionOpener(0xc4200990e0)
/usr/local/go/src/database/sql/sql.go:871 +0x53
created by database/sql.Open
/usr/local/go/src/database/sql/sql.go:609 +0x1ee

goroutine 21 [chan receive]:
database/sql.(*DB).connectionOpener(0xc420099180)
/usr/local/go/src/database/sql/sql.go:871 +0x53
created by database/sql.Open
/usr/local/go/src/database/sql/sql.go:609 +0x1ee

goroutine 22 [chan receive]:
database/sql.(*DB).connectionOpener(0xc420099220)
/usr/local/go/src/database/sql/sql.go:871 +0x53
created by database/sql.Open
/usr/local/go/src/database/sql/sql.go:609 +0x1ee

goroutine 23 [chan receive]:
database/sql.(*DB).connectionOpener(0xc4200992c0)
/usr/local/go/src/database/sql/sql.go:871 +0x53
created by database/sql.Open
/usr/local/go/src/database/sql/sql.go:609 +0x1ee

goroutine 24 [chan receive]:
database/sql.(*DB).connectionOpener(0xc420099360)
/usr/local/go/src/database/sql/sql.go:871 +0x53
created by database/sql.Open
/usr/local/go/src/database/sql/sql.go:609 +0x1ee

goroutine 25 [chan receive]:
database/sql.(*DB).connectionOpener(0xc420099400)
/usr/local/go/src/database/sql/sql.go:871 +0x53
created by database/sql.Open
/usr/local/go/src/database/sql/sql.go:609 +0x1ee

 

原因:手误打错了一个变量导致map递归

var a = map[string]interface{}

a["a"]=a

然后执行 json.Marshal(a) panic

map递归了,marshal时就一直在读内存,最后超过限制goroutine stack exceeds 1000000000-byte limit

转载于:https://www.cnblogs.com/cdyboke/p/7161379.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值