https://bugs.winehq.org/show_bug.cgi?id=32936
Anastasius Focht focht@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@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@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%...
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/e20307099f99a74b5d6ec327db52d5d24...
$ sha1sum SmartMusic.msi 59aee12cac154438bf89aa1a341db9f497df4df4 SmartMusic.msi
$ du -sh SmartMusic.msi 81M SmartMusic.msi
$ wine --version wine-1.7.36-83-gf75d1b0
Regards