[Bug 38411] 3DMark05 v1.30 crashes during system info scan (needs support for 'Win32_Process' WMI class 'WorkingSetSize' property)

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Jun 21 05:18:09 CDT 2015


https://bugs.winehq.org/show_bug.cgi?id=38411

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |download
             Status|UNCONFIRMED                 |NEW
                URL|                            |http://filehippo.com/downlo
                   |                            |ad_3dmark05/
                 CC|                            |focht at gmx.net
          Component|-unknown                    |wmi&wbemprox
            Summary|3DMark05 deadlocks on start |3DMark05 v1.30 crashes
                   |                            |during system info scan
                   |                            |(needs support for
                   |                            |'Win32_Process' WMI class
                   |                            |'WorkingSetSize' property)
     Ever confirmed|0                           |1

--- Comment #14 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

please stick to the rules that is *one* problem per bug.
You're mixing entirely different issues here (also dupes).

The "deadlocks" and/or "hangs" are likely the result of a broken WINEPREFIX.
There are several failures in the logs indicating this.

One for example:

--- snip ---
fixme:ole:CoCreateInstance no instance created for interface
{9c6b4cb0-23f8-49cc-a3ed-45a55000a6d2} of class
{a65b8071-3bfe-4213-9a5b-491da4461ca7}, hres is 0x80040155
--- snip ---

(broken DxDiag provider COM server registration)

Also mixing old Wine version versions:

--- snip ---
fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO
structures will not be filled
fixme:wbemprox:enum_class_object_Next timeout not supported
err:wbemprox:wql_error syntax error, unexpected TK_ID, expecting TK_SELECT
--- snip ---

(was fixed a long time ago)

I installed the app in a clean 32-bit WINEPREFIX and found only one problem
among others (dupes) worth to look at:

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Futuremark/3DMark05

$ WINEDEBUG=+tid,+seh,+relay,+wbemprox wine ./3DMark05.exe >>log.txt 2>&1
...
0026:trace:wbemprox:enum_class_object_Next 0x178a78, 2000, 1, 0x32ebd0,
0x32ebcc
0026:fixme:wbemprox:enum_class_object_Next timeout not supported
0026:trace:wbemprox:create_class_object L"Win32_Process", 0x32ebd0
...
0026:trace:wbemprox:class_object_Get 0x1cf8f38, L"Name", 00000000, 0x32ebb4,
(nil), (nil) 
...
0026:trace:wbemprox:class_object_Get 0x1cf8f38, L"ProcessId", 00000000,
0x32ebb4, (nil), (nil) 
...
0026:Call oleaut32.SysAllocString(0032eb30 L"WorkingSetSize") ret=1003c4bd
0026:Ret  oleaut32.SysAllocString() retval=00213d34 ret=1003c4bd
0026:Call oleaut32.VariantInit(0032ebac) ret=10035a59
0026:Ret  oleaut32.VariantInit() retval=0032ebac ret=10035a59
0026:trace:wbemprox:class_object_Get 0x1cf8f38, L"WorkingSetSize", 00000000,
0x32ebac, (nil), (nil)
0026:Call KERNEL32.InterlockedDecrement(0070b1c0) ret=1001a05c
0026:Ret  KERNEL32.InterlockedDecrement() retval=00000000 ret=1001a05c
0026:Call oleaut32.SysFreeString(00213d34 L"WorkingSetSize") ret=10019f13
0026:Ret  oleaut32.SysFreeString() retval=00000000 ret=10019f13
0026:Call msvcr80.??3 at YAXPAX@Z(0070b1b8) ret=1001a073
0026:Call ntdll.RtlFreeHeap(00700000,00000000,0070b1b8) ret=7ebb412c
0026:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=7ebb412c
0026:Ret  msvcr80.??3 at YAXPAX@Z() retval=00000001 ret=1001a073
0026:Call ntdll._atoi64(00000000) ret=1003363d
0026:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7bc94381
ip=7bc94381 tid=0026
0026:trace:seh:raise_exception  info[0]=00000000
0026:trace:seh:raise_exception  info[1]=00000000
0026:trace:seh:raise_exception  eax=00000000 ebx=00000000 ecx=00000000
edx=00000004 esi=0032ebd8 edi=0032eba4
0026:trace:seh:raise_exception  ebp=0032eb98 esp=0032eb80 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00210202 
...
0026:Call msvcr71._CxxThrowException(00000000,00000000) ret=00414428
0026:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0032e494)
ret=7dc7b905
0026:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b845669
ip=7b845669 tid=0026
0026:trace:seh:raise_exception  info[0]=19930520
0026:trace:seh:raise_exception  info[1]=00000000
0026:trace:seh:raise_exception  info[2]=00000000
0026:trace:seh:raise_exception  eax=7b832505 ebx=00000000 ecx=0000000c
edx=0032e3e4 esi=0032e490 edi=0032e450
0026:trace:seh:raise_exception  ebp=0032e428 esp=0032e3c4 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00200202 
...
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code
(0x7b845669).
...
Backtrace:
=>0 0x7b845669 RaiseException+0x81(code=<couldn't compute location>,
flags=<couldn't compute location>, nbargs=<couldn't compute location>,
args=<couldn't compute location>)
[/home/focht/projects/wine/wine.repo/src/dlls/kernel32/except.c:84] in kernel32
(0x0032e428)
  1 0x7bc7c8be relay_call+0x39() in ntdll (0x0032e468)
  2 0x7b830399 in kernel32 (+0x10398) (0x0032e4a8)
  3 0x7dc7b905 _CxxThrowException+0x47(object=<couldn't compute location>,
type=<couldn't compute location>)
[/home/focht/projects/wine/wine.repo/src/dlls/msvcr71/../msvcrt/cpp.c:1152] in
msvcr71 (0x0032e4a8)
  4 0x7bc7c8be relay_call+0x39() in ntdll (0x0032e4e0)
  5 0x7dc7450d in msvcr71 (+0x450c) (0x0032f9c8)
  6 0x00414428 in 3dmark05 (+0x14427) (0x0032f9c8)
  7 0x00404da6 in 3dmark05 (+0x4da5) (0x0032fd78)
  8 0x7c172fb6 in mfc71 (+0x32fb5) (0x0032fe30) 
...
Modules:
Module    Address            Debug info    Name (200 modules)
PE      330000-  35c000    Deferred        exporter
PE      400000-  6f9000    Export          3dmark05
PE    10000000-10070000    Deferred        si3 
...
Threads:
process  tid      prio (all id:s are in hex) 
...
00000025 (D) C:\Program Files\Futuremark\3DMark05\3DMark05.exe
    00000032    0
    00000031    0
    00000026    0 <== 
--- snip ---

MSDN: https://msdn.microsoft.com/en-us/library/aa394372%28v=vs.85%29.aspx

--- quote ---
WorkingSetSize

    Data type: uint64
    Access type: Read-only
    Qualifiers: Units ("Bytes")

    Amount of memory in bytes that a process needs to execute efficiently—for
an operating system that uses page-based memory management. If the system does
not have enough memory (less than the working set size), thrashing occurs. If
the size of the working set is not known, use NULL or 0 (zero). If working set
data is provided, you can monitor the information to understand the changing
memory requirements of a process.

    For more information about using uint64 values in scripts, see Scripting in
WMI.
--- quote ---

Source:
https://source.winehq.org/git/wine.git/blob/96b5d9aa973dade6d93b504ee19c536cb10e5e41:/dlls/wbemprox/builtin.c#l2181

$ sha1sum 3DMark05_v130_installer.exe 
94b2e30fb45ef08fb40fdb823e1528bf0255922c  3DMark05_v130_installer.exe

$ du -sh 3DMark05_v130_installer.exe 
287M    3DMark05_v130_installer.exe

$ wine --version
wine-1.7.45-146-gaf55ae1

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