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

[ELWGOLF] Electronic Fairways - Module Crashes on Initialization #226

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. Load Module
  2. See error

Expected behavior Module Loads

Screenshots

2020-10-27 22:54:08.9501 Info MBBSEmu.Btrieve.BtrieveFileProcessor.LoadSqlite Opening sqlite DB D:\MbbsX64\modules\elwgolfd\ELWGOLF.DB
2020-10-27 22:54:08.9667 Warn MBBSEmu.Btrieve.BtrieveFileProcessor.Insert D:\MbbsX64\modules\elwgolfd\ELWGOLF.DB: Failed to insert record because SQLite Error 19: 'UNIQUE constraint failed: data_t.key_0'.
Critical Exception has occurred:
System.SystemException: Failed to insert database record
   at MBBSEmu.HostProcess.ExportedModules.Majorbbs.insbtv()
   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:

enusbaum commented 3 years ago

This issue is due to the DAT file being used is Btrieve v6+ format. MBBSEmu only Support Btrieve <= 5, aligning with Worldgroup 2.0 (which ships with 5.00c)

We confirmed this module will crash Worldgroup 2.0 on startup.

image