3 Replies Latest reply on Jun 28, 2012 3:17 AM by 944971

    sol-10-u10-ga2-sparc-dvd.iso download has wrong MD5 checksum (md5sum)?


      Using multiple browsers and trying multiple times, whenever I download the Solaris 10 u10 GA2 SPARC DVD ISO, I get the following:

      MD5 (sol-10-u10-ga2-sparc-dvd.iso) = 7ae6b2f3942f79ff557c11fbc0449075

      But the web site says that the correct md5sum is:

      Oracle Solaris 10 (SPARC) (df9bbdfddde2140ad44394f31fd37cb9 2285240320: sol-10-u10-ga2-sparc-dvd.iso)

      Can someone illuminate what is wrong? My x86 (not SPARC) DVD ISO md5sum is correct, so I believe my network connection, hard drive, OS, and disk are blameless.

      On the same note, when I download the Solaris 11 package repository, again multiple times and with multiple browsers, I always get:

      MD5 (sol-11-1111-repo-full.iso-a) = d122bf965669e24c54a2c45d84569ac8
      MD5 (sol-11-1111-repo-full.iso-b) = 6d446e46afb0c4a8a23edb2078d9873b

      d122bf965669e24c54a2c45d84569ac8 sol-11-1111-repo-full.iso-a
      da680bad1b6451a8119537ceb230b75a sol-11-1111-repo-full.iso-b

      So the Solaris 11 iso-a file matches, but the iso-b file fails.

      Can someone please confirm that the Solaris website is serving up files with the wrong md5sums? Thanks!
        • 1. Re: sol-10-u10-ga2-sparc-dvd.iso download has wrong MD5 checksum (md5sum)?
          p.s. the file sizes as downloaded are:

          $ ls -la sol-10-u10-ga2-sparc-dvd.iso sol-11-1111-repo-full.iso-b
          -rw-r--r--@ 1 REDACTED REDACTED 2285240320 Jun 20 19:26 sol-10-u10-ga2-sparc-dvd.iso
          -rw-r--r--@ 1 REDACTED REDACTED 3375695872 Jun 20 19:50 sol-11-1111-repo-full.iso-b
          • 2. Re: sol-10-u10-ga2-sparc-dvd.iso download has wrong MD5 checksum (md5sum)?
            Today I was able to download the sol-10-u10-ga2-sparc-dvd.iso file correctly, with an md5sum of df9bbdfddde2140ad44394f31fd37cb9. Nothing changed on my side.

            So, whatever you fixed, Oracle, thanks!

            The sol-11-1111-repo-full.iso-b file is still downloading with the same wrong MD5, though, on yet a different computer and a different internet connection, so as far as I can tell, there's still something wrong with that one on Oracle's side.

            • 3. Re: sol-10-u10-ga2-sparc-dvd.iso download has wrong MD5 checksum (md5sum)?
              As of today, the sol-11-1111-repo-full.iso-b file is now downloading correctly. Nothing changed on my end.

              Thank you, Oracle, for finding and fixing the bugs!

              For anyone who comes by here in the future (for example, searching for the broken md5s on google), both files had one corrupted byte each. In the case of the sol-10-u10-ga2-sparc-dvd.iso file, Byte #2,123,493,685 was corrupted. In the case of the sol-11-1111-repo-full.iso-b file, it was Byte #2,227,178,456 -- both indexing from Byte 1 (not zero). If you want to patch from one to the other, you'll have to do something like:

              $ md5 sol-10-u10-ga2-sparc-dvd.iso.bad
              MD5 (sol-10-u10-ga2-sparc-dvd.iso.bad) = 7ae6b2f3942f79ff557c11fbc0449075
              $ dd if=sol-10-u10-ga2-sparc-dvd.iso.bad bs=512 skip=4147448 count=1 > sol-10-bad-byte
              $ xxd sol-10-bad-byte | grep "130:"
              0000130: e45c a018 1c00 0000 8826 4001 e001 6000 .\.......&@...`.
              $ echo "the 1C should be a 0B"
              the 1C should be a 0B
              $ cat sol-10-bad-byte | xxd | sed -e 's/130: e45c a018 1c/130: e45c a018 0b/' | xxd -r > sol-10-good-byte
              $ dd if=sol-10-u10-ga2-sparc-dvd.iso.bad bs=512 count=4147448 > sol-10-beginning
              $ dd if=sol-10-u10-ga2-sparc-dvd.iso.bad bs=512 skip=4147449 > sol-10-end
              $ cat sol-10-beginning sol-10-good-byte sol-10-end > sol-10-u10-ga2-sparc-dvd.iso; md5 sol-10-u10-ga2-sparc-dvd.iso
              MD5 (sol-10-u10-ga2-sparc-dvd.iso) = df9bbdfddde2140ad44394f31fd37cb9

              If there's a more graceful way to fix that byte, I don't know what it is. Hopefully, the Oracle servers are fixed enough that it'll never be a problem again.

              The other one just needs:
              $ dd if=sol-11-1111-repo-full.iso-b.bad bs=512 skip=4349957 count=1 > sol-11-bad-byte
              $ xxd sol-11-bad-byte | grep "1d0:"
              00001d0: 0000 0000 0000 0000 1000 0000 0000 0000 ................
              $ echo "1 should be a 0"
              01 should be a 00
              $ xxd sol-11-bad-byte | sed -e 's/1d0: 0000 0000 0000 0000 10/1d0: 0000 0000 0000 0000 00/' | xxd -r > sol-11-good-byte

              and put it back together again like the 'cat' line above, using the corrected offsets.

              Anyway, thank goodness that's done with.