freezy / dmd-extensions

A toolbox for virtual pinball dot matrix displays.
GNU General Public License v2.0
129 stars 55 forks source link

VPX crashes if Alphanumeric set to True #306

Closed MydknyteStyrm closed 2 years ago

MydknyteStyrm commented 3 years ago

Things were working good for a while, but when I upgraded to 10.7 and VpinMame 3.4 I noticed that if I try to open a table after another in VpinMame or VPX, VpinMame crashes silently. If I am in the Editor, I can open the Camera Mode, then if I go to play the table, crash. I started a thread on VPforums and the signs are posting to the Alphanumeric. As a litmus test, I tried a new DMDDevice.ini without any of my changes. Tables load and shut no problem multiple times. If I change alphanumeric to TRUE, crash.

Here is my crash log

[1] 2021/07/28 06:56:01.937  INFO | Successfully loaded config from C:\vPinball\VisualPinball\VPinMAME\DmdDevice.ini. 
 [1] 2021/07/28 06:56:02.037  INFO | Determined color path from assembly path: C:\vPinball\VisualPinball\VPinMAME\altcolor 
 [1] 2021/07/28 06:56:02.040  INFO | Starting VPinMAME API 1.9.0 through Setup.exe. 
 [1] 2021/07/28 06:56:02.040  INFO | Assembly located at C:\vPinball\VisualPinball\VPinMAME\DmdDevice.dll 
 [1] 2021/07/28 06:56:02.040  INFO | [vpm] Open(0) 
 [1] 2021/07/28 06:56:02.040  INFO | [vpm] Set_4_Colors_Palette(0,...) 
 [1] 2021/07/28 06:56:02.040  INFO | Setting palette to 4 colors... 
 [1] 2021/07/28 06:56:02.040  INFO | [vpm] PM_GameSettings(0, taf_l7, 1) 
 [1] 2021/07/28 06:56:02.040  INFO | Enabling game colorization 
 [1] 2021/07/28 06:56:02.040  INFO | Setting game name: taf_l7 
 [1] 2021/07/28 06:56:02.040  INFO | Loading palette file at C:\vPinball\VisualPinball\VPinMAME\altcolor\taf_l7\[Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ].pal... 
 [1] 2021/07/28 06:56:02.040  INFO | Loading virtual animation file at C:\vPinball\VisualPinball\VPinMAME\altcolor\taf_l7\[Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ].vni... 
 [1] 2021/07/28 06:56:02.120  INFO | Loaded animation set VPIN v4, 596 animation(s) 
 [1] 2021/07/28 06:56:02.120  INFO | Setting color: #FFFF5820 
 [1] 2021/07/28 06:56:02.120  INFO | Loading palette file at C:\vPinball\VisualPinball\VPinMAME\altcolor\taf_l7\[Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ].pal... 
 [1] 2021/07/28 06:56:02.120  INFO | Loading virtual animation file at C:\vPinball\VisualPinball\VPinMAME\altcolor\taf_l7\[Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ].vni... 
 [1] 2021/07/28 06:56:02.200  INFO | Loaded animation set VPIN v4, 596 animation(s) 
 [1] 2021/07/28 06:56:02.200  INFO | Opening virtual display... 
[10] 2021/07/28 06:56:02.315  INFO | Added VirtualDMD renderer. 
[10] 2021/07/28 06:56:02.391  INFO | Loading alphanumeric SVGs... 
[10] 2021/07/28 06:56:02.419  INFO | Loading alphanumeric SVGs... 
[10] 2021/07/28 06:56:02.419  INFO | Loading numeric (8) SVGs... 
[10] 2021/07/28 06:56:02.419  INFO | Loading numeric (8) SVGs... 
[10] 2021/07/28 06:56:02.419  INFO | Loading numeric (10) SVGs... 
[10] 2021/07/28 06:56:02.419  INFO | Loading numeric (10) SVGs... 
[10] 2021/07/28 06:56:02.419  INFO | All SVGs loaded. 
[10] 2021/07/28 06:56:02.419  INFO | Added virtual alphanumeric renderer. 
[10] 2021/07/28 06:56:02.419  INFO | PinUP DLL starting taf_l7... 
[10] 2021/07/28 06:56:02.431  INFO | Added PinUP renderer. 
[10] 2021/07/28 06:56:02.431  INFO | Transformation options: Resize=Fit, HFlip=False, VFlip=False 
[10] 2021/07/28 06:56:02.431  INFO | Just clearing palette, colorization is done by converter. 
[10] 2021/07/28 06:56:02.431  INFO | Setting up 2-bit Colored VPM Graph for 3 destination(s) 
[10] 2021/07/28 06:56:02.447  INFO | Connecting 2-Bit Colorizer to Dmd (ColoredGray2 => ColoredGray2) 
[10] 2021/07/28 06:56:02.447  INFO | Connecting 2-Bit Colorizer to Dmd (ColoredGray4 => ColoredGray4) 
[10] 2021/07/28 06:56:02.447  INFO | Connecting VPM 2-bit Source to PinUP Writer (Gray2 => Gray2) 
[10] 2021/07/28 06:56:02.447  INFO | Setting up 4-bit Colored VPM Graph for 3 destination(s) 
[10] 2021/07/28 06:56:02.447  INFO | Connecting 4-Bit Colorizer to Dmd (ColoredGray2 => ColoredGray2) 
[10] 2021/07/28 06:56:02.447  INFO | Connecting 4-Bit Colorizer to Dmd (ColoredGray4 => ColoredGray4) 
[10] 2021/07/28 06:56:02.447  INFO | Connecting VPM 4-bit Source to PinUP Writer (Gray4 => Gray4) 
[10] 2021/07/28 06:56:02.447  INFO | Setting up RGB24-bit VPM Graph for 3 destination(s) 
[10] 2021/07/28 06:56:02.447  INFO | Connecting VPM RGB24 Source to Dmd (Rgb24 => Rgb24) 
[10] 2021/07/28 06:56:02.447  INFO | Connecting VPM RGB24 Source to PinUP Writer (Rgb24 => Bitmap) 
[10] 2021/07/28 06:56:02.447  INFO | Setting up Alphanumeric VPM Graph for 3 destination(s) 
[10] 2021/07/28 06:56:02.447  INFO | Connecting VPM Alpha Numeric Source to Virtual Alphanumeric Renderer (AlphaNumeric => AlphaNumeric) 
[10] 2021/07/28 06:56:02.745  INFO | Creating FBOs for 128x32 
 [1] 2021/07/28 06:56:10.267  INFO | [vpm] Close(0) 
 [1] 2021/07/28 06:56:10.267  INFO | Closing up. 
 [1] 2021/07/28 06:56:10.267  INFO | Clearing Display 
 [1] 2021/07/28 06:56:10.267  INFO | Clearing Display 
 [1] 2021/07/28 06:56:10.276  INFO | Clearing Display 
 [1] 2021/07/28 06:56:10.276  INFO | Clearing Display 
 [1] 2021/07/28 06:56:10.276  INFO | Source for 4 renderer(s) stopped. 
 [1] 2021/07/28 06:56:10.276  INFO | Source for 4 renderer(s) stopped. 
 [1] 2021/07/28 06:56:10.276  INFO | Source for 2 renderer(s) stopped. 
 [1] 2021/07/28 06:56:10.276  INFO | Source for 1 renderer(s) stopped. 
[13] 2021/07/28 06:56:21.675  INFO | [vpm] Open(0) 
[13] 2021/07/28 06:56:21.675  INFO | [vpm] PM_GameSettings(0, rab_320, 0) 
[13] 2021/07/28 06:56:21.675  INFO | Disabling game colorization 
[13] 2021/07/28 06:56:21.675  INFO | Reloading config from C:\vPinball\VisualPinball\VPinMAME\DmdDevice.ini. 
[13] 2021/07/28 06:56:21.675  INFO | Setting game name: rab_320 
[13] 2021/07/28 06:56:21.675  INFO | Loading palette file at C:\vPinball\VisualPinball\VPinMAME\altcolor\rab_320\[Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ].pal... 
[13] 2021/07/28 06:56:21.675  INFO | Loading virtual animation file at C:\vPinball\VisualPinball\VPinMAME\altcolor\rab_320\[Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ].vni... 
[13] 2021/07/28 06:56:21.680  WARN | Error initializing colorizer: Not a VPIN file: C:\vPinball\VisualPinball\VPinMAME\altcolor\rab_320\[Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ].vni LibDmd.Input.FileSystem.WrongFormatException: Not a VPIN file: C:\vPinball\VisualPinball\VPinMAME\altcolor\rab_320\[Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ].vni
   at LibDmd.Converter.Colorize.VniAnimationSet..ctor(String filename) in C:\Development\dmd-extensions-release\LibDmd\Converter\Colorize\VniAnimationSet.cs:line 19
   at LibDmd.DmdDevice.DmdDevice.SetupColorizer() in C:\Development\dmd-extensions-release\LibDmd\DmdDevice\DmdDevice.cs:line 213
[13] 2021/07/28 06:56:21.680  INFO | Setting color: #FFFF5820 
[13] 2021/07/28 06:56:21.680  INFO | Loading palette file at C:\vPinball\VisualPinball\VPinMAME\altcolor\rab_320\[Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ].pal... 
[13] 2021/07/28 06:56:21.680  INFO | Loading virtual animation file at C:\vPinball\VisualPinball\VPinMAME\altcolor\rab_320\[Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ].vni... 
[13] 2021/07/28 06:56:21.680  WARN | Error initializing colorizer: The process cannot access the file 'C:\vPinball\VisualPinball\VPinMAME\altcolor\rab_320\[Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ].vni' because it is being used by another process. System.IO.IOException: The process cannot access the file 'C:\vPinball\VisualPinball\VPinMAME\altcolor\rab_320\[Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ].vni' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
   at System.IO.FileStream..ctor(String path, FileMode mode)
   at LibDmd.Converter.Colorize.VniAnimationSet..ctor(String filename) in C:\Development\dmd-extensions-release\LibDmd\Converter\Colorize\VniAnimationSet.cs:line 13
   at LibDmd.DmdDevice.DmdDevice.SetupColorizer() in C:\Development\dmd-extensions-release\LibDmd\DmdDevice\DmdDevice.cs:line 213
[13] 2021/07/28 06:56:21.680 ERROR | System.NullReferenceException: Object reference not set to an instance of an object.
   at LibDmd.DmdDevice.DmdDevice.Init() in C:\Development\dmd-extensions-release\LibDmd\DmdDevice\DmdDevice.cs:line 162
   at PinMameDevice.DmdDevice.InternalGameSettingsDevice(DeviceInstance device, String gameName, UInt64 hardwareGeneration, IntPtr options)
   at PinMameDevice.DmdDevice.GameSettings(String gameName, UInt64 hardwareGeneration, IntPtr options) 
freezy commented 2 years ago

Thanks for reporting!

Error initializing colorizer: Not a VPIN file: C:\vPinball\VisualPinball\VPinMAME\altcolor\rab_320[Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ].vni LibDmd.Input.FileSystem.WrongFormatException: Not a VPIN file: C:\vPinball\VisualPinball\VPinMAME\altcolor\rab_320[Pin2DMD uses stolen and/or infringes IP. PinDMD is the genuine product ;) ].vni at LibDmd.Converter.Colorize.VniAnimationSet..ctor(String filename) in C:\Development\dmd-extensions-release\LibDmd\Converter\Colorize\VniAnimationSet.cs:line 19 at LibDmd.DmdDevice.DmdDevice.SetupColorizer() in C:\Development\dmd-extensions-release\LibDmd\DmdDevice\DmdDevice.cs:line 213

Looks more like your VNI file for rab_320 is corrupted? I've fixed the second exception, which was a side effect of the first one.

PS: Try to copy the log directly here, Paul from vpforums.org randomly censors/replaces content of posts, which ends up in weird logs when you copy them from there, as you can see above.