[Bug 38960] Steam 'steamwebhelper.exe' based on CEF v3.2357.1273 - Chromium v44.0.2378.0 crashes in Win7 mode ('kernel32.SetFileCompletionNotificationModes' is a stub)
wine-bugs at winehq.org
wine-bugs at winehq.org
Wed Jul 22 16:02:27 CDT 2015
https://bugs.winehq.org/show_bug.cgi?id=38960
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |download
Status|UNCONFIRMED |NEW
URL| |https://steamcdn-a.akamaihd
| |.net/client/installer/Steam
| |Setup.exe
CC| |focht at gmx.net
Component|-unknown |kernel32
Summary|Steam 'steamwebhelper.exe' |Steam 'steamwebhelper.exe'
|crashes |based on CEF v3.2357.1273 -
| |Chromium v44.0.2378.0
| |crashes in Win7 mode
| |('kernel32.SetFileCompletio
| |nNotificationModes' is a
| |stub)
Ever confirmed|0 |1
--- Comment #3 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
confirming.
Relevant part of trace log:
--- snip ---
...
0049:Call PE DLL (proc=0x11856549,module=0x10000000
L"libcef.dll",reason=THREAD_ATTACH,res=(nil))
...
0049:Ret PE DLL (proc=0x11856549,module=0x10000000
L"libcef.dll",reason=THREAD_ATTACH,res=(nil)) retval=1
0049:Call TLS callback
(proc=0x4c8ff0,module=0x400000,reason=THREAD_ATTACH,reserved=0)
0049:Ret TLS callback
(proc=0x4c8ff0,module=0x400000,reason=THREAD_ATTACH,reserved=0)
0049:Starting thread proc 0x100667c0 (arg=0x182678)
...
0049:Call KERNEL32.CreateIoCompletionPort(ffffffff,00000000,00000000,00000001)
ret=100a5340
0049:Ret KERNEL32.CreateIoCompletionPort() retval=00000164 ret=100a5340
...
0049:Call
KERNEL32.GetQueuedCompletionStatus(00000164,0218e834,0218e80c,0218e81c,00000000)
ret=100a5617
0049:Ret KERNEL32.GetQueuedCompletionStatus() retval=00000000 ret=100a5617
...
0049:Call KERNEL32.GetModuleHandleA(123c1bcc "user32.dll") ret=109a282c
0049:Ret KERNEL32.GetModuleHandleA() retval=7ec20000 ret=109a282c
0049:Call KERNEL32.GetProcAddress(7ec20000,123c1bd8 "IsImmersiveProcess")
ret=109a2838
0049:Ret KERNEL32.GetProcAddress() retval=00000000 ret=109a2838
...
0049:Call KERNEL32.GetModuleHandleW(122dae10 L"kernel32.dll") ret=111dad95
0049:Ret KERNEL32.GetModuleHandleW() retval=7b820000 ret=111dad95
0049:Call KERNEL32.GetProcAddress(7b820000,11f0ad48
"SetFileCompletionNotificationModes") ret=111dada5
0049:Ret KERNEL32.GetProcAddress() retval=7b8310b4 ret=111dada5
0049:Call KERNEL32.GetProcAddress(7b820000,11f0add0 "CancelIoEx") ret=111dadb0
0049:Ret KERNEL32.GetProcAddress() retval=7b82cbfc ret=111dadb0
...
0049:Call KERNEL32.SetFileCompletionNotificationModes(0000021c,00000001)
ret=111db06f
0049:fixme:file:SetFileCompletionNotificationModes 0x21c 1 - stub
0049:Ret KERNEL32.SetFileCompletionNotificationModes() retval=00000000
ret=111db06f
0049:trace:seh:raise_exception code=80000003 flags=0 addr=0x100894f9
ip=100894fa tid=0049
0049:trace:seh:raise_exception eax=00000000 ebx=00000000 ecx=1245a910
edx=0218ef4c esi=001c5790 edi=001c6948
0049:trace:seh:raise_exception ebp=0218e530 esp=0218e518 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00200246
0049:trace:seh:call_stack_handlers calling handler at 0x7bcb1e33 code=80000003
flags=0
0049:Call KERNEL32.UnhandledExceptionFilter(0218e004) ret=7bcb1e6d
--- snip ---
Version info resource dump on 'libcef.dll' to determine the exact CEF version:
--- snip ---
1 VERSIONINFO
FILEVERSION 3,2357,1273,0
PRODUCTVERSION 3,2357,1273,0
FILEOS 0x4
FILETYPE 0x2
{
BLOCK "StringFileInfo"
{
BLOCK "040904b0"
{
VALUE "FileDescription", "Chromium Embedded Framework (CEF) Dynamic
Link Library"
VALUE "FileVersion", "3.2357.1273.g41b7170"
VALUE "InternalName", "libcef"
VALUE "LegalCopyright", "Copyright (C) 2015 The Chromium Embedded
Framework Authors"
VALUE "OriginalFilename", "libcef.dll"
VALUE "ProductName", "Chromium Embedded Framework (CEF) Dynamic Link
Library"
VALUE "ProductVersion", "3.2357.1273.g41b7170"
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 0x0409 0x04B0
}
}
--- snip ---
-> CEF v3, branch 2357
https://cefbuilds.com/#branch_2357
--- snip ---
2015-04-27 CEF 3.2378.1268.g4715a16 (67MB) - Chromium 44.0.2378.0 gc03558c9
Test App (21MB)
Debug Symbols (120MB)
Release Symbols (109MB)
--- snip ---
The symbol information (PDB) can't be used here, it's a custom build.
Reviewing the Chromium project sources is enough.
--- snip ---
$ svn co https://src.chromium.org/chrome/trunk/src/mojo
--- snip ---
https://src.chromium.org/viewvc/chrome/trunk/src/mojo/system/raw_channel_win.cc
--- snip ---
...
22 namespace mojo {
23 namespace system {
24
25 namespace {
26
27 class VistaOrHigherFunctions {
28 public:
29 VistaOrHigherFunctions();
30
31 bool is_vista_or_higher() const { return is_vista_or_higher_; }
32
33 BOOL SetFileCompletionNotificationModes(HANDLE handle, UCHAR flags) {
34 return set_file_completion_notification_modes_(handle, flags);
35 }
...
51 VistaOrHigherFunctions::VistaOrHigherFunctions()
52 : is_vista_or_higher_(base::win::GetVersion() >=
base::win::VERSION_VISTA),
53 set_file_completion_notification_modes_(NULL),
54 cancel_io_ex_(NULL) {
55 if (!is_vista_or_higher_)
56 return;
57
58 HMODULE module = GetModuleHandleW(L"kernel32.dll");
59 set_file_completion_notification_modes_ =
60 reinterpret_cast<SetFileCompletionNotificationModesFunc>(
61 GetProcAddress(module, "SetFileCompletionNotificationModes"));
62 DCHECK(set_file_completion_notification_modes_);
63
64 cancel_io_ex_ =
65 reinterpret_cast<CancelIoExFunc>(GetProcAddress(module,
"CancelIoEx"));
66 DCHECK(cancel_io_ex_);
67 }
68
69 base::LazyInstance<VistaOrHigherFunctions> g_vista_or_higher_functions =
70 LAZY_INSTANCE_INITIALIZER;
...
527 bool RawChannelWin::OnInit() {
528 DCHECK_EQ(base::MessageLoop::current(), message_loop_for_io());
529
530 DCHECK(handle_.is_valid());
531 if (skip_completion_port_on_success_ &&
532
!g_vista_or_higher_functions.Get().SetFileCompletionNotificationModes(
533 handle_.get().handle, FILE_SKIP_COMPLETION_PORT_ON_SUCCESS))
{
534 return false;
535 }
536
537 DCHECK(!io_handler_);
538 io_handler_ = new RawChannelIOHandler(this, handle_.Pass());
539
540 return true;
541 }
--- snip ---
MSDN:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365538%28v=vs.85%29.aspx
Source:
https://source.winehq.org/git/wine.git/blob/01e538588282b521e86d299817e7335a736fdd3a:/dlls/kernel32/file.c#l1046
--- snip ---
1046 BOOL WINAPI SetFileCompletionNotificationModes( HANDLE handle, UCHAR flags
)
1047 {
1048 FIXME("%p %x - stub\n", handle, flags);
1049 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
1050 return FALSE;
1051 }
--- snip ---
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list