

Patcher Hangs
#1
Posted 19 September 2017 - 01:04 PM
I waited a half hour, restarted it gets to the same point and... nothing 0 percent processor and it appears to be dead in space.
What do I do?
#2
Posted 19 September 2017 - 01:44 PM
FearThePaladin, on 19 September 2017 - 01:04 PM, said:
That sounds like a corrupted zip file. Do you have something like 7-zip installed that can test the integrity of the archive?
Also, just FYI, the portal executable isn't the one that does the patching, the actual patching is done by a secondary exe called PatchBot.exe. If that's running at 0% (or is simply no longer running) then that's definitely a problem.
Also, just to be safe I need to ask - how's your free space on the drive that holds your "temp" directory? (This directory defaults to the game directory if you haven't set a custom one.)
#3
Posted 19 September 2017 - 02:01 PM
#4
Posted 19 September 2017 - 04:20 PM
9/19/2017 8:18:56 PM - Config file: C:\Users\REDACTED\Saved Games\MechWarrior Online\\Patcher\patcher.cfg
9/19/2017 8:18:56 PM - Local frontend version: 310
9/19/2017 8:18:56 PM - Initializing Downloader
9/19/2017 8:18:56 PM - Downloader initialized
9/19/2017 8:18:56 PM - startPatchProcess()
9/19/2017 8:18:56 PM - PATCHER HANDSHAKE
9/19/2017 8:18:56 PM - Got handshake, starting patch.
9/19/2017 8:18:57 PM - Checking patch inventory.
9/19/2017 8:18:57 PM - Connecting for maintenance check.
9/19/2017 8:18:57 PM - Fetching patch inventory data..
9/19/2017 8:18:57 PM - Remote game version: 311
9/19/2017 8:18:57 PM - beginPatch()
9/19/2017 8:18:58 PM - Fetching update from server...
9/19/2017 8:19:02 PM - Downloading....
9/19/2017 8:19:02 PM - Found a file of the exact same size, so skipping the download.
9/19/2017 8:19:04 PM - Extracting patch zip...
9/19/2017 8:19:16 PM - Download is complete, now to process the patch...
9/19/2017 8:19:16 PM - Patching file 1 of 66 - build_info.xml
9/19/2017 8:19:16 PM - Patching file 2 of 66 - Bin32\CryRenderD3D11.dll
9/19/2017 8:19:16 PM - Patching file 3 of 66 - Bin32\CryRenderD3D9.dll
9/19/2017 8:19:16 PM - Patching file 4 of 66 - Bin32\frontend_version.dll
9/19/2017 8:19:16 PM - Patching file 5 of 66 - Bin32\MWOClient.exe
9/19/2017 8:19:16 PM - Patching file 6 of 66 - Bin64\CryRenderD3D11.dll
9/19/2017 8:19:16 PM - Patching file 7 of 66 - Bin64\CryRenderD3D9.dll
9/19/2017 8:19:16 PM - Patching file 8 of 66 - Bin64\MWOClient.exe
9/19/2017 8:19:17 PM - Patching file 9 of 66 - Game\Animations.pak
9/19/2017 8:19:18 PM - Patching file 10 of 66 - Game\applejack.pak
#5
Posted 19 September 2017 - 04:25 PM
Same result it hangs.
#6
Posted 19 September 2017 - 04:33 PM
Restarted the patcher and here is the log results (Should look familiar)
9/19/2017 8:30:28 PM - Config file: C:\Users\Ollic\Saved Games\MechWarrior Online\\Patcher\patcher.cfg
9/19/2017 8:30:28 PM - Local frontend version: 310
9/19/2017 8:30:28 PM - Initializing Downloader
9/19/2017 8:30:28 PM - Downloader initialized
9/19/2017 8:30:28 PM - startPatchProcess()
9/19/2017 8:30:29 PM - PATCHER HANDSHAKE
9/19/2017 8:30:29 PM - Got handshake, starting patch.
9/19/2017 8:30:29 PM - Checking patch inventory.
9/19/2017 8:30:29 PM - Connecting for maintenance check.
9/19/2017 8:30:29 PM - Fetching patch inventory data..
9/19/2017 8:30:29 PM - Remote game version: 311
9/19/2017 8:30:29 PM - beginPatch()
9/19/2017 8:30:30 PM - Fetching update from server...
9/19/2017 8:30:33 PM - Downloading....
9/19/2017 8:30:33 PM - Found a file of the exact same size, so skipping the download.
9/19/2017 8:30:50 PM - Extracting patch zip...
9/19/2017 8:31:01 PM - Download is complete, now to process the patch...
9/19/2017 8:31:01 PM - Patching file 1 of 66 - build_info.xml
9/19/2017 8:31:01 PM - Patching file 2 of 66 - Bin32\CryRenderD3D11.dll
9/19/2017 8:31:02 PM - Patching file 3 of 66 - Bin32\CryRenderD3D9.dll
9/19/2017 8:31:02 PM - Patching file 4 of 66 - Bin32\frontend_version.dll
9/19/2017 8:31:02 PM - Patching file 5 of 66 - Bin32\MWOClient.exe
9/19/2017 8:31:02 PM - Patching file 6 of 66 - Bin64\CryRenderD3D11.dll
9/19/2017 8:31:02 PM - Patching file 7 of 66 - Bin64\CryRenderD3D9.dll
9/19/2017 8:31:03 PM - Patching file 8 of 66 - Bin64\MWOClient.exe
9/19/2017 8:31:03 PM - Patching file 9 of 66 - Game\Animations.pak
9/19/2017 8:31:04 PM - Patching file 10 of 66 - Game\applejack.pak
#7
Posted 19 September 2017 - 04:46 PM
D:\Program Files\Piranha Games\MechWarrior Online\Bin32\soundbackends\directsound_win32.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin32\soundbackends\windowsaudiosession_win32.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\crashrpt_lang.ini
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\CrashSender1402.exe
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\CryRenderD3D11.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\CryRenderD3D9.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\D3DCompiler_43.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\d3dx11_43.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\d3dx9_43.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\fmodex64.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\fmod_event64.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\fmod_event_net64.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\msvcp100.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\msvcr100.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\MWOClient.exe
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\nvDXTLibrary.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\steam_api64.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\ts3client_win64.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\Txaa.win64.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\xinput1_3.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\soundbackends\directsound_win64.dll
D:\Program Files\Piranha Games\MechWarrior Online\Bin64\soundbackends\windowsaudiosession_win64.dll
D:\Program Files\Piranha Games\MechWarrior Online\Engine\Engine.pak
D:\Program Files\Piranha Games\MechWarrior Online\Engine\ShaderCache.pak
D:\Program Files\Piranha Games\MechWarrior Online\Engine\ShaderCacheStartup.pak
D:\Program Files\Piranha Games\MechWarrior Online\Engine\Shaders.pak
D:\Program Files\Piranha Games\MechWarrior Online\Engine\ShadersBin.pak
D:\Program Files\Piranha Games\MechWarrior Online\Game\Animations.pak
D:\Program Files\Piranha Games\MechWarrior Online\Game\applejack.pak
Scan complete
Starting to fix issues
Fixing mismatched files.
Caught an exception while fixing mismatched files!
Object reference not set to an instance of an object.
Terminating repair process.
Issues fixed!
Seems that even the repair tool is having an issue here.
#8
Posted 19 September 2017 - 04:55 PM
This is a very weird case. I have so much error handling wrapped around the patching operation, just because it's a common point of failure, but somehow the read error brought up by this file is cutting through all the exception handlers and shutting down the Patch Bot itself. I will continue investigating the cause of this problem and work towards an actual solution, but to get yourself back into a state where the game can patch and run, deleting the offending file should do the trick.
Sorry about the frustration.
#9
Posted 19 September 2017 - 05:08 PM
Strange right because it was the only file like that. The rest of the files were fine (Believe me when I say that I have never changed the file permissions on this file). So the fact they are changed makes me suspicious of the file. Is there a location that I can get that pak file?
When I removed it and ran the repair tool it put a 0KB file in it but the game would not patch.
It said something about a pak repair tool?
I was able to move the original file back from the recycle bin (Guess what worked?) Yes everything seems to be fine now.
However I am suspicious of a file that the permissions changed on(When I know I did not do it for a fact 100%). What can I do to remove the file and get one from your site down? Basically I want to delete it in case something has changed the file in some way (Think Virus, although I doubt it but one can be safe).
#10
Posted 19 September 2017 - 05:17 PM
Still a mystery why the applejack.pak file was a 0 KB
Great now... another issue (Cannot get to the game servers, I keep getting a disconnected from game server error...)
UHHHG
Guess what... I cannot delete the files again applejack.pak
#11
Posted 19 September 2017 - 05:22 PM
Logged out back on.. and the desktop file is now gone.
I am running the repair tool to see if it detects the now missing applejack file...
I will dig on this, I doubt its your patcher. It is likely something going on with my system or some corruption of the file which is manifested on my system.
#12
Posted 19 September 2017 - 05:28 PM
The following files show mismatches or are missing and will be downloaded:
-Game\applejack.pak
-game\buccaneer.pak
-game\cobra.pak
-game\crusader.pak
-game\digital.pak
-game\fractal.pak
-game\gamedata.pak
-game\ghostbear.pak
-game\hero.pak
-game\hotrod.pak
-game\iic.pak
-game\jadefalcon.pak
-game\localized\english.pak
-game\mechs\annihilator.pak
-game\mechs\archer.pak
-game\mechs\assassin.pak
-game\mechs\blackknight.pak
-game\mechs\cataphract.pak
-game\mechs\centurion.pak
-game\mechs\dragon.pak
-game\mechs\ebonjaguar.pak
-game\mechs\enforcer.pak
-game\mechs\firestarter.pak
-game\mechs\highlander.pak
-game\mechs\highlanderiic.pak
-game\mechs\hunchbackiic.pak
-game\mechs\jenneriic.pak
-game\mechs\kintaro.pak
-game\mechs\maddog.pak
-game\mechs\mauler.pak
-game\mechs\mistlynx.pak
-game\mechs\orioniic.pak
-game\mechs\supernova.pak
-game\mechs\uziel.pak
-game\mechs\victor.pak
-game\mechs\warhawk.pak
-game\mechs\wolfhound.pak
-game\mechs\wolverine.pak
-game\metal.pak
-game\mountainline.pak
-game\objects.pak
-game\phranken.pak
-game\polygon.pak
-game\raider.pak
-game\razzledazzle.pak
-game\sherman.pak
-game\smokejaguar.pak
-game\snowfall.pak
-game\sounds.pak
-game\tartan.pak
-game\textures.pak
-game\tiger.pak
-game\urbanblock.pak
-game\vagabond.pak
-game\virus.pak
-game\wolf.pak
-game\woodland.pak
The following files are not needed by the game and will be removed:
-bin32\bdiff_utils.dll
-game\levels\forestcolony_snow\level.pak
-game\levels\rivercity_night\level.pak
-mwoupdate\frontendpatch_311.zip
-mwoupdate\patchedfiles\build_info.xml
-mwoupdate\patchedfiles\bin32\cryrenderd3d11.dll
-mwoupdate\patchedfiles\bin32\cryrenderd3d9.dll
-mwoupdate\patchedfiles\bin32\frontend_version.dll
-mwoupdate\patchedfiles\bin32\mwoclient.exe
-mwoupdate\patchedfiles\bin64\cryrenderd3d11.dll
-mwoupdate\patchedfiles\bin64\cryrenderd3d9.dll
-mwoupdate\patchedfiles\bin64\mwoclient.exe
-mwoupdate\patchedfiles\game\animations.pak
-mwoupdate\patchfiles\build_info.xml.hash
-mwoupdate\patchfiles\build_info.xml.newfile
-mwoupdate\patchfiles\frontendpatch_311.txt.manifest
-mwoupdate\patchfiles\bin32\cryrenderd3d11.dll.hash
-mwoupdate\patchfiles\bin32\cryrenderd3d11.dll.patch
-mwoupdate\patchfiles\bin32\cryrenderd3d9.dll.hash
-mwoupdate\patchfiles\bin32\cryrenderd3d9.dll.patch
-mwoupdate\patchfiles\bin32\frontend_version.dll.hash
-mwoupdate\patchfiles\bin32\frontend_version.dll.newfile
-mwoupdate\patchfiles\bin32\mwoclient.exe.hash
-mwoupdate\patchfiles\bin32\mwoclient.exe.patch
-mwoupdate\patchfiles\bin64\cryrenderd3d11.dll.hash
-mwoupdate\patchfiles\bin64\cryrenderd3d11.dll.patch
-mwoupdate\patchfiles\bin64\cryrenderd3d9.dll.hash
-mwoupdate\patchfiles\bin64\cryrenderd3d9.dll.patch
-mwoupdate\patchfiles\bin64\mwoclient.exe.hash
-mwoupdate\patchfiles\bin64\mwoclient.exe.patch
-mwoupdate\patchfiles\game\animations.pak.hash
-mwoupdate\patchfiles\game\animations.pak.patch
-mwoupdate\patchfiles\game\applejack.pak.hash
-mwoupdate\patchfiles\game\applejack.pak.patch
-mwoupdate\patchfiles\game\buccaneer.pak.hash
-mwoupdate\patchfiles\game\buccaneer.pak.patch
-mwoupdate\patchfiles\game\cobra.pak.hash
-mwoupdate\patchfiles\game\cobra.pak.patch
-mwoupdate\patchfiles\game\crusader.pak.hash
-mwoupdate\patchfiles\game\crusader.pak.patch
-mwoupdate\patchfiles\game\digital.pak.hash
-mwoupdate\patchfiles\game\digital.pak.patch
-mwoupdate\patchfiles\game\fractal.pak.hash
-mwoupdate\patchfiles\game\fractal.pak.patch
-mwoupdate\patchfiles\game\gamedata.pak.hash
-mwoupdate\patchfiles\game\gamedata.pak.patch
-mwoupdate\patchfiles\game\ghostbear.pak.hash
-mwoupdate\patchfiles\game\ghostbear.pak.patch
-mwoupdate\patchfiles\game\hero.pak.hash
-mwoupdate\patchfiles\game\hero.pak.patch
-mwoupdate\patchfiles\game\hotrod.pak.hash
-mwoupdate\patchfiles\game\hotrod.pak.patch
-mwoupdate\patchfiles\game\iic.pak.hash
-mwoupdate\patchfiles\game\iic.pak.patch
-mwoupdate\patchfiles\game\jadefalcon.pak.hash
-mwoupdate\patchfiles\game\jadefalcon.pak.patch
-mwoupdate\patchfiles\game\metal.pak.hash
-mwoupdate\patchfiles\game\metal.pak.patch
-mwoupdate\patchfiles\game\mountainline.pak.hash
-mwoupdate\patchfiles\game\mountainline.pak.patch
-mwoupdate\patchfiles\game\objects.pak.hash
-mwoupdate\patchfiles\game\objects.pak.patch
-mwoupdate\patchfiles\game\phranken.pak.hash
-mwoupdate\patchfiles\game\phranken.pak.patch
-mwoupdate\patchfiles\game\polygon.pak.hash
-mwoupdate\patchfiles\game\polygon.pak.patch
-mwoupdate\patchfiles\game\raider.pak.hash
-mwoupdate\patchfiles\game\raider.pak.patch
-mwoupdate\patchfiles\game\razzledazzle.pak.hash
-mwoupdate\patchfiles\game\razzledazzle.pak.patch
-mwoupdate\patchfiles\game\sherman.pak.hash
-mwoupdate\patchfiles\game\sherman.pak.patch
-mwoupdate\patchfiles\game\smokejaguar.pak.hash
-mwoupdate\patchfiles\game\smokejaguar.pak.patch
-mwoupdate\patchfiles\game\snowfall.pak.hash
-mwoupdate\patchfiles\game\snowfall.pak.patch
-mwoupdate\patchfiles\game\sounds.pak.hash
-mwoupdate\patchfiles\game\sounds.pak.patch
-mwoupdate\patchfiles\game\tartan.pak.hash
-mwoupdate\patchfiles\game\tartan.pak.patch
-mwoupdate\patchfiles\game\textures.pak.hash
-mwoupdate\patchfiles\game\textures.pak.patch
-mwoupdate\patchfiles\game\tiger.pak.hash
-mwoupdate\patchfiles\game\tiger.pak.patch
-mwoupdate\patchfiles\game\urbanblock.pak.hash
-mwoupdate\patchfiles\game\urbanblock.pak.patch
-mwoupdate\patchfiles\game\vagabond.pak.hash
-mwoupdate\patchfiles\game\vagabond.pak.patch
-mwoupdate\patchfiles\game\virus.pak.hash
-mwoupdate\patchfiles\game\virus.pak.patch
-mwoupdate\patchfiles\game\wolf.pak.hash
-mwoupdate\patchfiles\game\wolf.pak.patch
-mwoupdate\patchfiles\game\woodland.pak.hash
-mwoupdate\patchfiles\game\woodland.pak.patch
-mwoupdate\patchfiles\game\localized\english.pak.hash
-mwoupdate\patchfiles\game\localized\english.pak.patch
-mwoupdate\patchfiles\game\mechs\annihilator.pak.hash
-mwoupdate\patchfiles\game\mechs\annihilator.pak.patch
-mwoupdate\patchfiles\game\mechs\archer.pak.hash
-mwoupdate\patchfiles\game\mechs\archer.pak.patch
-mwoupdate\patchfiles\game\mechs\assassin.pak.hash
-mwoupdate\patchfiles\game\mechs\assassin.pak.patch
-mwoupdate\patchfiles\game\mechs\blackknight.pak.hash
-mwoupdate\patchfiles\game\mechs\blackknight.pak.patch
-mwoupdate\patchfiles\game\mechs\cataphract.pak.hash
-mwoupdate\patchfiles\game\mechs\cataphract.pak.patch
-mwoupdate\patchfiles\game\mechs\centurion.pak.hash
-mwoupdate\patchfiles\game\mechs\centurion.pak.patch
-mwoupdate\patchfiles\game\mechs\dragon.pak.hash
-mwoupdate\patchfiles\game\mechs\dragon.pak.patch
-mwoupdate\patchfiles\game\mechs\ebonjaguar.pak.hash
-mwoupdate\patchfiles\game\mechs\ebonjaguar.pak.patch
-mwoupdate\patchfiles\game\mechs\enforcer.pak.hash
-mwoupdate\patchfiles\game\mechs\enforcer.pak.patch
-mwoupdate\patchfiles\game\mechs\firestarter.pak.hash
-mwoupdate\patchfiles\game\mechs\firestarter.pak.patch
-mwoupdate\patchfiles\game\mechs\highlander.pak.hash
-mwoupdate\patchfiles\game\mechs\highlander.pak.patch
-mwoupdate\patchfiles\game\mechs\highlanderiic.pak.hash
-mwoupdate\patchfiles\game\mechs\highlanderiic.pak.patch
-mwoupdate\patchfiles\game\mechs\hunchbackiic.pak.hash
-mwoupdate\patchfiles\game\mechs\hunchbackiic.pak.patch
-mwoupdate\patchfiles\game\mechs\jenneriic.pak.hash
-mwoupdate\patchfiles\game\mechs\jenneriic.pak.patch
-mwoupdate\patchfiles\game\mechs\kintaro.pak.hash
-mwoupdate\patchfiles\game\mechs\kintaro.pak.patch
-mwoupdate\patchfiles\game\mechs\maddog.pak.hash
-mwoupdate\patchfiles\game\mechs\maddog.pak.patch
-mwoupdate\patchfiles\game\mechs\mauler.pak.hash
-mwoupdate\patchfiles\game\mechs\mauler.pak.patch
-mwoupdate\patchfiles\game\mechs\mistlynx.pak.hash
-mwoupdate\patchfiles\game\mechs\mistlynx.pak.patch
-mwoupdate\patchfiles\game\mechs\orioniic.pak.hash
-mwoupdate\patchfiles\game\mechs\orioniic.pak.patch
-mwoupdate\patchfiles\game\mechs\supernova.pak.hash
-mwoupdate\patchfiles\game\mechs\supernova.pak.patch
-mwoupdate\patchfiles\game\mechs\uziel.pak.hash
-mwoupdate\patchfiles\game\mechs\uziel.pak.patch
-mwoupdate\patchfiles\game\mechs\victor.pak.hash
-mwoupdate\patchfiles\game\mechs\victor.pak.patch
-mwoupdate\patchfiles\game\mechs\warhawk.pak.hash
-mwoupdate\patchfiles\game\mechs\warhawk.pak.patch
-mwoupdate\patchfiles\game\mechs\wolfhound.pak.hash
-mwoupdate\patchfiles\game\mechs\wolfhound.pak.patch
-mwoupdate\patchfiles\game\mechs\wolverine.pak.hash
-mwoupdate\patchfiles\game\mechs\wolverine.pak.patch
Any files downloaded for the FE will be cleaned.
The shader cache will be cleaned out.
Starting to fix issues
Fixing mismatched files.
#13
Posted 19 September 2017 - 05:37 PM
It's weird that you're seeing ownership issues, though. Do you always log into your machine using the same user account, or is it a shared computer?
Perhaps the only good thing out of this is that I've formulated a procedure to do this without the PatchBot failing, thanks to you pointing out the repair tool logs. It appears that the file access is causing the entire thread to abort, which is one thing in the repair tool (the scanning is threaded, so at least the application can stay running), but it's quite destructive in the PatchBot, since everything just runs on the single thread.
As for why it's downloading all the pak files, that's just because your starting point was the last patch (patch #310). When you ran the repair tool, it fixed all of the unpatched files up to the applejack before it crapped out, which included the version tracking file (frontend_version.dll). So, the patcher thought you were up to date, but you hadn't actually patched any of the files after applejack. That meant they'd show up as mismatches to the repair tool, hence the downloads.
Again, I'm really sorry about all the effort required for this patch to work, but in the end it will lead to a much more solid Portal, and for that I thank you.
#14
Posted 19 September 2017 - 07:56 PM
I looked at the Bin32 and Bin64 directories and verified that those files have been updated already.
I am curious as to why the launcher allows me to hit play when clearly all the files are not correct and or patched. It no longer shows patch.
Is the patcher detecting the frontend version? Is that where the logic is on to display the patch button or the play button? Because it appears that the update to that file and the cry files is from about an hour ago. If that is what is being used it explains why the play button is there instead of patch. Maybe to ensure that all the files have been properly replaced the file used to detect success and the correct version should be installed last. Just a thought to avoid my issue...
Looks like I am now up and running. Thanks for the help
#15
Posted 19 September 2017 - 07:59 PM
Yes I always log in as the same user. This is why it is so concerning to me, because no one else uses the system (Read I am Dad hear me roar). So no one else has admin rights on this box but me. Why the permissions were screwed up I have no idea but when I tried to do anything in explorer it just hung. Command prompt gave me a clue because it stated an error access denied when I tried to delete the file. So as I said no way it was a manual permissions change. Leaves your installer / updater and or maybe AV? I use Avast btw... It did not show any viruses detected so even with a false positive I should have seen it report it did something to the file. I am sure there may be other ways for the perms to change but with 30 years on Windows I am pretty sure they would be really out there and not common.
Hope that helps

Edited by FearThePaladin, 19 September 2017 - 08:31 PM.
#16
Posted 20 September 2017 - 07:04 AM
That's some bro level **** right there.
#17
Posted 20 September 2017 - 09:29 AM
FearThePaladin, on 19 September 2017 - 07:59 PM, said:

So, just to hopefully alleviate some of your concerns, I'll just give my thoughts on this.
First of all, I can't say for sure that the patching process itself isn't responsible for the file ending up in its weird state, since the patcher is typically the only thing that actually modifies files. However, there's a couple of reasons why I don't think that's the case. First of all, after the patcher does modify files, it does a hash scan of its work just to confirm that nothing is broken. Since it's that hash scan that's causing both the patch bot and repair tool to have issues with the file in question, it's not likely that the portal would have survived the validation after the last time you'd patched. So it doesn't seem to me like the patcher would have corrupted this file but not detected anything in the validation step. I actually believe it may have been the game itself that did it. We've seen in the past that the game can, for no clear reason, leave pak files corrupted, leading to an issue we've just called "the FRead error". When we first saw that issue, the patcher was the prime suspect (which is why I added the validation step), but we eventually discounted the patcher when we saw it happen to a build that didn't use any sort of patching process. The frustrating thing is that there's no mechanism to detect when this happens, we can't tell until a later time when either the game or the patcher tries to access the file and can't due to the corruption. Our best guess is that there's something happening, probably when the game crashes, that affects certain open pak files. So, probably the game, not the portal or AV. But, again, that's my (reasonably educated) guess.
As for your earlier concerns about the fact that you ended up in a half-patched state, you are indeed correct about the frontend_version.dll file being the mechanism for determining the version, but that's not exactly the reason why you ended up in that state. The patching process doesn't simply modify your install base one file at a time. It patches all the files in the temp directory first. If the patching process fails for any reason, your install base remains unaffected. It's only when all patches have been applied in the temp directory that it starts moving these patched files into the game directory. I follow a rule of only committing file modifications when the whole patch works, not just one file at a time. It consumes more disk space, unfortunately, but it means that the patcher should never be responsible for breaking your game. What happened in your case was that you ran the repair tool. The repair tool, unlike the patcher, replaces files one at a time. That's because it starts with the assumption that your game is already broken. So, the scan found most of your files were mismatched, since you were a patch behind, and started filling out the mismatch list. But then it hit the corrupted file and the scan thread crashed. But since this was something unanticipated, the repair tool just interpreted this as a finished scan and when you clicked fix, it started downloading those files it had mismatched (essentially just the bins, since that's how far the scan had made it). One of those files, of course, was the version file. Once the repair tool hit the applejack file and tried to repair it, then it threw another exception that caused the repair thread to fail as well (that's the whole "object reference not set..." part in your first repair tool log). Thus, the next time you ran the portal, it saw the current version file and thought you were up to date. We've floated the idea of doing a full file scan every time the portal launches, but that would take a full minute or two, which we felt would be a major friction point every time you launch the portal, so it was shot down. I may add it as an opt-in option, but I don't think many people will keep it on.
Anyway, there's still a lot to figure out, mostly in handling a file that's corrupted on the disk that's crashing out threads trying to access it, but that's all on my end. I hope this long-winded explanation clears up some of your concerns.
Brody, on 20 September 2017 - 07:04 AM, said:
Thanks!
#18
Posted 20 September 2017 - 12:03 PM
This then leaves what could be writing to that file.
AV would be my guess. I would suspect that when the file is opened that most people like myself have a real time scanner. I have seen where the AV programs will cause corruption with files that are opened and closed. This typically happens when the end users have the "Repair" option enabled on their AV solutions.
Thus you would have a write to the file as the AV attempts to fix whatever the issue was and thus changing the file and getting a corruption. You should be able to determine if this is happening in the AV logs as well as looking at the file properties for last change.
I have seen a few instances also where an open file is corrupted due to backups using software that is not designed to properly handle an open file. I suppose that could even then be said of the game itself if it attempted to open a file in use. I would suspect however that you load those files at specific times so a double attempt to load a file would not happen.... However if a file was not properly closed in the program??? That's a possibility as well.
Just a few thoughts about a culprit here for you.
I know you are a busy man.. thanks again.. I will let you get back to it... Enough of me trying to be brilliant WAHAHA
#19
Posted 22 September 2017 - 12:31 PM
#20
Posted 22 September 2017 - 01:13 PM
FearThePaladin, on 22 September 2017 - 12:31 PM, said:
Ok, I have updated the Repair Tool to be able to handle this particular situation, so I'm going to push out a Portal update that will bring that with it. Fixing the patcher itself will take more work, so I don't expect to be able to have that fixed until next week.
Thanks for the updates on this, it's definitely going to lead to a much more stable patcher. In the meantime, you might wanna run chkdsk if you get a chance, just to ensure that this isn't the result of having actual disk problems. That's probably not the case, but just to be on the safe side...
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users