6月7日消息,Polkadot官方發(fā)文回顧,5月24日要求波卡驗(yàn)證節(jié)點(diǎn)將客戶端降級至0.8.30版本事故,系內(nèi)存不足導(dǎo)致。Polkadot表示,在試圖構(gòu)建區(qū)塊5202216時(shí)因內(nèi)存不足(OOM)錯(cuò)誤而失敗。該區(qū)塊包含驗(yàn)證人選舉的鏈上解決方案,該解決方案通常是在鏈下計(jì)算的,只有在沒有提交鏈下解決方案的情況下才會在鏈上進(jìn)行。由于提名者的數(shù)量眾多,選舉溢出了Wasm環(huán)境中分配的內(nèi)存。為解決這個(gè)問題,當(dāng)時(shí)驗(yàn)證者被要求暫時(shí)將他們的節(jié)點(diǎn)軟件降級到至0.8.30版本并且使用「--execution=native」命令。該本地版本不受Wasm內(nèi)存分配器的限制,網(wǎng)絡(luò)在70分鐘停機(jī)后恢復(fù)。之后在5203204區(qū)塊,幾個(gè)節(jié)點(diǎn)因「存儲根不匹配」錯(cuò)誤而失敗,這是由于構(gòu)建本地運(yùn)行時(shí)和鏈上Wasm運(yùn)行時(shí)的編譯器版本不同造成的。解決方案是用一個(gè)具有正確編譯器版本的Wasm運(yùn)行時(shí)來覆蓋鏈上Wasm運(yùn)行時(shí)。Polkadotv0.9.3版本上線后修復(fù)了該類問題,Polkadot表示未來可能會支持4GB的Wasm分配內(nèi)存。現(xiàn)在選舉必須在鏈下進(jìn)行,并且禁用鏈上選舉。在分配器被改進(jìn)之前,鏈下工作者將使用比鏈上Wasm運(yùn)行時(shí)更高的內(nèi)存限制確保鏈下選舉不會耗盡內(nèi)存并能成功提交。另外,Polkadot將確保本地和Wasm構(gòu)建中使用相同的編譯器版本。











粵公網(wǎng)安備 44030402000745號