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
131 stars 14 forks source link

[MUICHAOS] Swords of Chaos - System crash at main menu when reading docs #548

Closed Ohmz1290 closed 2 years ago

Ohmz1290 commented 2 years ago

Module Information

Describe the bug When attempting to read docs, options 1, 5, and 7, from the game menu (the main menu before entering the realm), will crash the system. See error below.

To Reproduce Steps to reproduce the behavior:

  1. Run the module and stay on the main menu that first opens up.
  2. Type "1" for the "General Info" docs, system will crash. Same with options 5 or 7. Reading other docs aren't causing the issue, just these three.
  3. See error

Expected behavior It should work similar to the other docs you can read from the menu (option 0,2,3,etc) - just a simple ASCII text output.

Screenshots Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array. at MBBSEmu.Session.LineBreaker.SendBreakingIntoLines(Byte[] buffer) at MBBSEmu.Session.SessionBase.SendToClient(Byte[] dataToSend) at MBBSEmu.HostProcess.ExportedModules.Majorbbs.ftgsbm() 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(FarPtr entryPoint, UInt16 channelNumber, Boolean simulateCallFar, Boolean bypassState, Queue1 initialStackValues, UInt16 initialStackPointer) at MBBSEmu.Module.MbbsModule.Execute(FarPtr entryPoint, UInt16 channelNumber, Boolean simulateCallFar, Boolean bypassSetState, Queue1 initialStackValues, UInt16 initialStackPointer) at MBBSEmu.HostProcess.MbbsHost.WorkerThread() at System.Threading.Thread.StartCallback()

Software Information: