How to find out locking problem

wylda at volny.cz wylda at volny.cz
Sun Jan 2 06:59:10 CST 2011


> ...get the stacks of all running processes with the command
>
> bt all
>
> With luck, you can then see which two code paths are
> competing for the lock.


Thanks for tip! Are the following traces from problematic threads
useful or will i have to post all the thread traces? (Just repeat:
happens in case of load/save of savegame):



fixme:thread:SetThreadIdealProcessor (0x764): stub

err:ntdll:RtlpWaitForCriticalSection section 0x7de77580
"x11drv_main.c: X11DRV_CritSection" wait timed out in thread 001c,
blocked by 0041, retrying (60 sec)

err:ntdll:RtlpWaitForCriticalSection section 0x41f24e4 "?" wait
timed out in thread 0045, blocked by 0044, retrying (60 sec)



Selected/affected threads from "bt all":
========================================

Backtracing for thread 001c in process 001b (C:\Program Files\2K
Games\BioShock\Builds\Release\Bioshock.exe):
Backtrace:

=>0 0xb77dc422 __kernel_vsyscall+0xe() in [vdso].so (0x0073f918)

1 0x7bc7fbbe NTDLL_wait_for_multiple_objects+0x1f0(count=0x73fafc,
handles=0x73f9fc, flags=0x4, timeout=0x7bc8c082,
signal_object=0x73fa58)
[/build/wine-git_build/dlls/ntdll/sync.c:1124] in ntdll (0x0073fb28)

2 0x7bc7fbbe NTDLL_wait_for_multiple_objects+0x1f0(count=0x1,
handles=0x73fbb0, flags=0x4, timeout=(nil), signal_object=0x0(nil))
[/build/wine-git_build/dlls/ntdll/sync.c:1124] in ntdll (0x0073fb78)

3 0x7bc7fcae NtWaitForMultipleObjects+0x73(count=0x1,
handles=0x73fbb0, wait_all=0, alertable=0, timeout=(nil))
[/build/wine-git_build/dlls/ntdll/sync.c:1162] in ntdll (0x0073fcc8)

4 0x7b86e395 WaitForMultipleObjectsEx+0x138(count=0x1,
handles=0x73fd00, wait_all=0, timeout=0xffffffff, alertable=0)
[/build/wine-git_build/dlls/kernel32/sync.c:188] in kernel32
(0x0073fcf8)

5 0x7b86e1c9 WaitForSingleObject+0x3b(handle=0x7f4,
timeout=0xffffffff) [/build/wine-git_build/dlls/kernel32/sync.c:128]
in kernel32 (0x0073fd10)

6 0x1145ffd1 in bioshock (+0xb5ffd0) (0x0073fd44)

7 0x1171bac7 in bioshock (+0xe1bac6) (0x0073fd7c)

8 0x1171bc3d in bioshock (+0xe1bc3c) (0x0073fe60)

9 0x7b85d54c call_process_entry+0xb() in kernel32 (0x0073fe78)

10 0x7b85d54c call_process_entry+0xb() in kernel32 (0x0073fec8)

11 0x7b85d692 start_process+0x143(peb=0x7ffdf000)
[/build/wine-git_build/dlls/kernel32/process.c:1086] in kernel32
(0x0073fed8)

12 0x7bc7be90 call_thread_func+0xb() in ntdll (0x0073ffb8)

13 0x7bc7bece call_thread_entry_point+0x33(entry=0x7b85d54e,
arg=0x7ffdf000)
[/build/wine-git_build/dlls/ntdll/signal_i386.c:2473] in ntdll
(0x0073ffe8)

14 0x7bc53fdc start_process+0x2f(kernel_start=0x7b85d54e)
[/build/wine-git_build/dlls/ntdll/loader.c:2606] in ntdll
(0x00000000)



Backtracing for thread 0041 in process 001b (C:\Program Files\2K
Games\BioShock\Builds\Release\Bioshock.exe):
Backtrace:

=>0 0xb77dc422 __kernel_vsyscall+0xe() in [vdso].so (0x1283de88)

1 0x7d847231 in libgl.so.1 (+0x7b230) (0x1283df58)

2 0x7e4314fa context_apply_fbo_entry+0x29(context=0x121ba5b8,
target=0x8d40, entry=0x182e98)
[/build/wine-git_build/dlls/wined3d/context.c:440] in wined3d
(0x1283df98)

3 0x7e4314fa context_apply_fbo_entry+0x29(context=0x121ba5b8,
target=0x8d40, entry=0x182e80)
[/build/wine-git_build/dlls/wined3d/context.c:440] in wined3d
(0x1283dfd8)

4 0x7e431703 context_apply_fbo_state+0xd5(context=0x121ba5b8,
target=0x8d40, render_targets=0x14113658, depth_stencil=0x1a13a8,
location=0x40) [/build/wine-git_build/dlls/wined3d/context.c:492] in
wined3d (0x1283e038)

5 0x7e43b83c context_apply_clear_state+0xec(context=0x121ba5b8,
device=0x18a008, rt_count=0x8, rts=0x182b80, depth_stencil=0x1a13a8)
[/build/wine-git_build/dlls/wined3d/context.c:2148] in wined3d
(0x1283e178)

6 0x7e440306 device_clear_render_targets+0x1a2(device=0x18a008,
rt_count=0x8, rts=0x182b80, rect_count=0, rects=(nil),
draw_rect=0x1283e1cc, flags=0x7, color=0x1283e1dc, depth=1.000000,
stencil=0) [/build/wine-git_build/dlls/wined3d/device.c:689] in
wined3d (0x1283e208)

7 0x7e4512fa IWineD3DDeviceImpl_Clear+0x1ef(iface=0x18a008,
rect_count=0, rects=(nil), flags=0x7, color=0, depth=1.000000,
stencil=0) [/build/wine-git_build/dlls/wined3d/device.c:4744] in
wined3d (0x1283e258)

8 0x7e5743c1 IDirect3DDevice9Impl_Clear+0xda(iface=0x181f90,
Count=0, pRects=(nil), Flags=0x7, Color=0, Z=1.000000, Stencil=0)
[/build/wine-git_build/dlls/d3d9/device.c:1273] in d3d9 (0x1283e2a0)

9 0x10b8f39d in bioshock (+0x28f39c) (0x1283e324)

10 0x10ae934e in bioshock (+0x1e934d) (0x1c268008)

11 0x00000003 (0x11015464)

12 0x10aff710 in bioshock (+0x1ff70f) (0x10a578a0)

13 0x0001088e (0x8df18b56)

14 0x00000000 (0x00000000)



Backtracing for thread 0045 in process 001b (C:\Program Files\2K
Games\BioShock\Builds\Release\Bioshock.exe):

Backtrace:

=>0 0xb77dc424 __kernel_vsyscall+0x10() in [vdso].so (0x00000000)



Backtracing for thread 0044 in process 001b (C:\Program Files\2K
Games\BioShock\Builds\Release\Bioshock.exe):
Backtrace:

=>0 0xb77dc422 __kernel_vsyscall+0xe() in [vdso].so (0x7f4fe5fc)

1 0x7bc7fbbe NTDLL_wait_for_multiple_objects+0x1f0(count=0x7f4fe7e0,
handles=0x7f4fe6e0, flags=0x4, timeout=0x7bc768d2,
signal_object=0x7bcb15a0)
[/build/wine-git_build/dlls/ntdll/sync.c:1124] in ntdll (0x7f4fe80c)

2 0x7bc7fbbe NTDLL_wait_for_multiple_objects+0x1f0(count=0x1,
handles=0x7f4fe894, flags=0x4, timeout=(nil),
signal_object=0x0(nil))
[/build/wine-git_build/dlls/ntdll/sync.c:1124] in ntdll (0x7f4fe85c)

3 0x7bc7fcae NtWaitForMultipleObjects+0x73(count=0x1,
handles=0x7f4fe894, wait_all=0, alertable=0, timeout=(nil))
[/build/wine-git_build/dlls/ntdll/sync.c:1162] in ntdll (0x7f4fe9ac)

4 0x7b86e395 WaitForMultipleObjectsEx+0x138(count=0x1,
handles=0x7f4fe9e4, wait_all=0, timeout=0xffffffff, alertable=0)
[/build/wine-git_build/dlls/kernel32/sync.c:188] in kernel32
(0x7f4fe9dc)

5 0x7b86e1c9 WaitForSingleObject+0x3b(handle=0x6f0,
timeout=0xffffffff) [/build/wine-git_build/dlls/kernel32/sync.c:128]
in kernel32 (0x00000000)

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: traces.txt
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20110102/541b5346/attachment.txt>


More information about the wine-devel mailing list