[Bug 37440] Spotify 0.9.14.x installer crashes with illegal instruction exception (CPU doesn't support SSE2)

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Oct 31 07:13:07 CDT 2015


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |download, Installer
             Status|UNCONFIRMED                 |RESOLVED
                URL|                            |http://www.filehorse.com/do
                   |                            |wnload-spotify/17905/
         Resolution|---                         |INVALID
            Summary|Cannot load Spotify in Wine |Spotify 0.9.14.x installer
                   |in Xubuntu 14.04            |crashes with illegal
                   |                            |instruction exception (CPU
                   |                            |doesn't support SSE2)

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

when reporting a problem you *must* specify the exact application version.
Otherwise it's pointless to put any time investigating this.

People here are mixing entirely different issues, caused by use of different
Spotify versions and using specific Wine versions.
Don't do that.

>From the initial bug report date I deduced:

Spotify 0.9.14.13 (date released: 01 Oct 2014)
...
Spotify 0.9.15.27 (date released: 11 Dec 2014)

http://www.filehorse.com/download-spotify/old-versions/page-2/

--- snip ---
-=[ ProtectionID v0.6.6.7 DECEMBER]=-
(c) 2003-2015 CDKiLLER & TippeX
Build 24/12/14-22:48:13
Ready...
Scanning -> Z:\home\focht\Downloads\SpotifyFullSetup.exe
File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 36118176 (02271EA0h)
Byte(s)
Compilation TimeStamp : 0x542A76D1 -> Tue 30th Sep 2014 09:24:33 (GMT)
[TimeStamp] 0x542A76D1 -> Tue 30th Sep 2014 09:24:33 (GMT) | PE Header | - |
Offset: 0x000000F8 | VA: 0x004000F8 | -
-> File Appears to be Digitally Signed @ Offset 02270668h, size : 01838h /
06200 byte(s)
-> File has 35980392 (02250468h) bytes of appended data starting at offset
020200h
[File Heuristics] -> Flag #1 : 00000000000000001100001000100111 (0x0000C227)
[Entrypoint Section Entropy] : 7.92 (section #1) "UPX1    " | Size : 0x12E00
(77312) byte(s)
[DllCharacteristics] -> Flag : (0x8000) -> TSA
[SectionCount] 3 (0x3) | ImageSize 0x4B000 (307200) byte(s)
[VersionInfo] Company Name : Spotify Ltd
[VersionInfo] Product Name : Spotify
[VersionInfo] Product Version : 0.9.14.13.gba5645ad
[VersionInfo] File Description : Spotify Installer
[VersionInfo] File Version : 0.0.0.0
[VersionInfo] Original FileName : SpotifyInstaller.exe
[VersionInfo] Internal Name : Spotify Installer
[VersionInfo] Legal Copyrights : Copyright (c) 2014. Spotify Ltd
[!] UPX 3.05 compressed !
upx internal version : 013 / compression method : 02 (M_NRV2B_LE32) - Level :
09
decompressed adler32 : 0x5395235A / compressed adler32 : 0x9F2793B6
uncompressed size : 0x0003BBEF (0244719) / compressed size : 0x00012A8D
(076429)
original file size : 0x00037400 (0226304) / filter : 0x026 / ct0 0x09 /
linkchecksum : 0x0BE
- Scan Took : 0.370 Second(s) [000000172h (370) tick(s)] [558 of 573 scan(s)
done]
--- snip ---

>From attached backtrace:

--- snip ---
Unhandled exception: illegal instruction in 32-bit code (0x00405203).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:00405203 ESP:0033e69c EBP:001376f8 EFLAGS:00010246(  R- --  I  Z- -P- )
 EAX:0033e6b8 EBX:00000000 ECX:0033eb3c EDX:00000000
 ESI:0000000a EDI:0033eddc
Stack dump:
0x0033e69c:  0033e6b8 0033e6b0 000a0060 00000001
0x0033e6ac:  00000000 0033ea30 7ea2d000 00330000
0x0033e6bc:  7ea2d000 00000020 000a0060 0033e6f8
0x0033e6cc:  7e9ddb00 0000c520 00000000 7e95e309
0x0033e6dc:  7bc3714b 7ea6c520 7ffd8000 0033e738
0x0033e6ec:  7bc37239 7e9ddae9 7ea2d000 0033e720
Backtrace:
=>0 0x00405203 in spotifysetup (+0x5203) (0x001376f8)
0x00405203: (bad)    
Modules:
Module    Address            Debug info    Name (63 modules)
PE      400000-  44b000    Export          spotifysetup
ELF    7b800000-7ba5b000    Deferred        kernel32<elf>
  \-PE    7b810000-7ba5b000    \               kernel32
...
--- snip ---

The installer is wrapped with UPX compressor.

After the uncompressor stub has run one gets this at your crash location:

--- snip ---
...                                                                  |
004051E0 | 81 EC 78 04 00 00        | sub esp,478
004051E6 | 33 C0                    | xor eax,eax
004051E8 | 66 89 44 24 14           | mov word ptr ss:[esp+14],ax
004051ED | 89 44 24 2E              | mov dword ptr ss:[esp+2E],eax
004051F1 | 66 89 44 24 32           | mov word ptr ss:[esp+32],ax
004051F6 | 8D 44 24 0C              | lea eax,dword ptr ss:[esp+C]
004051FA | 50                       | push eax
004051FB | 0F 57 C0                 | xorps xmm0,xmm0
004051FE | 8D 44 24 18              | lea eax,dword ptr ss:[esp+18]
00405202 | 50                       | push eax
00405203 | 66 0F D6 44 24 1E        | movq qword ptr ss:[esp+1E],xmm0 ; *boom*
00405209 | 66 0F D6 44 24 26        | movq qword ptr ss:[esp+26],xmm0
0040520F | 66 0F D6 44 24 2E        | movq qword ptr ss:[esp+2E],xmm0
00405215 | C7 44 24 14 10 00 00 00  | mov dword ptr ss:[esp+14],10
0040521D | FF 15 80 90 41 00        | call dword ptr ds:[<&GetComputerNameW>]
00405223 | 85 C0                    | test eax,eax
00405225 | 74 77                    | je 40529E
...
--- snip ---

It seems your CPU doesn't support SSE2 instructions.

Since you said 0.9.4 works for you I downloaded it:

http://www.filehorse.com/download-spotify/14509/

--- snip ---
-=[ ProtectionID v0.6.6.7 DECEMBER]=-
(c) 2003-2015 CDKiLLER & TippeX
Build 24/12/14-22:48:13
Ready...
Scanning -> Z:\home\focht\Downloads\Spotify%20Installer.exe
File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 27589872 (01A4FCF0h)
Byte(s)
Compilation TimeStamp : 0x523733FC -> Mon 16th Sep 2013 16:38:20 (GMT)
[TimeStamp] 0x523733FC -> Mon 16th Sep 2013 16:38:20 (GMT) | PE Header | - |
Offset: 0x000000F8 | VA: 0x004000F8 | -
-> File Appears to be Digitally Signed @ Offset 01A4E0F0h, size : 01C00h /
07168 byte(s)
-> File has 27493104 (01A382F0h) bytes of appended data starting at offset
015E00h
[File Heuristics] -> Flag #1 : 00000000000000001100001000100111 (0x0000C227)
[Entrypoint Section Entropy] : 7.91 (section #1) "UPX1    " | Size : 0x8A00
(35328) byte(s)
[DllCharacteristics] -> Flag : (0x8400) -> NOSEH | TSA
[SectionCount] 3 (0x3) | ImageSize 0x31000 (200704) byte(s)
[VersionInfo] Company Name : Spotify Ltd
[VersionInfo] Product Name : Spotify
[VersionInfo] Product Version : 0.9.4.169.gc0399df6
[VersionInfo] File Description : Spotify Installer
[VersionInfo] File Version : 0.0.0.0
[VersionInfo] Original FileName : SpotifyInstaller.exe
[VersionInfo] Internal Name : Spotify Installer
[VersionInfo] Legal Copyrights : Copyright (c) 2013. Spotify Ltd
[!] UPX 3.05 compressed !
upx internal version : 013 / compression method : 02 (M_NRV2B_LE32) - Level :
09
decompressed adler32 : 0x48ADD5E5 / compressed adler32 : 0xA735D255
uncompressed size : 0x00021901 (0137473) / compressed size : 0x000087D2
(034770)
original file size : 0x00020400 (0132096) / filter : 0x026 / ct0 0x01 /
linkchecksum : 0x093
- Scan Took : 0.388 Second(s) [000000184h (388) tick(s)] [558 of 573 scan(s)
done]
--- snip ---

Unwrapping the executable (UPX decompressor again) and using a breakpoint at
'GetComputerNameW' gives us the call site again:

--- snip ---
004049E0 | 81 EC 78 04 00 00         | sub esp,478
004049E6 | 33 C0                     | xor eax,eax
004049E8 | 8D 4C 24 08               | lea ecx,dword ptr ss:[esp+8]
004049EC | 51                        | push ecx
004049ED | 8D 54 24 14               | lea edx,dword ptr ss:[esp+14]
004049F1 | 52                        | push edx
004049F2 | 66 89 44 24 18            | mov word ptr ss:[esp+18],ax
004049F7 | 89 44 24 1A               | mov dword ptr ss:[esp+1A],eax
004049FB | 89 44 24 1E               | mov dword ptr ss:[esp+1E],eax
004049FF | 89 44 24 22               | mov dword ptr ss:[esp+22],eax
00404A03 | 89 44 24 26               | mov dword ptr ss:[esp+26],eax
00404A07 | 89 44 24 2A               | mov dword ptr ss:[esp+2A],eax
00404A0B | 89 44 24 2E               | mov dword ptr ss:[esp+2E],eax
00404A0F | 89 44 24 32               | mov dword ptr ss:[esp+32],eax
00404A13 | 66 89 44 24 36            | mov word ptr ss:[esp+36],ax
00404A18 | C7 44 24 10 10 00 00 00   | mov dword ptr ss:[esp+10],10
00404A20 | FF 15 80 C0 40 00         | call dword ptr ds:[<&GetComputerNameW>]
00404A26 | 85 C0                     | test eax,eax
00404A28 | 74 78                     | je 404AA2
...
--- snip ---

No SSE/SSE2 instructions involved.

Conclusion: the bug has nothing to do with Wine. Get a better CPU.

$ sha1sum SpotifyFullSetup.exe 
36bae3f5cd7bb5e9112ab9a77624ea58d51a1b37  SpotifyFullSetup.exe

$ du -sh SpotifyFullSetup.exe 
35M    SpotifyFullSetup.exe

$ wine --version
wine-1.7.54

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