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


























粵公網安備 44030402000745號