http://bugs.winehq.org/show_bug.cgi?id=9777
Summary: Silencer doesn't fully connect to lobby server. Product: Wine Version: 0.9.45. Platform: PC-x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P3 Component: wine-net AssignedTo: wine-bugs@winehq.org ReportedBy: oshecho@gmail.com
Created an attachment (id=8220) --> (http://bugs.winehq.org/attachment.cgi?id=8220) some debug logging when trying to connect to the lobby server
The game Silencer has just became playable again(the servers went down for several years). When you try to join the lobby, it gets disconnected right away and end up in the lobby but disconnected, you can't join or make any games.
The game can be downloaded from here: http://community.arsia-mons.com/index.php?showtopic=161
It appers to be some problem with winsock: http://community.arsia-mons.com/index.php?showtopic=188&st=0&p=2275
I have tried wine versions 0.9.45 through 0.9.39. Anything less than 0.9.40 wont even run the tutorials for me.
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #1 from Kai Blin blin@gmx.net 2007-09-26 09:15:00 --- Cam you please attach a +winsock log so I can see what winsock is doing?
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #2 from Brandon Singer oshecho@gmail.com 2007-09-26 11:49:29 --- I was just about to ask how to do that, but then I search. Something like this right? WINEDEBUG=+winsock wine Silencer.exe >& winsock.log
I will do that as soon as the server is back up(power-outage or something).
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #3 from Brandon Singer oshecho@gmail.com 2007-09-26 18:57:04 --- Created an attachment (id=8227) --> (http://bugs.winehq.org/attachment.cgi?id=8227) winsock debug output
Output of "WINEDEBUG=+winsock wine Silencer.exe >& winsock.log" attached
http://bugs.winehq.org/show_bug.cgi?id=9777
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #4 from Austin English austinenglish@gmail.com 2007-10-21 01:45:19 --- Confirming in wine 0.9.47, kubuntu gusty.
http://bugs.winehq.org/show_bug.cgi?id=9777
Pol remember.pol@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |remember.pol@gmail.com
--- Comment #5 from Pol remember.pol@gmail.com 2007-11-16 17:29:16 --- *** Bug 10473 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #6 from Pol remember.pol@gmail.com 2007-11-16 17:31:23 --- I'm currently running git regression testing between v0.9.25 and 0.9.49.
Silencer works without problems on Debian stable's v0.9.25
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #7 from Kai Blin blin@gmx.net 2007-11-17 02:58:34 --- Just following a hunch, can someone test this with wine 0.9.45? This was before the IOCompletion support was started. Incomplete IOCompletion support caused some trouble in Warcraft3 as well.
http://bugs.winehq.org/show_bug.cgi?id=9777
Pol remember.pol@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |damjan.jov@gmail.com
--- Comment #8 from Pol remember.pol@gmail.com 2007-11-17 16:14:17 --- e39dca6af6c87a30ab1d907c0468de2602a6e442 is first bad commit commit e39dca6af6c87a30ab1d907c0468de2602a6e442 Author: Damjan Jovanovic damjan.jov@gmail.com Date: Thu Mar 22 08:03:28 2007 +0200
ws2_32: WSASendTo should always re-enable the FD_WRITE event.
:040000 040000 9a25d3ff24ba2c77e5217849b7c9e817fa5257a6 e5837be74426dba45e3d432a87cfc0a72b63dff7 M dlls
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #9 from Pol remember.pol@gmail.com 2007-11-17 19:21:57 --- This means that 0.9.33 is the latest debian stable version that will work with Silencer because the patch that broke it was committed on March 22nd, and 0.9.33 was released before March 19th...
But what we really need is someone (probably the patch author--Damjan Jovanovic damjan.jov@gmail.com) to write a patch which will revert the damage but still keep the old patch's functionality for other programs so that Silencer can work in future versions of wine without a problem. ;x
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #10 from Damjan Jovanovic damjan.jov@gmail.com 2007-11-19 00:17:51 --- My FD_WRITE event patch fixed bug 7685 (where the emule web interface stops loading), so I'm reluctant to just back it out. Looks like I'll have to do further tests.
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #11 from Kai Blin kai.blin@gmail.com 2008-05-25 04:32:19 --- Any news on this one?
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #12 from Pol remember.pol@gmail.com 2008-05-27 03:33:47 --- (In reply to comment #11)
Any news on this one?
As far as I know this bug still exists, and it's a pretty pressing issue ...
It basically means that I'm going to have to compile custom version of wine1.0+ with the e39dca6af6c87a30ab1d907c0468de2602a6e442 commit patch reverted.
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #13 from Pol remember.pol@gmail.com 2008-05-27 05:42:55 --- ps, some newer wine versions cause weird blitting grahics in silencer mainly when switching schene graphs ... 0.9.60 and 1.0rc1 do this for sure, but i'm not sure about 0.9.58.
i'm current compiling 0.9.60 with test_write_events(); taken out of dlls/ws2_32/tests/sock.c
obviously like i said i'm just planning on running the latest wine with the patch for bug#7685 reverted, but once i get to that point and it works, then i will test the 'break-patch' line by line so i can pinpoint the exact error and possibly come up with a solution.
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #14 from Pol remember.pol@gmail.com 2008-05-27 18:48:46 --- ps, bug#9771 seems similar to this
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #15 from Hamelin Hamelin@gmail.com 2008-06-13 19:55:55 --- Any progress on this? I'm not really good with this technical stuff and I wouldn't know how to revert a patch or anything like that.
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #16 from Pol remember.pol@gmail.com 2008-06-13 20:56:18 --- (In reply to comment #15)
Any progress on this? I'm not really good with this technical stuff and I wouldn't know how to revert a patch or anything like that.
Well. 1.0rc2 compiles and runs (seemingly) just fine with 'test_write_events();' commented out of the 'Main program' section in dlls/ws2_32/tests/sock.c..
This fixes this bug.
I now realize that test_write_events() is defined in the same file so my next course of action is to upgrade to latest git version and then comment out lines within the test_write_events() definition instead of the call to the function itself.
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #17 from Kai Blin kai.blin@gmail.com 2008-06-14 02:10:49 --- (In reply to comment #16)
Well. 1.0rc2 compiles and runs (seemingly) just fine with 'test_write_events();' commented out of the 'Main program' section in dlls/ws2_32/tests/sock.c..
This fixes this bug.
I now realize that test_write_events() is defined in the same file so my next course of action is to upgrade to latest git version and then comment out lines within the test_write_events() definition instead of the call to the function itself.
I'm really curious about how disabling a test that's never run during normal Wine operation fixes this issue. However, I'm positive this test isn't 100% valid, as it fails on Windows XP and newer.
Looking forward to your test results.
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #18 from Pol remember.pol@gmail.com 2008-06-15 01:16:45 --- (In reply to comment #17)
(In reply to comment #16)
Well. 1.0rc2 compiles and runs (seemingly) just fine with 'test_write_events();' commented out of the 'Main program' section in dlls/ws2_32/tests/sock.c..
This fixes this bug.
I now realize that test_write_events() is defined in the same file so my next course of action is to upgrade to latest git version and then comment out lines within the test_write_events() definition instead of the call to the function itself.
I'm really curious about how disabling a test that's never run during normal Wine operation fixes this issue. However, I'm positive this test isn't 100% valid, as it fails on Windows XP and newer.
Looking forward to your test results.
Define 'normal'? Because this test is obviously being run in this context, otherwise this bug entry would not exist!
Also, what do you mean 'fails on Windows XP and newer'?
This also doesn't seem to make sense in this context.
Why would one be running Silencer via wine on top of Windows XP via MinGW/Cygwin?
Seriously if you're testing this bug by running Windows XP natively. You should ...go `fsck` yourself.
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #19 from Kai Blin kai.blin@gmail.com 2008-06-15 18:28:57 --- (In reply to comment #18)
Define 'normal'? Because this test is obviously being run in this context, otherwise this bug entry would not exist!
Look, the test cases are run if you run "make test" in the Wine source tree, and if you run winetest.exe in Wine or Windows. They're not linked into ws2_32.dll, or at least they shouldn't be.
Also, what do you mean 'fails on Windows XP and newer'?
Just whay I said. The test you mention is failing on Windows XP or newer. So it looks like Wine does something wrong there, which is why I'm waiting ob your test results.
This also doesn't seem to make sense in this context.
Why would one be running Silencer via wine on top of Windows XP via MinGW/Cygwin?
I never said that. I'm talking about the conformance test suite, dlls/ws2_32/tests/sock.c is part of that.
Seriously if you're testing this bug by running Windows XP natively. You should ...go `fsck` yourself.
Can we please behave like grown-ups here?
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #20 from Damjan Jovanovic damjan.jov@gmail.com 2008-07-27 14:28:23 --- Created an attachment (id=15103) --> (http://bugs.winehq.org/attachment.cgi?id=15103) Improve FD_WRITE triggering
Well reading the eMule code better reveals that the software makes the assumption that all short sends imply a full send buffer, and thus imply a future FD_WRITE event. I think things are different on wine, and it's possible to get a short write without the send buffer being full and thus never get a FD_WRITE event expected in the future.
Changing FD_WRITE to be enabled on both EWOULDBLOCK and short sends, as opposed to the current way of enabling it on every single send, appears not to regress eMule's web interface.
Could you please try this patch and see if it improves Silencer as well?
http://bugs.winehq.org/show_bug.cgi?id=9777
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #15103|0 |1 is obsolete| |
--- Comment #21 from Damjan Jovanovic damjan.jov@gmail.com 2008-07-27 14:35:21 --- Created an attachment (id=15104) --> (http://bugs.winehq.org/attachment.cgi?id=15104) Improve FD_WRITE triggering
Sorry, try this one instead.
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #22 from Pol remember.pol@gmail.com 2008-09-07 23:26:59 --- Tested this with the latest wine-git.
$ cat VERSION Wine version 1.1.4
This patch works. 100%. Win.
Please submit for inclusion for next release of Wine.
Thanks Damjan!
(In reply to comment #21)
Created an attachment (id=15104)
--> (http://bugs.winehq.org/attachment.cgi?id=15104) [details]
Improve FD_WRITE triggering
Sorry, try this one instead.
http://bugs.winehq.org/show_bug.cgi?id=9777
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #23 from Damjan Jovanovic damjan.jov@gmail.com 2008-09-08 08:32:36 --- Patch is now in latest Git -> closing FIXED.
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #24 from Pol remember.pol@gmail.com 2008-09-18 02:15:48 --- Err note though... this patch _does_ allow Silencer to connect to the server and see other players and games running ... but it results in _very_ lagged (unplayable) gameplay where you get a horrible lag spike every single second.
Running wine 0.9.33 results in smooth, non-lagged gameplay, as does running latest Wine with 'test_write_events();' commented out of the 'Main program' section in dlls/ws2_32/tests/sock.c
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #25 from Damjan Jovanovic damjan.jov@gmail.com 2008-09-18 02:30:04 --- The dlls/ws2_32/tests/sock.c file doesn't participate in gameplay in any way. Commenting a test out should have absolutely no effect. Only the patch to dlls/ws2_32/socket.c changes something.
Start with a clean installation and if it still happens, please attach a +winsock trace.
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #26 from Pol remember.pol@gmail.com 2008-09-18 02:35:55 --- I _promise_ you. commenting out that line works. also it was i clean install. and i'm about to run a winsock debug right now
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #27 from Pol remember.pol@gmail.com 2008-09-18 03:21:54 --- odd .. these spikes seem to have stopped entirely. but it was very odd because I was connected to a server on the LAN .. if I notice anything like this again I'll go straight away to grab a winsock log. until then! Thanks again!
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #28 from Pol remember.pol@gmail.com 2008-09-18 03:30:09 --- actually.. i have another revelation concerning this matter...
it has something to do with software CPU scaling. ....
My full CPU clockspeed is 2.26 Ghz, but I usually have it clocked down to 82% (1.86 Ghz)..
If I run Silencer with wine-git at 82% then I get these weird lag spikes every other second ..
If I run at 100% then I get no lag spikes.
Also, for further note .. if I run at 82% on wine v0.9.33 or 0.9.25... then I _don't_ get spikes .. I get good game-play.
Possibly some new bug introduced since v0.9.33 .. I guess I can regression test this, eventually.
http://bugs.winehq.org/show_bug.cgi?id=9777
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #29 from Alexandre Julliard julliard@winehq.org 2008-09-19 11:16:39 --- Closing bugs fixed in 1.1.5.
http://bugs.winehq.org/show_bug.cgi?id=9777
--- Comment #30 from Pol remember.pol@gmail.com 2008-09-20 13:22:12 --- Also for extra note ... Silencer runs at ~= 100% CPU, always .. (And I don't think this is the case if run natively on Windows)
I think this might have something to do with it:
http://wiki.winehq.org/DIBEngine
http://bugs.winehq.org/show_bug.cgi?id=9777
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.0.1
--- Comment #31 from Alexandre Julliard julliard@winehq.org 2008-10-16 08:00:09 --- Fixed by b904dd783cd2b7368e11882e37b90e7da23b73be, nominating for 1.0.1.