*SOLVED* Repeated incorrect SHA256 checksums of 'TrueNAS Scale' .Update .ISO files

ERROR WHEN MANUALLY UPDATING WAS “[EFAULT] Command unsquashfs manualupdate.tar failed (code 1): Parallel unsquashfs: Using 8 processors Read on filesystem failed because EOF read_uids_guids: failed to read id index table FATAL ERROR:failed to uid/gid table FAILED”

Attempting to migrate from TrueNAS ‘Core’ to ‘Scale’ and I kept getting errors attempting to use manually downloaded .update files for versions " 24.04.0" and “23.10.2”. TrueNAS Core is on most-recent update and I was downloading to (and attempting to upgrade via GUI from) Arch Linux v6.8.7-arch1-2: also with most-recent updates. When I checked SHA256 generated from downloaded files, they were never correct…

[user@sulla downloads]$ sha256sum TrueNAS-SCALE-24.04.0.update
55ba628d3fd970a98ff9214bfbeb3ecb7565a8d548713e3e3ba49c04e7872c84
TrueNAS-SCALE-24.04.0.update
[user@sulla downloads]$ sha256sum TrueNAS-SCALE-24.04.0.iso
392eb2689d2d7e09bd2d3c1f7d56516ff1b2db68bd1435e871aa62c7e28a6294
TrueNAS-SCALE-24.04.0.iso

…when compared to the SHA256 checksums listed on the download page: Download TrueNAS SCALE - Data Storage Software . Same results with multiple downloads to same Arch Linux PC and also to different PC’s using completely different networks. Same results downloading to my mobile (Android) via Cellular Data.

I suspect that root cause of my Update error is the SHA256 error. I’ve attached PIC of error - with full details - and full text of error is at bottom of this post.

I am still very early days learning TrueNAS, just finally got ‘Core’ doing what it should, but then needed to add PostgreSQL, for which ‘Scale’ is instead recommended.

Thanks

= = = = = = =

[EFAULT] Command unsquashfs manualupdate.tar failed (code 1): Parallel unsquashfs: Using 8 processors Read on filesystem failed because EOF read_uids_guids: failed to read id index table FATAL ERROR:failed to uid/gid table
FAILED

-  MORE INFO...

Error: Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/middlewared/job.py", line 355, in run
    await self.future
  File "/usr/local/lib/python3.9/site-packages/middlewared/job.py", line 391, in __run_body
    rv = await self.method(*([self] + args))
  File "/usr/local/lib/python3.9/site-packages/middlewared/schema.py", line 981, in nf
    return await f(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/update.py", line 389, in file
    await self.middleware.call('update.install_manual_impl', job, destfile, dest_extracted)
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1283, in call
    return await self._call(
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1251, in _call
    return await self.run_in_executor(prepared_call.executor, methodobj, *prepared_call.args)
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1156, in run_in_executor
    return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/update_/install_freebsd.py", line 66, in install_manual_impl
    return self._install_scale(job, path)
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/update_/install_freebsd.py", line 92, in _install_scale
    subprocess.run(['unsquashfs', os.path.basename(path)], cwd=location, **run_kw)
  File "/usr/local/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['unsquashfs', 'manualupdate.tar']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/middlewared/job.py", line 359, in run
    raise handled
middlewared.service_exception.CallError: [EFAULT] Command unsquashfs manualupdate.tar failed (code 1):
Parallel unsquashfs: Using 8 processors
Read on filesystem failed because EOF
read_uids_guids: failed to read id index table
FATAL ERROR:failed to uid/gid table
````Preformatted text`

Your download must have failed in some way.
I checked my download of TrueNAS-SCALE-24.04.0.update, along with a freshly downloaded copy, and got the following sha256sum value:
10705da248f9d7a4eb5f24056cbd15262b144cfa3e2256088db353c1c0f26377

This matches what is on the download page.

Any chance you ran out of space downloading the images, and left you with a truncated file?

Can you try downloading the files to a local PC, and then checking their sha256sum values before trying to use them in an upgrade?

What’s the length in bytes for your downloads?

-Bill

1 Like

@wmo
You asked if download failed or was truncated… Chrome’s stock downloader said download was successful. If there was an issue, however, it wasn’t because of avail space. 500GB or better avail on both my Linix PC and my Android Phone.

You also suggested that I “[download] to a local PC, and then checking their sha256sum values…” That was exactly what I first tried, then did same by downloading to my phone. Same result both times.

Not sure how to answer your “length in bytes” question…could I get an example?

For example: ls -l TrueNAS-SCALE-24.04.0.update
It will, among other things, show the file size in bytes.

@neofusion:
tyvm for the clarification: I want to get this right with minimal frustration for y’all helping me :slight_smile:

‘ls’ command returned…

[malkor@sulla downloads]$ ls -l TrueNAS-SCALE-2*
-rw-r–r-- 1 malkor malkor 1057844464 May 10 12:51 TrueNAS-SCALE-23.10.2.iso
-rw-r–r-- 1 malkor malkor 866474224 May 10 12:58 TrueNAS-SCALE-23.10.2.update
-rw-r–r-- 1 malkor malkor 1085683520 May 10 12:54 TrueNAS-SCALE-24.04.0.iso
-rw-r–r-- 1 malkor malkor 901565712 May 10 12:57 TrueNAS-SCALE-24.04.0.update

I downloaded both pairs of .ISO & .update, so did for the lot.

Sorry, those are incomplete downloads, here’s what it looks like from my side. I just downloaded the files for comparison:

[user@host]:~/Downloads/isos-truenas$ ls -l 
total 5769176
-rw-r--r--@ 1 user  group  1626347520 14 May 12:34 TrueNAS-SCALE-24.04.0.iso
-rw-r--r--@ 1 user  group  1316044800 14 May 12:34 TrueNAS-SCALE-24.04.0.update
[user@host]:~/Downloads/isos-truenas$ shasum -a 256 *
9ab42b900894ecc2a0a46c598807bf6e493f53bee7d61ff321030fa4ff5f1a11  TrueNAS-SCALE-24.04.0.iso
10705da248f9d7a4eb5f24056cbd15262b144cfa3e2256088db353c1c0f26377  TrueNAS-SCALE-24.04.0.update

Note the bigger file sizes. 1626347520 bytes vs your 1085683520 for the 24.04 iso, as an example.

K, @neofusion, looks like I’m on the right track for my root cause. I have never had an issue downloading via Chrome before (click on link, file saves without issue) and had thus avoided Download Managers.

Since I’ve already tried downloading to two different devices (one a Linux PC and the other my Android mobile) and via two different networks, is there a different download link I should try? Would using a download manager instead of downloading directly in Chrome be a good idea? Not sure of the best way forward, but I’m trying “wget…” next. It at least reports the correct download size…to start :slight_smile:

Thanks.

tl/dr…
ORIGINAL ERROR when manually updating was “[EFAULT] Command unsquashfs manualupdate.tar failed (code 1): Parallel unsquashfs: Using 8 processors Read on filesystem failed because EOF read_uids_guids: failed to read id index table FATAL ERROR:failed to uid/gid table FAILED”

Root cause was bad download of TrueNAS SCALE file: using Google Chrome. Not sure what download via Chrome from multiple devices and on via multiple networks was saying “success” when it had not downloaded fully, but “wget” downloaded full file on first try…

[malkor@sulla downloads]$ wget https://download.sys.truenas.net/TrueNAS-SCALE-Dragonfish/24.04.0/TrueNAS-SCALE-24.04.0.update

…and SHA256 matched the exemplar, this time.

Manual Update (migration from ‘CORE’ to ‘SCALE’) was successful.

tyvm, everybody, for the help.

What he said :slight_smile:

2 Likes