[Samsung Galaxy S8 ROMs, Kernels, Recoveries, & Oth] partcyborg:
Cool, I can answer in more engineering oriented lingo then which will make this much easier :D

The issue is not that your usb3 port is "broken", its that there is something wrong, likely with the s8 hardware/usb controller that makes transmissions of data via the Odin protocol in Download mode prone to I am guessing dropouts in the signal that are not properly retried so you wind up with holes in the data at the other end. I'm sure you are more than familiar with physical hardware not following specifications that get fixed in drivers, well its quite possible something is fixed in the linux usb controller kernel code that didnt quite make it to the bootloader driver (which is not linux, but some custom qualcomm/samsung thing.

The reason that it affects PCR and not other roms is fairly simple. PCR is much bigger than the stock roms. This is because your normal stock rom's system.img.ext4 file is a sparse image file. In case you are unaware or for others reading along, but PCR uses a regular full sized image. I

n case you are unaware, and for anyone following along whom also may not know what these things are, I will explain. The .img files used by the various makes and models of phone are typically a bit-for-bit copy of the partition they are to be installed on, like the kind you make when you "dd" a block device in linux. Since they are a bit for bit copy of the whole drive partition, they are always the exact size of the whole disk partition, no matter how much space is actually taken up by files. As this can obviously get rather big quickly given the growing size of flash storage on these devices, recent model devices have introduced an optimization called a sparse image. A sparse image works like a sparse file if you are familiar in linux. These images have all of the empty space on the filesystem stripped out, so the size of the image file is a lot closer to the size of the actual data on it, rather than the size of the partiton. There is some way inside this format to represent "hey there should be 10gb of extra space after the last file" that i am not specifically aware of. This is particularly useful for things like the /data partition (where internal storage is) as the stock bloated rom will preinstall a few apps there that you can uninstall, and shipping with a 32gb+ partition of 99% empty space would be ridiculous.

For reasons Id rather not post here but will happily share with any of you in PM as i know sammy reads xda (hi Samsung!), SamFail needs the image to be a raw image type, using a sparse image does not work. This makes the rom a lot bigger than every single stock rom for the device. In fact, a typical stock rom system.img.ext4 is around 3.5GB, while PCR's are the full size of the partition, 4.5GB. Not only is 4.5GB nontrivially bigger than 3.5GB, it also crosses a notable boundary that you being an EE person have probably noticed already, which is 4GB, or 2^32 bytes :). IDK if that part is related to why there are tons of usb3 problems or not, but it is something I have noticed. Furthermore, all of the filesystem issues I have been able to get actual information about (when they dont just fail to be filesystems) has always been missing data that I wrote to the filesystem, meaning stuff at the end of the file.

This is very useful and actionable feedback. Thank you for doing this. The com.phone force close issue definitely did not affect my testers, but this would not be the first werid thing about the distribution of these devices. I am going to post an odexed version of the v2 version of this rom, to see if that fixes it. If that does not, then the problem is quite likely the one i described above at length.

It also appears that for some stock firmware versions flashing the BL before doing the samfail flash fixes that Issue. I will update the directions in OP to reflect this

The CSC file is of almost no consequence to the operating system. It is literally just a zip file written to /cache that gets flashed by recovery which does nothing besides extract handful of carrier files to /system/omc. In PCR i pre-install the CSC so its not necessary to flash it.

As for CP, it absolutely is flashed as part of PCR I just stuck it in the BL file instead as there is no reason for it to be separate. Images are routed to the right partition by their filenames, not what slot you put them in, so regardless of where they are flashed from they go the right place.