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

[XCLIBUR] Excalibur! - Crashes when sending in game mail to another user #278

Open tuday2 opened 3 years ago

tuday2 commented 3 years ago

Module Information

Describe the bug Crashes when sending in game mail to another user

To Reproduce Steps to reproduce the behavior:

  1. Enter module
  2. Select "(D) Dispatch a Message to a Player"
  3. Enter username of user
  4. See error

Expected behavior Able to send in game mail to another user

Screenshots

2020-11-08 22:54:14.3250 Error MBBSEmu.HostProcess.ExportedModules.Majorbbs.Invoke Unknown Exported Function Ordinal in MAJORBBS: 88:OLDBGNEDT
Unhandled exception. System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'Unknown Exported Function Ordinal in MAJORBBS: 88:OLDBGNEDT')
   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.WorkerThread()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
   at System.Threading.ThreadHelper.ThreadStart()

Software Information:

tuday2 commented 3 years ago

Dial Chat - This same error is happening when using /M command

enusbaum commented 3 years ago

Duplicate of #166

enusbaum commented 3 years ago

BGNEDIT and OLDBGNEDIT look like routines that start the email/message entry system. This differs from the FSD Entry screen as a template is not passed in, it's a standard message entry.

We'll need to write a new subsystem that handles text entry similar to the MajorBBS/Worldgroup message entry screens.