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

[MUICYBER] Lords of Cyberspace - Exception on Nightly Maintenance #214

Closed cschoppy closed 3 years ago

cschoppy commented 3 years ago

Module Information MUICYBER

Describe the bug Exception generated on Nightly Maintenance

To Reproduce Occurs on each maintenance run.

Expected behavior Nightly maintenance completes successfully.

2020-10-20 03:01:16.8251 Info MBBSEmu.HostProcess.MbbsHost.<DoNightlyCleanup>b__55_1 Calling nightly cleanup routine on module MUICYBER
AUDIT SUMMARY: LoC: Clean Up Started
AUDIT DETAIL: LoC: Clean Up Started
AUDIT SUMMARY: LoC: Clearing Inactive Chars
AUDIT DETAIL: LoC: Clearing Inactive Chars
AUDIT SUMMARY: LoC: Checking Tournament
AUDIT DETAIL: LoC: Checking Tournament
AUDIT SUMMARY: LoC: Internet Billing
AUDIT DETAIL: LoC: Internet Billing
2020-10-20 03:01:16.8505 Warn MBBSEmu.HostProcess.ExportedModules.Majorbbs.f_open Reopened File: c:\BBSV6\MUICYBER_MBBSEmu\MUICYBER\DATA\USERS.DAT - most likely a module bug.
Unhandled exception. System.Exception: Unable to locate FileStream for 1006:B8DD (Stream: 0000:0000)
   at MBBSEmu.HostProcess.ExportedModules.Majorbbs.fseek()
   at MBBSEmu.HostProcess.ExportedModules.Majorbbs.Invoke(UInt16 ordinal, Boolean offsetsOnly)
   at MBBSEmu.HostProcess.ExecutionUnits.ExecutionUnit.ExternalFunctionDelegate(UInt16 ordinal, UInt16 functionOrdinal)
   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.CallModuleRoutine(String routine, Action`1 preRunCallback, UInt16 channel)
   at MBBSEmu.HostProcess.MbbsHost.DoNightlyCleanup()
   at MBBSEmu.HostProcess.MbbsHost.ProcessNightlyCleanup()
   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()
enusbaum commented 3 years ago

Duplicate of #143