Cooked pak thread-specific archive error (4.15.1)

We recently updated to UE 4.15.1 and I am seeing an error with how threads are accessing the content in a cooked packaged build. (When using PAK files specifically)

Attempted seek using thread-specific pak file reader on the wrong thread.  Reader for thread 13828 used by thread 2124.
Attempted serialize using thread-specific pak file reader on the wrong thread.  Reader for thread 13828 used by thread 2124.

From my initial research it looks like FMOD is loading the PAK file viaFMODOpen on a Bank Loader thread. Then subsequently reading the archive via FMODRead from an FMOD file reader thread. I believe Unreal made loading changes in 4.15 that started logging an error when this occurs.

I am seeing this error with an accompanying random archive reading crash every once in a while when I make a cooked package using pak files in the development configuration. I had to attach to the cooked binary to trap the error since for whatever reason running it from VS was suppressing the error.

Hi Justin,

Thank you for the bug report.

We are aware of this and are currently working on a solution.

Is there a workaround you would recommend or a rough ETA on a fix?

1 Like

One work around is to not include the FMOD banks in the Pak file, by changing the FMOD folder to an “Additional Non-Asset Directory to Copy” instead of “Additional Non-Asset Directory to Package”.

We are hoping to have this completed fairly quickly, but it does involve overhauling our plugins file I/O system.