Author Topic: mGalaxy crashes when loading DB from Gamebase -> RomLister  (Read 5847 times)

mgtroyas

  • Newbie
  • *
  • Posts: 15
    • Email
mGalaxy crashes when loading DB from Gamebase -> RomLister
« Reply #1 on: December 04, 2014, 08:37:07 AM »
Hello,

I'm trying to use my GameBase collections on mGalaxy. I'm starting with the Amiga Gamebase. The process is explained in this URL:
http://www.bu22.com/wiki/exporting_gamebases_to_other_frontends

With RomLister I've created an XML file that should map the game filenames with their real names. I'm attaching it. But if I import it on mGalaxy and activate "use DB file (if available)", then when I select the Amiga system mGalaxy crashes. If I don't use the XML it doesn't crash (but shows only filenames).

There are about 2500 games so I tried filtering an smaller XML, but it also crashes, so doesn't look as a size problem. Perhaps invalid characters on file names?

Could somebody test this XML and deduce why it's crashing?

Windows 7 64bit Event Viewer log:

Code: (xml) [Select]
Aplicación: mGalaxy.exe
Versión de Framework: v4.0.30319
Descripción: el proceso terminó debido a una excepción no controlada.
Información de la excepción: System.ArgumentException
Pila:
   en System.ThrowHelper.ThrowArgumentException(System.ExceptionResource)
   en System.Collections.Generic.Dictionary`2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Insert(System.__Canon, System.__Canon, Boolean)
   en System.Collections.Generic.Dictionary`2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Add(System.__Canon, System.__Canon)
   en mGalaxy.MainWindow.EmuInit()
   en mGalaxy.MainWindow.emuRefresh()
   en mGalaxy.MainWindow.emuSwitch(System.Object)
   en mGalaxy.MainWindow.frm_FormSaved6(System.Object)
   en mGalaxy.Window6.ActionSelect()
   en mGalaxy.Window6.PadRefresh()
   en mGalaxy.Window6._Lambda$__14(System.Object, System.EventArgs)
   en System.Windows.Threading.DispatcherTimer.FireTick(System.Object)
   en System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   en MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   en System.Windows.Threading.DispatcherOperation.InvokeImpl()
   en System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
   en System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   en System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   en System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   en System.Windows.Threading.DispatcherOperation.Invoke()
   en System.Windows.Threading.Dispatcher.ProcessQueue()
   en System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   en MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   en MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   en System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   en MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   en System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   en MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
   en MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
   en System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
   en System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
   en System.Windows.Threading.Dispatcher.Run()
   en System.Windows.Application.RunDispatcher(System.Object)
   en System.Windows.Application.RunInternal(System.Windows.Window)
   en System.Windows.Application.Run(System.Windows.Window)
   en System.Windows.Application.Run()
   en mGalaxy.Application.Main()

EDIT: I just found the problem. There are multiple entries on Gamebase associated to the same game file, using different hardware parameters. So it generates a collision on the game list. I'll see the best way to avoid this...
« Last Edit: November 10, 2015, 05:06:28 AM by mgalaxy »