http://bugs.winehq.org/show_bug.cgi?id=24870
Summary: thief gold multiprocessor bug not affected by taskset or schedtool. Product: Wine Version: 1.3.4 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: i30817@gmail.com
The DarkEngine games have a multicore bug where running the games without affinity set to only one processor locks up the game (especially when attacking a npc).
In windows, a affinity tool, or the task manager is used to set the process to one processor, but in ubuntu with wine, tools like taskset, that are supposed to do the same, don't work with wine programs. It's hard to reproduce, but attack a npc with the bow on the first mission of thief gold with sound set to emulated on winecfg. and run thief with either: taskset -c 0 wine THIEF.EXE or schedtool -a 0 -e wine THIEF.EXE
thief locks up. Going to a console and checking the affinity with taskset -c -p (pid of thief) gives: pid (pid of thief) current affinity list : 0,1
Obviously something is very wrong.
I have to kill wine to get my display back. I attach a running output of thief gold after locking up.
http://bugs.winehq.org/show_bug.cgi?id=24870
--- Comment #1 from paulo i30817@gmail.com 2010-10-23 22:47:33 CDT --- Created an attachment (id=31477) --> (http://bugs.winehq.org/attachment.cgi?id=31477) output of taskset -c 0 wine THIEF.EXE &> bug.txt
output of taskset -c 0 wine THIEF.EXE &> bug.txt
http://bugs.winehq.org/show_bug.cgi?id=24870
--- Comment #2 from paulo i30817@gmail.com 2010-10-23 22:49:06 CDT --- Needless to say, if wine started processes doesn't inherit the processor affinity that wine starts with, how can we avoid multiprocessor bugs on programs running on wine?
http://bugs.winehq.org/show_bug.cgi?id=24870
--- Comment #3 from paulo i30817@gmail.com 2010-10-23 22:54:48 CDT --- This thread: https://bbs.archlinux.org/viewtopic.php?pid=829370
says the problem exists in other games, though i've not personally experimented that case. It's possible i've been seeing it in my MWSE morrowind bugs, not sure, and can't verify until a persistent way to set processor affinity is found.
http://bugs.winehq.org/show_bug.cgi?id=24870
paulo i30817@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Platform|x86 |x86-64
http://bugs.winehq.org/show_bug.cgi?id=24870
paulo i30817@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.3.4 |1.3.5
http://bugs.winehq.org/show_bug.cgi?id=24870
--- Comment #4 from paulo i30817@gmail.com 2010-10-23 23:07:17 CDT --- Also, it's very normal to start a launcher that will start the game, so only changing the affinity of processes started directly from wine is no good either.
http://bugs.winehq.org/show_bug.cgi?id=24870
--- Comment #5 from paulo i30817@gmail.com 2010-10-24 00:52:33 CDT --- I'm very confused now. I did the workaround mentioned in that thread i mentioned in prior messages: #only one cpu for thief wine "THIEF.EXE" & sleep 1 taskset -cp 0 $!
outputed: pid 21318's current affinity list: 0,1 pid 21318's new affinity list: 0
When i go ingame it froze again, and you guess it, it changed again: paulo@AIVAS:~/Desktop/Thief Gold$ taskset -cp 21318 pid 21318's current affinity list: 0,1
A way to keep the display usable when it freezes is to use a virtual desktop, if you want to reproduce. There is a demo of thief gold. http://download.cnet.com/Thief-Gold-demo-without-intro-movie/3640-7441_4-915...
http://bugs.winehq.org/show_bug.cgi?id=24870
--- Comment #6 from paulo i30817@gmail.com 2010-10-24 01:05:27 CDT --- It changed when the video before the mission plays. So it apparently has no workaround
http://bugs.winehq.org/show_bug.cgi?id=24870
--- Comment #7 from paulo i30817@gmail.com 2010-10-24 01:22:58 CDT --- You probably want to use the version with the intro movie to check based on what i found.
http://download.cnet.com/Thief-Gold-demo-with-intro-movie/3000-7441_4-100323...
The bug should only surface on multiprocessor or dual cores.
http://bugs.winehq.org/show_bug.cgi?id=24870
--- Comment #8 from paulo i30817@gmail.com 2010-10-24 02:45:15 CDT --- Even hex edits with imagecfg http://www.thief-thecircle.com/guides/hyperthreading/
on a windows machine don't prevent this. Only way i've found is to use the wine taskmgr clone to set the affinity.
This is obviously not ideal.
http://bugs.winehq.org/show_bug.cgi?id=24870
--- Comment #9 from paulo i30817@gmail.com 2010-10-24 04:11:45 CDT --- Found a workaround, this utility works: http://www.activeplus.com/us/freeware/runfirst/
http://bugs.winehq.org/show_bug.cgi?id=24870
--- Comment #10 from paulo i30817@gmail.com 2010-10-24 18:51:43 CDT --- applying ddfix also fixes the core affinity bug.
http://bugs.winehq.org/show_bug.cgi?id=24870
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #11 from Alexandre Julliard julliard@winehq.org 2011-04-15 10:39:30 CDT --- Should be fixed now.
http://bugs.winehq.org/show_bug.cgi?id=24870
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gQuigs@gMail.com
--- Comment #12 from Alexandre Julliard julliard@winehq.org 2011-04-15 10:41:38 CDT --- *** Bug 26196 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=24870
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #13 from Alexandre Julliard julliard@winehq.org 2011-04-15 12:51:13 CDT --- Closing bugs fixed in 1.3.18.