AssetRipper / AssetRipper

GUI Application to work with engine assets, asset bundles, and serialized files
https://assetripper.github.io/AssetRipper/
GNU General Public License v3.0
3.41k stars 480 forks source link

[Bug]: Crash when opening certain Mordheim asset bundles #1354

Open garfielfing opened 1 month ago

garfielfing commented 1 month ago

Are you on the latest version of AssetRipper?

Yes, I'm on the latest release of AssetRipper.

Which release are you using?

Windows x64

Which game did this occur on?

Mordheim: City of the Damned (Steam) https://steamdb.info/app/276810/

Which Unity version did this occur on?

5.3.6.8337536

Is the game Mono or IL2Cpp?

Not Applicable

Describe the issue.

https://i.imgur.com/y2kUtCN.png This error occurs with multiple, but not all, files in the specified folder. This also occurs with QuickBMS, both the regular Unity and UnityWeb scripts, but it throws up different errors.

Relevant log output

Import : Mixed game structure has been found at [manually blanked]\steamapps\common\mordheim\mordheim_Data\StreamingAssets\asset_bundle\grnd_dis_01_market_scene.assetbundle Import : Files use the 'Unknown' scripting backend. [Error] : System.Exception: Stream only has 161749378 bytes in the stream, so 1117736448 elements of size 1 cannot be read. at AssetRipper.IO.Endian.EndianReader.ThrowIfNotEnoughSpaceForArray(Int32, Int32) + 0x237 at AssetRipper.IO.Endian.EndianReader.ReadEndianArray[T]() + 0x35 at AssetRipper.IO.Files.BundleFiles.RawWeb.RawWebBundleHeader.Read(EndianReader) + 0x79 at AssetRipper.IO.Files.BundleFiles.RawWeb.RawWebBundleFile1.Read(SmartStream) + 0x88 at AssetRipper.IO.Files.Scheme1.Read(SmartStream, String, String) + 0x65 at AssetRipper.IO.Files.Scheme1.AssetRipper.IO.Files.IScheme.Read(SmartStream, String, String) + 0x9 at AssetRipper.IO.Files.SchemeReader.ReadFile(SmartStream, String, String) + 0xc1 at AssetRipper.Assets.Bundles.GameBundle.LoadFilesAndDependencies(IEnumerable1, IDependencyProvider) + 0x9b at AssetRipper.Assets.Bundles.GameBundle.InitializeFromPaths(IEnumerable1, AssetFactoryBase, IGameInitializer) + 0x59 at AssetRipper.Assets.Bundles.GameBundle.FromPaths(IEnumerable1, AssetFactoryBase, IGameInitializer) + 0x51 at AssetRipper.Import.Structure.GameStructure.InitializeGameCollection(UnityVersion, UnityVersion) + 0x122 at AssetRipper.Import.Structure.GameStructure..ctor(List1, CoreConfiguration) + 0x10a at AssetRipper.Import.Structure.GameStructure.Load(IEnumerable1, CoreConfiguration) + 0x35 at AssetRipper.Export.UnityProjects.ExportHandler.Load(IReadOnlyList1) + 0x1a3 at AssetRipper.GUI.Web.GameFileLoader.LoadAndProcess(IReadOnlyList1) + 0x41 at AssetRipper.GUI.Web.Pages.Commands.LoadFile.d0.MoveNext() + 0x132 --- End of stack trace from previous location --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x20 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task) + 0xb2 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task, ConfigureAwaitOptions) + 0x4b at AssetRipper.GUI.Web.Pages.Commands.d6`1.MoveNext() + 0xaf --- End of stack trace from previous location --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x20 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task) + 0xb2 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task, ConfigureAwaitOptions) + 0x4b at AssetRipper.GUI.Web.ErrorHandlingMiddleware.d__0.MoveNext() + 0x9f

github-actions[bot] commented 1 month ago

Thank you for submitting your first issue here. Please be sure you have uploaded your AssetRipper.log file. It is in the same folder as the exe file. :)

garfielfing commented 1 month ago

AssetRipper.log