This problem is caused by an incorrect calculation of the number of chunks in the read request.
Here is the workaround applied by the licensee :
int64 FSignedArchiveReader::PrecacheChunks(TArray<FSignedArchiveReader::FReadInfo>& Chunks, int64 Length, FEvent* Event) { SCOPE_SECONDS_ACCUMULATOR(STAT_SignedArchiveReader_PreCacheChunks); // Request all the chunks that are needed to complete this read int64 DataOffset; int64 DestOffset = 0; int32 FirstChunkIndex = CalculateChunkIndex(PakOffset); int64 ChunkStartOffset = CalculateChunkOffset(PakOffset, DataOffset); //int64 NumChunksForRequest = (DataOffset - ChunkStartOffset + Length) / FPakInfo::MaxChunkDataSize + 1; int64 NumChunksForRequest = ((DataOffset - ChunkStartOffset + Length) + FPakInfo::MaxChunkDataSize - 1) / FPakInfo::MaxChunkDataSize; // workaround
1. Execute a read request whose end of the read request matches the 64KB chunk boundary.
Engine may report read requests beyond the end of Pak :
LogFileManager: Error: Requested read of 65536 bytes when 0 bytes remain (file=***.pak, size=9306112)
Then ensure condition failed occurs (see callstack)
Ensure condition failed: 0 [File:***/Engine/Source/Runtime/Core/Private/Windows/WindowsErrorOutputDevice.cpp] [Line: 47]
***-Win64-Test.exe!<lambda_0116df3e6b0fa3cfdd92845ff75013da>::operator()() [***\Engine\Source\Runtime\Core\Private\Windows\WindowsErrorOutputDevice.cpp:47] ***-Win64-Test.exe!FWindowsErrorOutputDevice::Serialize() [***\Engine\Source\Runtime\Core\Private\Windows\WindowsErrorOutputDevice.cpp:47] ***-Win64-Test.exe!FOutputDevice::LogfImpl() [***\Engine\Source\Runtime\Core\Private\Misc\OutputDevice.cpp:61] ***-Win64-Test.exe!AssertFailedImplV() [***\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:104] ***-Win64-Test.exe!FDebug::CheckVerifyFailedImpl() [***\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:461] ***-Win64-Test.exe!DispatchCheckVerify<void,<lambda_dd40a3e0e702ca0fcc8f8ff8fc953680> >() [***\Engine\Source\Runtime\Core\Public\Misc\AssertionMacros.h:165] ***-Win64-Test.exe!FChunkCacheWorker::CheckSignature() [***\Engine\Source\Runtime\PakFile\Private\SignedArchiveReader.cpp:265] ***-Win64-Test.exe!FChunkCacheWorker::ProcessQueue() [***\Engine\Source\Runtime\PakFile\Private\SignedArchiveReader.cpp:217] ***-Win64-Test.exe!FChunkCacheWorker::Run() [***\Engine\Source\Runtime\PakFile\Private\SignedArchiveReader.cpp:70] ***-Win64-Test.exe!FRunnableThreadWin::Run() [***\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:86] ***-Win64-Test.exe!FRunnableThreadWin::GuardedRun() [***\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:35] KERNEL32.DLL!UnknownFunction [] ntdll.dll!UnknownFunction []
i have this problem UE4CC-Windows-58DC12AF4B97F057BD108FBFF569B2E9_0000
I am not able to find world outliner how to enable it?
How can i modify the param name in EQS node
Undefined sysmbol: typeinfo for AActor when cross-compile linux dedicated server on windows
How to achieve HLSL Multiple Render Target in Material blueprints?
How does UMG set overlapping layouts?
What method is used to fill polygonal regions when drawing spline mesh at run time?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-168199 in the post.
0 |
Component | UE - Foundation - Core |
---|---|
Affects Versions | 4.27, 5.0, 5.1 |
Target Fix | 5.1.1 |
Created | Oct 25, 2022 |
---|---|
Resolved | Oct 28, 2022 |
Updated | Dec 14, 2022 |