http://bugs.winehq.org/show_bug.cgi?id=28008
Summary: RC Cars fails to start unless network option disabled Product: Wine Version: 1.3.26 Platform: x86 URL: http://www.fileplanet.com/131248/130000/fileinfo/R.C.- Cars-Demo OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: gyebro69@gmail.com
Created an attachment (id=35855) --> (http://bugs.winehq.org/attachment.cgi?id=35855) plain terminal output (only built-in dlls)
When launching RC Cars, the game exception handler kicks in and displays the following message: 'Hardware exception: Access violation. Exception address: 0x7BC355F5'. Thus the game fails to start.
I found out that one of the game options, namely 'NET_Init' in the config file (Config.gm) must be disabled and the game will start normally. Unfortunately this makes multiplayer unavailable in the game...
Installing native directplay components via winetricks doesn't resolve the problem.
Maybe it gives a clue on the problem that the game's own debug log file always ends with: error: IDirectPlay8Peer_EnumServiceProviders() failed
error: _netProvInit() failed
Probably not only directplay is involved, something else is missing, too.
The demo linked in the URL field can be used for testing the problem but the installer of the demo hits bug #28006. You need to install the demo with 1.3.22 (or older) until bug #28006 gets fixed.
Fedora 15 x86
http://bugs.winehq.org/show_bug.cgi?id=28008
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
http://bugs.winehq.org/show_bug.cgi?id=28008
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |xerox_xerox2000@yahoo.co.uk Ever Confirmed|0 |1
--- Comment #1 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-08-07 06:32:05 CDT --- Confirming. Looks like it chokes in IDirectPlay8PeerImpl_EnumServiceProviders not returning succes. A simple returning succes makes the app start fine for me.
I'll send a patch
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #2 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-08-07 11:47:16 CDT --- Created an attachment (id=35864) --> (http://bugs.winehq.org/attachment.cgi?id=35864) some tests for IDirectPlay8Peer_EnumServiceProviders
I made some tests for IDirectPlay8Peer_EnumServiceProviders. I think it's ok in wine to return zero providers and return succes, that makes the game start.
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #3 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-08-16 07:33:43 CDT --- Created an attachment (id=35984) --> (http://bugs.winehq.org/attachment.cgi?id=35984) patch:add missing IDirectPlay8Peer methods
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #4 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-08-16 07:36:54 CDT --- (In reply to comment #3)
Created an attachment (id=35984)
--> (http://bugs.winehq.org/attachment.cgi?id=35984) [details]
patch:add missing IDirectPlay8Peer methods
After struggling a lot of time to get the demo running by returning something useful in IDirectPlay8PeerImpl_EnumServiceProviders, and the app kept crashing, i found it was because of missing IDirectPlay8Peer methods...
After this patch, and patch for IDirectPlay8Peer IDirectPlay8PeerImpl_EnumServiceProviders (i'll attach hereafter) the app starts fine.
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #5 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-08-16 07:54:00 CDT --- Created an attachment (id=35985) --> (http://bugs.winehq.org/attachment.cgi?id=35985) patch 2:dpnet: return success in IDirectPlay8PeerImpl_Initialize
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #6 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-08-16 07:55:57 CDT --- Created an attachment (id=35986) --> (http://bugs.winehq.org/attachment.cgi?id=35986) patch3: dpnet: return a provider in IDirectPlay8PeerImpl_EnumServiceProviders (a TCP/IP provider)
Last patch to get the app running. This patch makes wine return a TCP/IP provider.
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #7 from GyB gyebro69@gmail.com 2011-08-16 12:37:02 CDT --- (In reply to comment #6)
Created an attachment (id=35986)
--> (http://bugs.winehq.org/attachment.cgi?id=35986) [details]
patch3: dpnet: return a provider in IDirectPlay8PeerImpl_EnumServiceProviders (a TCP/IP provider)
Last patch to get the app running. This patch makes wine return a TCP/IP provider.
Your patches indeed fixed the startup problem in the game and even the multiplayer option is available now (I successfully tested hot-seat mode).
I much appreciate your effort to resolve this bug. Hopefully the patches will get in and they can help to fix issues in other apps/games, too.
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #8 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-08-16 15:07:36 CDT --- Hi Gyb,
multiplayer option is available now (I successfully tested hot-seat mode).
What exactly is hot-seat mode? I tried to get some further in the multiplayer session too, but no luck. What is the exact way one would play the game (what is the host address etc?)
http://bugs.winehq.org/show_bug.cgi?id=28008
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #35864|0 |1 is obsolete| |
--- Comment #9 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-08-17 04:47:30 CDT --- Created an attachment (id=36006) --> (http://bugs.winehq.org/attachment.cgi?id=36006) better tests for EnumServiceProviders
Updated tests for EnumServiceProviders , fixed a few issues in previous test, they all pass wine-test bot
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #10 from GyB gyebro69@gmail.com 2011-08-17 10:24:53 CDT --- (In reply to comment #8)
Hi Gyb,
multiplayer option is available now (I successfully tested hot-seat mode).
What exactly is hot-seat mode? I tried to get some further in the multiplayer session too, but no luck. What is the exact way one would play the game (what is the host address etc?)
Hot-seat mode is actually local multiplayer when 2 players are competing each other on the same machine (split screen). I tried the game under Virtualbox (Win XP guest) and comparing it to running under Wine I see the following differences (I must add that multiplayer for the game seems to be pretty much dead so no other players were present): - the protocol option is blanked in Wine while it shows TCP/IP under Windows - creating a multiplayer session in Wine resulted the message 'cannot create the GAME
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #11 from GyB gyebro69@gmail.com 2011-08-17 10:36:03 CDT --- This is a follow-up to comment #10 (sorry for the interruption):
I see fixme:dpnet:IDirectPlay8PeerImpl_CancelAsyncOperation (0x16b9e8)->(0,2): stub fixme:dpnet:IDirectPlay8PeerImpl_SetPeerInfo (0x16b9e8)->(0x32fa88,(nil),0x32faa0,0): stub fixme:dpnet:IDirectPlay8PeerImpl_SetPeerInfo (0x16b9e8)->(0x32fa94,(nil),0x32faac,0): stub
when trying to create a multiplayer game under Wine (in Windows creating a game succeeded and the game waits for other players sign in).
My IP address is correctly detected when running the game under Wine.
http://bugs.winehq.org/show_bug.cgi?id=28008
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #36006|0 |1 is obsolete| |
--- Comment #12 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-08-20 10:22:56 CDT --- Created an attachment (id=36053) --> (http://bugs.winehq.org/attachment.cgi?id=36053) tests for EnumServiceProviders (final version)
added final version of tests. Will submit next week
http://bugs.winehq.org/show_bug.cgi?id=28008
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #35986|0 |1 is obsolete| |
--- Comment #13 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-08-20 10:25:09 CDT --- Created an attachment (id=36054) --> (http://bugs.winehq.org/attachment.cgi?id=36054) patch3: return a a TCP/IP provider in IDirectPlay8PeerImpl_EnumServiceProviders
final version of patch. The previous one was not correct. Will submit later this week
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #14 from GyB gyebro69@gmail.com 2011-08-22 12:04:03 CDT --- (In reply to comment #13)
Created an attachment (id=36054)
--> (http://bugs.winehq.org/attachment.cgi?id=36054) [details]
patch3: return a a TCP/IP provider in IDirectPlay8PeerImpl_EnumServiceProviders
final version of patch. The previous one was not correct. Will submit later this week
Sorry for my incompetence but what does your latest patch suppose to do? I don't see any difference, compared to the previous one. The protocol field is still empty in the multiplayer menu of the game (instead of showing TCP/IP).
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #15 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-08-22 12:42:35 CDT --- Created an attachment (id=36078) --> (http://bugs.winehq.org/attachment.cgi?id=36078) make GetSPCaps return suddes
Sorry for my incompetence but what does your latest patch suppose to do? I don't see any difference, compared to the previous one. The protocol field is still empty in the multiplayer menu of the game (instead of showing TCP/IP).
I think that's because GetSPCaps doesn't return success. The patch below fixes that for me. Does it work for you too?
Anyway, the previous patch was just wrong, and the latest lets S.W.I.N.E. game (another directplay game) at least enable me to enter multiplayer menu too
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #16 from GyB gyebro69@gmail.com 2011-08-22 13:33:06 CDT --- (In reply to comment #15)
Created an attachment (id=36078)
--> (http://bugs.winehq.org/attachment.cgi?id=36078) [details]
make GetSPCaps return suddes
Sorry for my incompetence but what does your latest patch suppose to do? I don't see any difference, compared to the previous one. The protocol field is still empty in the multiplayer menu of the game (instead of showing TCP/IP).
I think that's because GetSPCaps doesn't return success. The patch below fixes that for me. Does it work for you too?
Anyway, the previous patch was just wrong, and the latest lets S.W.I.N.E. game (another directplay game) at least enable me to enter multiplayer menu too
Yes, with this patch TCP/IP appears as an available protocol.
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #17 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-09-14 13:10:16 CDT --- Created an attachment (id=36393) --> (http://bugs.winehq.org/attachment.cgi?id=36393) another attempt
patch for IDirectPlay8PeerImpl_EnumServiceProviders (http://www.winehq.org/pipermail/wine-patches/2011-September/106553.html) was rejected.
I've attached another attempt here, could anyone review/comment if this one correct?
http://bugs.winehq.org/show_bug.cgi?id=28008
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx@gmail.com
--- Comment #18 from Bruno Jesus 00cpxxx@gmail.com 2011-09-15 08:30:29 CDT --- Hi, please find my comments below.
+ info->pwszName = (LPWSTR)(info + 1); info is a struct and using info + 1 inside parenthesis would make it go to the next struct address which may be out of bounds (or not?).
+ if(!pguidServiceProvider) + { + lstrcpyW(info->pwszName, dp_providerW); There is an extra space after the {
+ *pcReturned = 1; + + return DPN_OK; You're not setting *pcbEnumData = req_size; when the function return success, isn't it required?
Can you give an example of this function call with real parameters?
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #19 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-09-15 16:35:14 CDT ---
Can you give an example of this function call with real parameters?
Hi Bruno, yes, look in the tests (peer.c) for function call with real parameters, thanks for the comments, i'm a bit busy atm , will look at them tomorrow.
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #20 from Bruno Jesus 00cpxxx@gmail.com 2011-09-16 23:19:28 CDT --- I have revised the function documentation and tests and I think you're missing a NULL check for the OUT parameters, the function must return DPNERR_INVALIDPARAM in this case (need tests to prove this).
After reading the doc I can see my last comment about setting pcbEnumData is wrong, it must not be changed if the function returns success.
Bibliography: http://webcache.googleusercontent.com/search?q=cache:QvverbWTUq0J:www.gdwg.n...
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #21 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-09-17 18:10:11 CDT --- (In reply to comment #20)
I have revised the function documentation and tests and I think you're missing a NULL check for the OUT parameters, the function must return DPNERR_INVALIDPARAM in this case (need tests to prove this).
After reading the doc I can see my last comment about setting pcbEnumData is wrong, it must not be changed if the function returns success.
Bibliography: http://webcache.googleusercontent.com/search?q=cache:QvverbWTUq0J:www.gdwg.n...
Hi Bruno, i think i can add the tests for NULL check later on, if real apps crash into this. However, i'm still stuck how to correctly fill the pSPInfoBuffer structure with the data (tcp/ip provider name and guid)
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #22 from Bruno Jesus 00cpxxx@gmail.com 2011-09-18 11:50:09 CDT --- Maybe you need to set dwFlags, pvReserved and dwReserved = 0. See the link below.
http://webcache.googleusercontent.com/search?q=cache:dgVSLx_bDE8J:www.gdwg.n...
You're are already setting the GUID and the pwszName correctly as far as I can see.
http://bugs.winehq.org/show_bug.cgi?id=28008
--- Comment #23 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-09-18 15:30:01 CDT --- Created an attachment (id=36454) --> (http://bugs.winehq.org/attachment.cgi?id=36454) try 3
hi bruno, thanks for the comments; however i changed patch in a more straightforward way. hopefully this one will make it in.....
http://bugs.winehq.org/show_bug.cgi?id=28008
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #24 from GyB gyebro69@gmail.com 2011-09-23 11:34:24 CDT --- The game starts correctly in wine-1.3.28-521-gb8f1b5a, when networking option is enabled. http://source.winehq.org/git/wine.git/commit/4a4678ca70321b74b9f0538138b73e8...
Creating a multiplayer game still fails, but that probably needs a new bug report.
Marking as fixed.
http://bugs.winehq.org/show_bug.cgi?id=28008
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #25 from Alexandre Julliard julliard@winehq.org 2011-09-23 12:58:35 CDT --- Closing bugs fixed in 1.3.29.
http://bugs.winehq.org/show_bug.cgi?id=28008
Vitaliy Margolen vitaliy-bugzilla@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |4a4678ca70321b74b9f0538138b | |73e882f552e95
https://bugs.winehq.org/show_bug.cgi?id=28008
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |directx-dplay