第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

去json編組員驚慌失措,“在零值上調(diào)用 reflect.Value.Int”

去json編組員驚慌失措,“在零值上調(diào)用 reflect.Value.Int”

Go
白板的微信 2022-09-26 20:17:19
我正在嘗試在具有多級(jí)嵌套的復(fù)雜結(jié)構(gòu)中取消封送一些數(shù)據(jù)(因此,此處不復(fù)制該結(jié)構(gòu))。然而,當(dāng)代碼上線時(shí),我們開(kāi)始在極少數(shù)情況下出現(xiàn)以下恐慌(難以量化,但可能是1000例中的1例)。以下是該問(wèn)題的堆棧跟蹤:panic: reflect: call of reflect.Value.Int on zero Value [recovered]        panic: reflect: call of reflect.Value.Int on zero Value    goroutine 568428 [running]:    encoding/json.(*encodeState).marshal.func1(0xc0081d5c70)            /usr/local/go/src/encoding/json/encode.go:305 +0x9a    panic(0x13968c0, 0xc005c2f540)            /usr/local/go/src/runtime/panic.go:679 +0x1b2    reflect.Value.Int(...)            /usr/local/go/src/reflect/value.go:986    encoding/json.intEncoder(0xc0074b5dc0, 0x0, 0x0, 0x0, 0xc0038b0100)            /usr/local/go/src/encoding/json/encode.go:522 +0x1d4    encoding/json.mapEncoder.encode(0x1608760, 0xc0074b5dc0, 0x1385c20, 0xc00119f5e0, 0x195, 0x100)            /usr/local/go/src/encoding/json/encode.go:706 +0x351    encoding/json.structEncoder.encode(0xc0002ce600, 0x19, 0x21, 0xc00027ede0, 0xc0074b5dc0, 0x156c820, 0xc00119f510, 0x199, 0x520100)            /usr/local/go/src/encoding/json/encode.go:664 +0x306    encoding/json.ptrEncoder.encode(0xc00027ee10, 0xc0074b5dc0, 0x1397e80, 0xc00119f510, 0x16, 0x1390100)            /usr/local/go/src/encoding/json/encode.go:810 +0xb1    encoding/json.(*encodeState).reflectValue(0xc0074b5dc0, 0x1397e80, 0xc00119f510, 0x16, 0x100)            /usr/local/go/src/encoding/json/encode.go:337 +0x82    encoding/json.(*encodeState).marshal(0xc0074b5dc0, 0x1397e80, 0xc00119f510, 0xc003da0100, 0x0, 0x0)            /usr/local/go/src/encoding/json/encode.go:309 +0x10b    encoding/json.Marshal(0x1397e80, 0xc00119f510, 0x40be53, 0x13c4160, 0x1397e80, 0x1, 0x7fa9d5d348b0)            /usr/local/go/src/encoding/json/encode.go:161 +0x52    reingames.com/rm/user.(*userCore).MarshalBinary(0xc00119f510, 0x1397e80, 0xc00119f510, 0x7fa9d5d348b0, 0xc00119f510, 0x1)            /home/shivam/goprojects/rmgs/go/user/profile.go:180 +0x37我不知道從哪里開(kāi)始調(diào)試它。有沒(méi)有人經(jīng)歷過(guò)類似的事情?快速問(wèn)題 - 爭(zhēng)用條件(在更新指針時(shí)對(duì)其進(jìn)行編組)是否會(huì)導(dǎo)致這種恐慌?
查看完整描述

3 回答

?
動(dòng)漫人物

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊

開(kāi)始調(diào)試的一種方法是 :使用指令捕獲 panic,并記錄有關(guān)錯(cuò)誤上下文的信息。recover()

這不會(huì)“在行為中”捕獲競(jìng)爭(zhēng)條件,但它肯定會(huì)幫助您了解有關(guān)錯(cuò)誤的更多信息(它是否總是發(fā)生在相同的元素上?元素是否仍處于有效狀態(tài)?等等......)


查看完整回答
反對(duì) 回復(fù) 2022-09-26
?
阿波羅的戰(zhàn)車(chē)

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

是的,一場(chǎng)比賽幾乎可以造成任何事情,包括這個(gè)。如果您有任何測(cè)試要說(shuō),請(qǐng)使用 運(yùn)行它們。如果沒(méi)有,或者如果這沒(méi)有顯示任何內(nèi)容,則可以考慮使用 進(jìn)行金絲雀構(gòu)建,但請(qǐng)參閱競(jìng)賽檢測(cè)器文檔,了解有關(guān)在這種情況下的性能和內(nèi)存使用情況的注意事項(xiàng)。您可能只想自己檢查代碼中的種族。go test -racego build -race



查看完整回答
反對(duì) 回復(fù) 2022-09-26
?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊

最近我們還遇到了這個(gè)問(wèn)題,可以檢查一下代碼中是否是協(xié)程,有沒(méi)有合適的切片操作。切片依賴于數(shù)組實(shí)現(xiàn)。當(dāng)基礎(chǔ)數(shù)組具有足夠的容量時(shí),追加操作不是只讀操作,而是將元素直接添加到數(shù)組的可用位置。因此,當(dāng)多協(xié)程對(duì)全局切片執(zhí)行追加操作時(shí),它將對(duì)相同的基礎(chǔ)數(shù)據(jù)進(jìn)行操作,從而導(dǎo)致讀寫(xiě)沖突。導(dǎo)致 Go json 編組程序的異常。


查看完整回答
反對(duì) 回復(fù) 2022-09-26
  • 3 回答
  • 0 關(guān)注
  • 208 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)