Whisky-App / Whisky

A modern Wine wrapper for macOS built with SwiftUI
https://getwhisky.app
GNU General Public License v3.0
12.81k stars 272 forks source link

[Bug]: Trackmania is not loading tracks #235

Closed tybkyb closed 4 months ago

tybkyb commented 1 year ago

Description

When I try to start playing a track in Trackmania 2020, it crashes.

Steps to reproduce

Start Ubisoft Connect and Trackmania 2020, everything works fine until I try to play a map. It loads for a short time then it freezes with a Wine error.

Expected behaviour

Track should load normally.

Logs

Unhandled exception: divide by zero, invalid program stack in 64-bit code (0x0000006cac40c4).
Register dump:
 rip:000000006cac40c4 rsp:000000000011b2f0 rbp:000000000011b2d8 eflags:00000246 (   - --  I  Z- -P- )
 rax:0000000000003f6c rbx:0000000000010000 rcx:0000000000000003 rdx:0000000000000000
 rsi:0000000000000000 rdi:000000000011b420  r8:000000151d5ba000  r9:00007fba7747fa00 r10:00007fba780b8a20
 r11:00007fba780b8000 r12:000000000011b420 r13:00007fba780b8000 r14:0000000000000003 r15:0000000000000040
Stack dump:
0x0000000011b2f0:  0000000000000020 0000000000000000
0x0000000011b300:  00007fba76137a10 00007fba7747fa00
0x0000000011b310:  0000000000000000 000000006cac7938
0x0000000011b320:  0000000000000003 0000000000000003
0x0000000011b330:  0000000068033000 0000000000000040
0x0000000011b340:  0000000000000005 00007fba76130000
0x0000000011b350:  0000000000000002 0000000000000002
0x0000000011b360:  0000000068033000 0000000000000030
0x0000000011b370:  0000000000000000 0000000000000001
0x0000000011b380:  0000000000000003 0000000000000021
0x0000000011b390:  0000000068033000 0000000000000040
0x0000000011b3a0:  000000000011b458 00007fba783083c0
Backtrace:
=>0 0x0000006cac40c4 (0x0000000011b2d8)
0x0000006cac40c4: divl  0x00000000000840(%r9),%eax
Modules:
Module  Address                 Debug info  Name (77 modules)
PE  0000000000430000-000000000049e000   Deferred        upc_r2_loader64
PE  00000000004a0000-00000000007a1000   Deferred        d3d11
PE  0000000001d20000-0000000001ff4000   Deferred        d3d9
PE  00000000051e0000-0000000005777000   Deferred        uplay_r264
PE  0000000005780000-0000000006044000   Deferred        overlay64
PE  0000000006630000-0000000006a5e000   Deferred        d3dcompiler_47
PE  0000000014f30000-0000000014f41000   Deferred        psapi
PE  0000000016390000-00000000164b1000   Deferred        openal64_bundled
PE  000000001ce80000-000000001cfc7000   Deferred        voicechat
PE  000000001cfd0000-000000001dc49000   Deferred        vivoxsdk
PE  0000000068870000-0000000068873000   Deferred        win32u
PE  000000006aef0000-000000006aef6000   Deferred        winemac
PE  000000007a990000-000000007a994000   Deferred        opengl32
PE  000000007b000000-000000007b558000   Deferred        kernelbase
PE  000000007b600000-000000007b7a4000   Deferred        kernel32
PE  000000007d410000-000000007d76b000   Deferred        anzu
PE  0000000140000000-0000000142c0a000   Deferred        trackmania
PE  0000000170000000-0000000170333000   Deferred        ntdll
PE  0000000180000000-00000001800a4000   Deferred        libwebp64
PE  00000001c4ee0000-00000001c4fb3000   Deferred        winspool
PE  00000001c69e0000-00000001c7768000   Deferred        shell32
PE  00000001c8b40000-00000001c8bb8000   Deferred        msacm32
PE  00000001c8db0000-00000001c90c6000   Deferred        msvcrt
PE  00000001c92d0000-00000001c934e000   Deferred        winecoreaudio
PE  00000001dc810000-00000001dc831000   Deferred        schannel
PE  00000001dd3f0000-00000001dd76b000   Deferred        crypt32
PE  00000001ec2b0000-00000001ec356000   Deferred        ws2_32
PE  00000001f2230000-00000001f2e41000   Deferred        msxml3
PE  00000001f51e0000-00000001f5213000   Deferred        hid
PE  0000000201cf0000-0000000201d99000   Deferred        secur32
PE  000000021a380000-000000021a3b6000   Deferred        xinput9_1_0
PE  000000021a7e0000-000000021a9c4000   Deferred        setupapi
PE  0000000222120000-00000002221ef000   Deferred        sapi
PE  0000000228450000-00000002284c9000   Deferred        propsys
PE  0000000231ae0000-0000000231d70000   Deferred        rpcrt4
PE  000000023d820000-000000023deff000   Deferred        user32
PE  0000000240030000-00000002400bd000   Deferred        iphlpapi
PE  000000024f470000-000000024f4d8000   Deferred        mpr
PE  000000026b4c0000-000000026b756000   Deferred        gdi32
PE  00000002739c0000-0000000273ea5000   Deferred        oleaut32
PE  0000000274a50000-0000000274a7c000   Deferred        kerberos
PE  000000028dfa0000-000000028dfc0000   Deferred        nsi
PE  000000029cfc0000-000000029d00c000   Deferred        dnsapi
PE  00000002a4090000-00000002a40c1000   Deferred        wtsapi32
PE  00000002bb750000-00000002bbca6000   Deferred        comctl32
PE  00000002d1070000-00000002d10c0000   Deferred        cryptnet
PE  00000002d3fa0000-00000002d3fcd000   Deferred        msxml6
PE  00000002d4d40000-00000002d4d92000   Deferred        bcrypt
PE  00000002de970000-00000002dea2d000   Deferred        rsaenh
PE  00000002dff50000-00000002e006d000   Deferred        avifil32
PE  00000002e3540000-00000002e3656000   Deferred        shlwapi
PE  00000002e8f10000-00000002e9495000   Deferred        ole32
PE  00000002f1fa0000-00000002f1fc0000   Deferred        version
PE  00000002f61f0000-00000002f625f000   Deferred        explorerframe
PE  00000002f7230000-00000002f72f0000   Deferred        uxtheme
PE  0000000308050000-000000030816d000   Deferred        dinput8
PE  00000003126f0000-0000000312745000   Deferred        shcore
PE  0000000319900000-000000031999f000   Deferred        mfreadwrite
PE  000000031f800000-000000031fa46000   Deferred        comdlg32
PE  0000000327020000-00000003271af000   Deferred        combase
PE  000000032a700000-000000032a7c0000   Deferred        sechost
PE  000000032ead0000-000000032eae9000   Deferred        sensapi
PE  0000000330260000-000000033038e000   Deferred        advapi32
PE  0000000335260000-0000000335297000   Deferred        rtworkq
PE  0000000336850000-00000003368f4000   Deferred        mmdevapi
PE  00000003422e0000-0000000342603000   Deferred        urlmon
PE  0000000346ba0000-0000000346bee000   Deferred        jsproxy
PE  0000000358120000-0000000358250000   Deferred        winhttp
PE  0000000361860000-00000003620fb000   Deferred        windowscodecs
PE  0000000388e20000-0000000388e4d000   Deferred        userenv
PE  000000039a620000-000000039a69c000   Deferred        msvfw32
PE  00000003a0440000-00000003a06a2000   Deferred        wininet
PE  00000003a6d40000-00000003a6f35000   Deferred        mfplat
PE  00000003af670000-00000003af9f8000   Deferred        ucrtbase
PE  00000003afd00000-00000003afd66000   Deferred        imm32
PE  00000003b8f00000-00000003b90b9000   Deferred        winmm
PE  00000003be590000-00000003be868000   Deferred        dbghelp
Threads:
process  tid      prio    name (all IDs are in hex)
00000030 services.exe
    00000034    0     
    00000038    0     
    00000044    0     
    00000080    0     
    000000a4    0     
    000000bc    0     
    00000100    0     
0000003c winedevice.exe
    00000040    0     
    0000004c    0     
    00000050    0     
    00000054    0     
    00000058    0     
    000000c8    0     
00000074 winedevice.exe
    00000078    0     
    00000084    0     
    00000088    0     
    0000008c    0     
    00000090    0     
    00000094    0     
    00000098    0     
0000009c plugplay.exe
    000000a0    0     
    000000a8    0     
    000000ac    0     
    000000b0    0     
    000001b0    0     
    000001b4    0     
    00000340    0     
    00000318    0     
000000b4 svchost.exe
    000000b8    0     
    000000c0    0     
    000000c4    0     
000000dc upc.exe
    000000e0    0     
    00000144    0     
    00000148    0     
    0000014c    0     
    00000150    0     
    00000154    0     
    00000158    0     
    0000015c    0     
    00000160    0     
    00000164    0     
    00000168    0     
    0000016c   -2     
    00000170    0     
    00000174    0     
    00000178    0     
    0000017c    0     
    00000180    0     
    00000184    0     
    00000188    0     
    00000194    0     
    000001a0    0     
    000001a4    0     
    000001a8    0     
    000001ac    0     
    000001b8   -2     
    000001bc    0     
    000001c8    0     
    000001d8    0     
    000001e4    0     
    00000434    0     
000000e4 explorer.exe
    000000e8    0     
    000000ec    0     
    000000f0    0     
000000f8 rpcss.exe
    000000fc    0     
    00000104    0     
    00000108    0     
    0000010c    0     
    00000110    0     
    00000114    0     
000001d0 UplayWebCore.exe
    000001d4    0     
    00000204    0     
    00000208    0     
    0000020c    0     
    00000210   -2     
    00000214    0     
000001dc UplayWebCore.exe
    000001e0    0     
    0000021c    0     
    00000220    0     
    00000224    0     
    00000228   -2     
    00000230    0     
    00000234    0     
    00000238    0     
    000004b4    0     
000001e8 UplayWebCore.exe
    000001ec    0     
    00000248    0     
    0000024c    0     
    00000250    0     
    00000254   -2     
    0000025c    1     
    00000260    0     
    00000264    0     
    0000026c    0     
    00000294    1     
    00000298    0     
    000002c4    0     
    000002c8    0     
    000002cc    0     
    000002d0    0     
    000002d4   -2     
000001f8 UplayWebCore.exe
    000001fc    0     
    00000290    0     
    0000029c    0     
    000002a0    0     
    000002a4   -2     
    000002a8    1     
    000002b0    0     
    000002b4    0     
    000002c0    0     
    000002d8    1     
    000002dc    0     
    00000448    0     
    0000044c    0     
    00000450    0     
    00000454    0     
    00000458   -2     
000003d4 UplayWebCore.exe
    000003d8    1     
    000003dc    0     
    000003e4    0     
    000003e8    0     
    000003ec   -2     
    000003f4    1     
    000003f8    0     
    000003fc    0     
    00000400    1     
00000438 UplayWebCore.exe
    0000043c    0     
    0000045c    0     
    00000460    0     
    00000464    0     
    00000468   -2     
    0000046c    1     
    00000474    0     
    00000478    0     
    0000047c    0     
    000004a0    1     
    000004a4    0     
    000004b8    0     
    000004bc    0     
    000004c0    0     
    000004c4    0     
    000004c8   -2     
00000440 UplayWebCore.exe
    00000444    0     
    00000480    0     
    00000484    0     
    00000488    0     
    0000048c   -2     
    00000494    1     
    00000498    0     
    0000049c    0     
    000004a8    0     
    000004ac    1     
    000004b0    0     
    000004fc    0     
    00000500    0     
    00000504    0     
    00000508    0     
    0000050c   -2     
000007a8 UplayWebCore.exe
    000007ac    0     
    000007cc    0     
    000007d0    0     
    000007d4    0     
    000007d8   -2     
    000007dc    1     
    000007e4    0     
    000007e8    0     
    000007ec    0     
    000007f0    1     
    000007f4    0     
00000124 UbisoftGameLauncher.exe
    00000120    0     
    00000140    0     
    00000134    0     
    000002f4    0     
0000030c (D) C:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\games\Trackmania\Trackmania.exe
    000001c4    0 <== 
    00000300    0     
    00000304    0     
    00000310    0     
    0000019c    0     
    00000198    0     
    00000320    0     
    00000338    0     
    0000033c    0     
    0000031c   15     
    00000324    0     
    00000328    0     
    0000032c    0     
    00000330    0     
    00000334    0     
    00000314    0     
    00000350    0     
    00000368    0     
    0000036c    0     
    0000034c    0     
    00000354    0     
    00000358    0     
    0000035c    0     
    00000364    0     
    00000360    0     
    00000370    0     
    00000348    1     
    00000344    1     
    00000380    1     
    00000398    1     
    0000039c    1     
    0000037c    1     
    000003cc    0     
    000003b4    0     
    000003bc    0     
    000003c0    0     
    000003a4    0     
    000003e0    0     
    00000284    0     
    00000288   15     
    00000268    0     
    00000280    0     
    0000027c    0     
    000002e4   -2     
    00000408    1     
    0000040c    1     
    00000410    1     
    00000554    0     
000001f0 conhost.exe
    00000550    0     
System information:
    Wine build: wine-7.7
    Platform: x86_64
    Version: Windows 10
    Host system: Darwin
    Host version: 23.0.0

What version of Whisky are you using?

1.0.1

What version of macOS are you using?

Sonoma (macOS 14)

Issue Language

NuclearKookaburra commented 1 year ago

The same issue with 1.1.0 💭

odahcam commented 1 year ago

Same issue in 1.3.2 (25) running with Windows 7 on MacBook M2 Pro.

essyd commented 1 year ago

Hi, been using Whisky on and off and I super appreciate the work that's gone into it. That said, I also switch between Crossover 23.5 and PortingKit as some apps work better on each. Popping in here as this appears to be the only place where this error is documented in any detail.

I've attempted to play TM2020 on all 3 with varying levels of success. What is interesting is that you can actually go into the track editor, load in a track and play perfectly fine. However as soon as you try to compute shadows (aka rendering the lighting) it experiences the same crash. Still enjoyable, but not the full game. Trying to find any other way to fix this I saw #234 and subsequently this thread.

Recreating the original error in Crossover and getting it to spit out an error report yields a slightly more in-depth(?) reason for the error (pastebin). The issue, I think, isn't with Wine but actually d3dmetal. Key segment:

Backtrace: =>0 0x0000020dfac62e __ZL33CreateUniformsForGeometryPipelinePK10D3DMDevice17IndexBufferFormatRK25D3DMGraphicsPipelineState24MTLPrimitiveTypeExtendedy+0x191() in d3dmetal (0x0000000011b2b8) 0x0000020dfac62e __ZL33CreateUniformsForGeometryPipelinePK10D3DMDevice17IndexBufferFormatRK25D3DMGraphicsPipelineState24MTLPrimitiveTypeExtendedy+0x191 in d3dmetal: divl 0x00000000000830 <wine-loader>+0x830(%r9),%eax

I don't expect a fix from you as this seems like an Apple issue entirely, but I do want the right eyes on it. Is there any way for you (or me) to flag this as a d3dmetal bug to Apple? I'm not an Apple developer so I'm not entirely sure on the best way to approach this is.

Thanks again for all your hard work!

tybkyb commented 4 months ago

With the new version of GPTK it works perfectly fine