mbbsemu / MBBSEmu

The MajorBBS Emulation Project is an Open Source, Cross-Platform emulator for easily running The MajorBBS & Worldgroup Modules
https://www.mbbsemu.com
MIT License
132 stars 14 forks source link

[ELWIC] Infinity Complex - Module Crashes on Initialization #225

Closed tuday2 closed 3 years ago

tuday2 commented 3 years ago

Module Information

Describe the bug Module Crashes on Initialization

To Reproduce Steps to reproduce the behavior:

  1. Add game to modules.json
  2. Launch MBBSemu

Expected behavior Infinity Complex initializes

Screenshots

2020-10-27 22:47:55.5946 Warn MBBSEmu.Btrieve.BtrieveFileProcessor.CreateSqliteDB Creating sqlite db D:\MbbsX64\modules\INFCMPLX\ELWICPLY.DB
2020-10-27 22:47:55.7976 Warn MBBSEmu.Btrieve.BtrieveFile.LoadBtrieveRecords Skipping Non-Data Page, might have invalid data - Page Start: 0x1805
2020-10-27 22:47:55.8002 Warn MBBSEmu.Btrieve.BtrieveFile.LoadBtrieveRecords Skipping Non-Data Page, might have invalid data - Page Start: 0x2205
2020-10-27 22:47:55.8002 Warn MBBSEmu.Btrieve.BtrieveFileProcessor.CreateSqliteDB Creating sqlite db D:\MbbsX64\modules\INFCMPLX\ELWICRMS.DB
Critical Exception has occurred:
System.ArgumentException: Bad unsigned integer key length 6
   at MBBSEmu.Btrieve.BtrieveKey.KeyDataToSqliteObject(ReadOnlySpan`1 keyData)
   at MBBSEmu.Btrieve.BtrieveFileProcessor.PopulateSqliteDataTable(SqliteConnection connection, BtrieveFile btrieveFile)
   at MBBSEmu.Btrieve.BtrieveFileProcessor.CreateSqliteDB(String fullpath, BtrieveFile btrieveFile)
   at MBBSEmu.Btrieve.BtrieveFileProcessor..ctor(IFileUtility fileUtility, String path, String fileName)
   at MBBSEmu.HostProcess.ExportedModules.Majorbbs.opnbtv()
   at MBBSEmu.HostProcess.ExportedModules.Majorbbs.Invoke(UInt16 ordinal, Boolean offsetsOnly)
   at MBBSEmu.HostProcess.ExecutionUnits.ExecutionUnit.ExternalFunctionDelegate(UInt16 ordinal, UInt16 functionOrdinal)
   at MBBSEmu.CPU.CpuCore.Op_Call()
   at MBBSEmu.CPU.CpuCore.Tick()
   at MBBSEmu.HostProcess.ExecutionUnits.ExecutionUnit.Execute(IntPtr16 entryPoint, UInt16 channelNumber, Boolean simulateCallFar, Boolean bypassState, Queue`1 initialStackValues, UInt16 initialStackPointer)
   at MBBSEmu.Module.MbbsModule.Execute(IntPtr16 entryPoint, UInt16 channelNumber, Boolean simulateCallFar, Boolean bypassSetState, Queue`1 initialStackValues, UInt16 initialStackPointer)
   at MBBSEmu.HostProcess.MbbsHost.AddModule(MbbsModule module)
   at MBBSEmu.HostProcess.MbbsHost.Start(List`1 moduleConfigurations)
   at MBBSEmu.Program.Run(String[] args)

Software Information:

tuday2 commented 3 years ago

Fixed in Build 110120-4