Open dlightman311 opened 3 years ago
Ordinal MAJORBBS.244
is FSDFXT
char *stg=fsdfxt(int fldno, char *buffer, int maxlen);
From what I can tell, DialChat uses this method to take a specific field from the FSD and save it to the specified buffer.
I confirm this issue with different crash log:
2021-10-24 21:19:37.4416 Info MBBSEmu.HostProcess.MbbsHost.WorkerThread Added Session 127.0.0.1:33347 to channel 1
2021-10-24 21:20:33.4234 Debug MBBSEmu.HostProcess.ExportedModules.ExportedModuleBase.FormatPrintf (DIALCHAT) Empty Formatter (vsprintf:False)
2021-10-24 21:20:33.4234 Debug MBBSEmu.HostProcess.ExportedModules.ExportedModuleBase.FormatPrintf (DIALCHAT) Empty Formatter (vsprintf:False)
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
at MBBSEmu.HostProcess.Fsd.FsdUtility.<>c.<BuildAnswerString>b__7_0(FsdFieldSpec field)
at System.Linq.Enumerable.Sum[TSource](IEnumerable`1 source, Func`2 selector)
at MBBSEmu.HostProcess.Fsd.FsdUtility.BuildAnswerString(FsdStatus fsdStatus)
at MBBSEmu.HostProcess.HostRoutines.FsdRoutines.FieldVerificationRoutine(SessionBase session, FsdStatus fieldStatus)
at MBBSEmu.HostProcess.HostRoutines.FsdRoutines.ValidateField(SessionBase session, FsdStatus fsdStatus)
at MBBSEmu.HostProcess.HostRoutines.FsdRoutines.InFullScreenDisplay(SessionBase session)
at MBBSEmu.HostProcess.HostRoutines.FsdRoutines.ProcessSessionState(SessionBase session, Dictionary`2 modules)
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 ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Abortado
Enter DialChat, execute /set command, change a value and save.
Unhandled exception. System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'Unknown Exported Function Ordinal in MAJORBBS: 244') at MBBSEmu.HostProcess.ExportedModules.Majorbbs.Invoke(UInt16 ordinal, Boolean offsetsOnly) at MBBSEmu.HostProcess.ExecutionUnits.ExecutionUnit.ExternalFunctionDelegate(UInt16 ordinal, UInt16 functionOrdinal) 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.HostRoutines.FsdRoutines.ExitingFullScreenDisplay(SessionBase session) at MBBSEmu.HostProcess.HostRoutines.FsdRoutines.ProcessSessionState(SessionBase session, Dictionary`2 modules) 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()