http://bugs.winehq.org/show_bug.cgi?id=16552
Summary: CreateIoCompletionPort fails in Chromium unit tests Product: Wine Version: 1.1.10 Platform: Other URL: http://chromium.org OS/Version: other Status: NEW Keywords: download, source Severity: normal Priority: P2 Component: wineserver AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com
http://src.chromium.org/viewvc/chrome/trunk/src/base/message_pump_win.cc contains the code port_.Set(CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, NULL, 1)); DCHECK(port_.IsValid()); ... HANDLE port = CreateIoCompletionPort(file_handle, port_, key, 1); DCHECK(port == port_.Get());
The DCHECK fires when running one of the Chromium unit tests: wine Debug/ui_tests.exe ... 001b:Call KERNEL32.CreateFileW(00ed7208 L"\\.\pipe\chrome.ChromeTestingInterface:8.1",c0000000,00000000,00000000,00000003,40110000,00000000) ret=010e0220 001b:Ret KERNEL32.CreateFileW() retval=000000c0 ret=010e0220 ... 0021:Call KERNEL32.CreateIoCompletionPort(ffffffff,00000000,00000000,00000001) ret=01a304b3 0021:Ret KERNEL32.CreateIoCompletionPort() retval=000000c8 ret=01a304b3 0021:Call KERNEL32.CreateIoCompletionPort(000000c0,000000c8,00ed5aa0,00000001) ret=01a30760 trace:ntdll:NtSetInformationFile (0xc0,0x7cdee318,0x7cdee320,0x00000008,0x0000001e) 0021:Ret KERNEL32.CreateIoCompletionPort() retval=00000000 ret=01a30760 0021:Call KERNEL32.OutputDebugStringA(00ed95a8 "[26:33:1249:FATAL:message_pump_win.cc(428)] Check failed: port == port_.Get(). \r\n") ret=019a7af3
I think it's failing in wineserver for some reason during NtSetInformationFile in set_completion_info.