Jump to content



Photo
- - - - -

9.9.1 and VP10 Crash under Win 10


  • Please log in to reply
10 replies to this topic

#1 pilotniq

pilotniq

    Hobbyist

  • Members
  • PipPip
  • 30 posts
  • Location:Stockholm, Sweden

  • Flag: Sweden

  • Favorite Pinball: Tommy

Posted 17 December 2014 - 11:13 PM

I'm new at this, I have installed VP according to the instructions on a new computer running Windows 10.

 

The latest version crashes when I try to play a table.

 

So, I downloaded Visual Studio 2013 Community edition, and I can reproduce the a crash in the debugger.

 

Here's the call stack: http://pastebin.com/0TZMG0L5

 

It looks like the crash is in Visual PinMAME. I tried to build Visual Pinmame from source in Visual Studio too, but didn't manage it, the source and Project files look very ancient.

 

Can anyone give me any hints to get further debugging this? Thanks.

 

 

 



#2 Sir Cheddar

Sir Cheddar

    His Sharpness

  • VIP
  • 383 posts

  • Flag: ---------

  • Favorite Pinball: Tales of the Arabian Nights



Posted 18 December 2014 - 06:37 AM

I can't give you any info about debugging this, but I would guess it's ddraw related. Have you tried setting ddraw=0 in hkcu\software\freeware\visual pinball\[ROM name]?

#3 fuzzel

fuzzel

    spaghetti code

  • VP Dev Team
  • PipPipPipPipPip
  • 2,818 posts

  • Flag: Germany

  • Favorite Pinball: yes I have

Posted 18 December 2014 - 08:11 AM

Oh wow Windows 10. That OS is so new and so beta that I wouldn't test anything on Win10 at the moment. VPM uses DX7 if I remember correctly. I don't know if Win10 supports these old DX versions anymore.



#4 pilotniq

pilotniq

    Hobbyist

  • Members
  • PipPip
  • 30 posts
  • Location:Stockholm, Sweden

  • Flag: Sweden

  • Favorite Pinball: Tommy

Posted 18 December 2014 - 09:18 PM

I've now stepped through the code until just before the crash. I think the crash is related to VBScript. Anyhow, the stack trace is (This is in VP 9.9.1 source):

> VPinball.exe!EventProxy<PinTable,&DIID_ITableEvents>::FireDispID(long dispid, tagDISPPARAMS * pdispparams) Line 89 C++
  VPinball.exe!EventProxyBase::FireVoidEvent(int dispid) Line 14 C++
  VPinball.exe!Player::Init(PinTable * const ptable, HWND__ * const hwndProgress, HWND__ * const hwndProgressName) Line 934 C++
  VPinball.exe!PinTable::Play() Line 1708 C++
  VPinball.exe!VPinball::DoPlay() Line 1541 C++
  VPinball.exe!VPinball::ParseCommand(int code, HWND__ * hwnd, int notify) Line 754 C++
  VPinball.exe!VPSideBarWndProc(HWND__ * hwnd, unsigned int uMsg, unsigned int wParam, long lParam) Line 2426 C++
  [External Code] 
  [Frames below may be incorrect and/or missing, no symbols loaded for user32.dll] 
  VPinball.exe!VPinball::MainMsgLoop() Line 2067 C++
  VPinball.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * __formal, char * __formal, int __formal) Line 289 C++
  [External Code] 
The line being called is:
pDispatch->Invoke(dispid, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, pdispparams, NULL, NULL, NULL); 

It jumps into VBScript processing, and the next thing that happens is that I have the first stack trace I posted, with a message:

 

Unhandled exception at 0x10C2BA30 in VPinball.exe: 0xC000041D: An unhandled exception was encountered during a user callback.
 
If there is a handler for this exception, the program may be safely continued.
 
If I try to continue, the same error reappears.

I can't give you any info about debugging this, but I would guess it's ddraw related. Have you tried setting ddraw=0 in hkcu\software\freeware\visual pinball\[ROM name]?

Thanks for the hint, Sir Cheddar.

 

In my registry there is no 'freeware' in the path, and no entry for the ROM name. Should there be?


Edited by pilotniq, 18 December 2014 - 09:16 PM.


#5 Sir Cheddar

Sir Cheddar

    His Sharpness

  • VIP
  • 383 posts

  • Flag: ---------

  • Favorite Pinball: Tales of the Arabian Nights



Posted 18 December 2014 - 10:58 PM

In my registry there is no 'freeware' in the path, and no entry for the ROM name. Should there be?

I got the path wrong in my post this morning, the right path should be HKEY_CURRENT_USER\Software\Freeware\Visual PinMame\default

PinMame probably crashes very early, before it is able to write the key to the registry. As Fuzzel said above, who knows if W10 will support DX7.

 

You still can try to disable ddraw by creating "HKEY_CURRENT_USER\Software\Freeware\Visual PinMame\default\ddraw=0" manually (DWORD value)



#6 gtxjoe

gtxjoe

    VPF Veteran

  • VIP
  • 5,153 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness, AbraCadabra



Contributor

Posted 19 December 2014 - 12:00 AM

Does pinmame run standalone?  in vPinmame folder, run setup.exe, click on Test and pick the Rom you downloaded and start it



#7 fuzzel

fuzzel

    spaghetti code

  • VP Dev Team
  • PipPipPipPipPip
  • 2,818 posts

  • Flag: Germany

  • Favorite Pinball: yes I have

Posted 19 December 2014 - 09:45 AM

And keep in mind that the vbscript loads & starts VPM and other dlls (like B2S).



#8 pilotniq

pilotniq

    Hobbyist

  • Members
  • PipPip
  • 30 posts
  • Location:Stockholm, Sweden

  • Flag: Sweden

  • Favorite Pinball: Tommy

Posted 19 December 2014 - 10:16 PM

Thanks for your advice.

 

I've tried it now on Win 10 64-bit on a native machine, Win 10 32-bit under Parallell desktop on a Mac, and under Windows 8.1 64-bit under Paralells on a Mac. These are the platforms I have easy access to.

 

I have problems which look similar on all platforms. Under Windows 8.1 (64-bit) I can run the VPinMame test successfully, but 9.9.1 still crashes at Starting Game Scripts.

 

I tried setting the ddraw=0 under default, and there was also a ddraw key in the rom, which set to 0, neither helped.

 

I'm at a loss. Why am I having these problems when it works for everyone else? I think I've ruled out it being Win 10, since Win 8.1 doesn't work either. I think I have ruled out it being 64-bit OS, since it doesn't work on 32-bit Win 10. I've tried to debug the software almost as far as I can go (but I have not been able to build Visual PinMame yet). I don't think it is a silly installation mistake, since I've been able to replicate the problem on three platforms by following the installation instructions.

 

9.2.1 runs on Win 10 64-bit native, but 9.9.1 doesn't. This would indicate it's something with the DX9 port which I think happened between 9.2.1 and 9.9.1, right? However, I didn't get sound with 9.2.1 (but I did get sound with the VIsual PinMame test on Win 8.1 64 bit).

 

Update: Visual PinMAME test works on all platfoms. I got music to work on Win 10 64-bit native under 9.2.1.

 

I guess I'll just have to use 9.2.1, but I'd love to help get this issue sorted out if there's anything I can do. I'm pretty sure anyone can replicate the problem by downloading a free Win 10 install and running it in a virtual machine.

 

Now I'll try to get on with building a cabinet!


Edited by pilotniq, 19 December 2014 - 10:38 PM.


#9 BigHein

BigHein

    Enthusiast

  • Members
  • PipPipPip
  • 149 posts

  • Flag: Netherlands

  • Favorite Pinball: Twilight Zone

Posted 20 December 2014 - 09:13 AM

try copy d3d9.dll from windows system to the vp folder it workt for me



#10 pilotniq

pilotniq

    Hobbyist

  • Members
  • PipPip
  • 30 posts
  • Location:Stockholm, Sweden

  • Flag: Sweden

  • Favorite Pinball: Tommy

Posted 26 December 2014 - 10:13 AM

Update: On my Windows 8 VM (under Paralells VM, OS X host), where I had this crash, I just tried with 9.9.0, and tables that crash under 9.9.1 work under 9.9.0.

 

Strange, since the Changelog doesn't list any major changes.

 

When I have time, I guess I'll try introducing one change at a time, and see what causes the problem.



#11 mr2buds

mr2buds

    Hobbyist

  • Members
  • PipPip
  • 37 posts

  • Flag: ---------

  • Favorite Pinball: Adams Family

Posted 31 January 2015 - 04:42 PM

I just tried with 9.9.0, and tables that crash under 9.9.1 work under 9.9.0.

 

I know the post is a bit old, but check your vpinmame version.  VP 9.91 crashes when you use the cabinet version of pinmame (from this site), use the vpinmame 2.6 alpha.  Further details on this thread.

 

http://www.vpforums....showtopic=30131


Edited by mr2buds, 31 January 2015 - 04:42 PM.