The last commit https://github.com/ethereum/solc-bin/commit/331d998138f2bc0aa5d3694a12c2beab69daad75 modified the bin file for the 0.6.10 release but did not modify the checksum, resulting in a mismatch.
Any tool that validates the compiler against the checksum will fail so I think this should be fixed ASAP, especially given the version affected is the latest release.
Totally The same!! Please fix this as soon as possible!
It blocks development!
Please update binaries.
Sorry about that, it seems to have been a rogue script. Can you please check if it is fixed?
Thank you @chriseth very much, looks like it is fixed!!
Actually reopening since the root cause is not fixed yet.
The damaged files (soljson-v0.6.10+commit.00c0fcaf.js and soljson-latest.js) are actually truncated. I don't see anything in the scripts that would intentionally update an older release/nightly binary. Every run either adds a single new binary or exits. The only way it could happen is if they were damaged while being copied and then git commit -a picked up the unintended changes and included them in the commit.
As to how they got damaged - there are several suspects:
git clone or git checkout - though git is pretty reliable so I doubt it would cleanly exit on errorcp - same hereWhat's interesting is that soljson-v0.6.10+commit.00c0fcaf.js and soljson-latest.js (which are supposed to have the same content in that commit) are truncated at different points. soljson-latest.js is significantly shorter (19672 kB vs 20624 kB; both should be 20683 kB instead). In the update script I see that it always rewrites soljson-latest.js (even if there was no new release) so it could happen at that point. But this does not explain why soljson-v0.6.10+commit.00c0fcaf.js is shorter too. The script does not touch it. It looks as if both files were truncated independently but this seems unlikely to me.
This also looks a bit as if one of the operations was being performed asynchronously and did not finish before another. This could be the case with the update script but I don't see anything asynchronous in publish_binary.sh.
We can close this now. The cause of the truncation has been identified and fixed (https://github.com/ethereum/solc-bin/pull/32). We have also just finished migrating the nightly builds from Travis to Github Actions and they're enabled again (https://github.com/ethereum/solc-bin/pull/30). The new script makes sure that no unexpected files (e.g. old releases) have been modified before pushing the nightly.
Most helpful comment
Sorry about that, it seems to have been a rogue script. Can you please check if it is fixed?