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