[Bug 32936] SmartMusic 2012/2014 crashes on startup (Core Audio adapter 'PKEY_DeviceInterface_FriendlyName' property not supported)

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Feb 14 07:59:44 CST 2015


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |download
             Status|UNCONFIRMED                 |NEW
                URL|                            |http://www.smartmusic.com/d
                   |                            |ownload/default.aspx?mode=d
                   |                            |ownload&platform=Windows
                 CC|                            |focht at gmx.net
          Component|-unknown                    |mmdevapi
            Summary|SmartMusic crashes on       |SmartMusic 2012/2014
                   |startup                     |crashes on startup (Core
                   |                            |Audio adapter
                   |                            |'PKEY_DeviceInterface_Frien
                   |                            |dlyName' property not
                   |                            |supported)
     Ever confirmed|0                           |1

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

confirming.

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/SmartMusic

$ WINEDEBUG=+tid,+seh,+relay,+mmdevapi wine ./SmartMusic.exe >>log.txt 2>&1
...
0023:trace:mmdevapi:MMCF_CreateInstance (0x7cdff988, (nil),
{a95664d2-9614-4f35-a746-de8db63617e6}, 0x33c504)
0023:trace:mmdevapi:MMDevEnum_QueryInterface
(0x3abece0)->({a95664d2-9614-4f35-a746-de8db63617e6}, 0x33c504)
0023:trace:mmdevapi:MMDevEnum_AddRef Refcount now 2
0023:Ret  ole32.CoCreateInstance() retval=00000000 ret=009160ac
0023:trace:mmdevapi:MMDevEnum_GetDefaultAudioEndpoint
(0x3abece0)->(0,1,0x33c508)
0023:Call advapi32.RegOpenKeyW(80000001,0033c244
L"Software\\Wine\\Drivers\\winealsa.drv",0033c240) ret=7cdf2a28
0023:Ret  advapi32.RegOpenKeyW() retval=00000000 ret=7cdf2a28
0023:Call advapi32.RegQueryValueExW(00000190,7cdfa584
L"DefaultOutput",00000000,00000000,0033c038,0033c23c) ret=7cdf2bde
0023:Ret  advapi32.RegQueryValueExW() retval=00000002 ret=7cdf2bde
0023:Call advapi32.RegCloseKey(00000190) ret=7cdf2ce5
0023:Ret  advapi32.RegCloseKey() retval=00000000 ret=7cdf2ce5
0023:trace:mmdevapi:MMDevice_AddRef Refcount now 1
0023:trace:mmdevapi:MMDevice_GetId (0x3abf138)->(0x33c4b8)
...
0023:trace:mmdevapi:MMDevice_GetId returning
L"{0.0.0.00000000}.{1C5D818B-41D3-486E-A434-D6C3290D6831}"
...
0023:trace:mmdevapi:MMDevice_QueryInterface
(0x3abf138)->({1be09788-6894-4089-8586-9a2a6c265ac5},0x33c4bc)
0023:trace:mmdevapi:MMEndpoint_AddRef (0x3abf138)
0023:trace:mmdevapi:MMDevice_AddRef Refcount now 2
0023:trace:mmdevapi:MMEndpoint_GetDataFlow (0x3abf138)->(0x33ca34)
0023:trace:mmdevapi:MMDevice_OpenPropertyStore (0x3abf138)->(0,0x33c4c4)
...
0023:trace:mmdevapi:MMDevPropStore_GetValue
(0x3aac100)->("{1da5d803-d492-4edd-8c23-e0c0ffee7f0e},4", 0x33c4a8) 
...
0023:trace:mmdevapi:MMDevPropStore_GetValue
(0x3aac100)->("{a45c254e-df1c-4efd-8020-67d146a850e0},2", 0x33c4a8)
...
0023:trace:mmdevapi:MMDevPropStore_GetValue
(0x3aac100)->("{026e516e-b814-414b-83cd-856d6fef4822},2", 0x33c4a8)
0023:Call ole32.StringFromGUID2(03abf164,0033c0fe,00000027) ret=7cdef71f
0023:Ret  ole32.StringFromGUID2() retval=00000027 ret=7cdef71f
0023:Call advapi32.RegOpenKeyExW(0000016c,0033c0fe
L"{1C5D818B-41D3-486E-A434-D6C3290D6831}",00000000,0002001f,0033c0f8)
ret=7cdef75c
0023:Ret  advapi32.RegOpenKeyExW() retval=00000000 ret=7cdef75c
0023:Call advapi32.RegOpenKeyExW(00000190,7cdfa56a
L"Properties",00000000,0002001f,0033c1d8) ret=7cdef7fd
0023:Ret  advapi32.RegOpenKeyExW() retval=00000000 ret=7cdef7fd
0023:Call advapi32.RegCloseKey(00000190) ret=7cdef80e
0023:Ret  advapi32.RegCloseKey() retval=00000000 ret=7cdef80e
0023:Call advapi32.RegGetValueW(00000194,00000000,0033c1e4
L"{026E516E-B814-414B-83CD-856D6FEF4822},2",0000ffff,0033c1e0,00000000,0033c1dc)
ret=7cdefa2c
0023:Ret  advapi32.RegGetValueW() retval=00000002 ret=7cdefa2c
0023:warn:mmdevapi:MMDevice_GetPropValue Reading
L"{026E516E-B814-414B-83CD-856D6FEF4822},2" returned 2
0023:Call advapi32.RegCloseKey(00000194) ret=7cdefaac
0023:Ret  advapi32.RegCloseKey() retval=00000000 ret=7cdefaac
0023:Call ole32.PropVariantClear(0033c4a8) ret=7cdefaba
0023:Call ntdll.RtlFreeHeap(00110000,00000000,03aac428) ret=7e963f3d
0023:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=7e963f3d
0023:Ret  ole32.PropVariantClear() retval=00000000 ret=7cdefaba
0023:trace:seh:raise_exception code=c0000005 flags=0 addr=0x8d1520 ip=008d1520
tid=0023
0023:trace:seh:raise_exception  info[0]=00000000
0023:trace:seh:raise_exception  info[1]=00000000
0023:trace:seh:raise_exception  eax=00000000 ebx=00000000 ecx=0033ca50
edx=00000002 esi=0033ca50 edi=00000000
0023:trace:seh:raise_exception  ebp=0033c31c esp=0033c314 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00010246 
...
wine: Unhandled page fault on read access to 0x00000000 at address 0x8d1520
(thread 0023), starting debugger... 
...
Backtrace:
=>0 0x008d1520 in smartmusic (+0x4d1520) (0x0033c31c)
  1 0x009148cb in smartmusic (+0x5148ca) (0x0033c4d4)
  2 0x009160dc in smartmusic (+0x5160db) (0x0033c518)
  3 0x0090e272 in smartmusic (+0x50e271) (0x0033cbf8)
  4 0x0090f903 in smartmusic (+0x50f902) (0x0033cd10)
  5 0x0054436f in smartmusic (+0x14436e) (0x00a18ee8)
  6 0x00000000 (0x004033af)
  7 0xec77e900 (0x0300cce9)
0x008d1520: movw    0x0(%eax),%cx
Modules:
Module    Address            Debug info    Name (187 modules)
PE      340000-  366000    Deferred        qt5positioning
PE      370000-  3f9000    Deferred        qt5multimedia
PE      400000-  e01000    Export          smartmusic 
...
Threads:
process  tid      prio (all id:s are in hex)
...
00000022 (D) C:\Program Files\SmartMusic\SmartMusic.exe
    00000029    0
    00000028    1
    00000027   -1
    00000026    0
    00000025    0
    00000024    0
    00000023    0 <== 
--- snip ---

Looks like it tries to query for 'PKEY_DeviceInterface_FriendlyName' property
of core audio adapter which fails. Something along this:

--- snip ---
pPropertyStore->GetValue( PKEY_DeviceInterface_FriendlyName, &variant)
--- snip ---

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

Unrelated to the actual missing property: Wine's 'MMDevice_GetPropValue'
returns S_OK even if the value was not read from registry hence the app assumes
"success" and tries to access the null variant value.

Source:
http://source.winehq.org/git/wine.git/blob/e20307099f99a74b5d6ec327db52d5d24aa35f7b:/dlls/mmdevapi/devenum.c#l161

$ sha1sum SmartMusic.msi 
59aee12cac154438bf89aa1a341db9f497df4df4  SmartMusic.msi

$ du -sh SmartMusic.msi 
81M    SmartMusic.msi

$ wine --version
wine-1.7.36-83-gf75d1b0

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