thpatch / thcrap

Touhou Community Reliant Automatic Patcher
https://www.thpatch.net
The Unlicense
558 stars 41 forks source link

thcrap updater crashing on Wine (Linux) #146

Closed LeadRDRK closed 3 years ago

LeadRDRK commented 3 years ago

Every time I try to run a game, the thcrap updater tries to check for an update and then crashes. The game itself seems to be functional with patches applied normally. I'm using wine-tkg 6.11 but official and earlier versions also crashed the same way. The Wine backtrace is attached if it's of any use. backtrace.txt

brliron commented 3 years ago

First, I need to say I hate your profile icon. :) It makes me want to refresh the page to fix the image download error. We have this bug on Wine where the updater doesn't find its DLLs, which can be worked around by copying them in the root directory. I'm going to guess you did that, because I see thcrap_update is loaded and it wouldn't load successfully if you didn't.

Then, I'm going to guess thcrap found an update and downloaded it since you installed it. Thcrap wasn't designed around this wine bug, and only updated the DLLs in the bin directory. Because of that, some parts of thcrap are pulled from the bin directory and are up to date, but some other parts are pulled from the thcrap directory which contains outdated DLLs. We already saw a crash recently related to mixing files from different versions. And I don't see libcurl in the loaded modules in your backtrace.txt, which we added around a month ago, which probably means at least a part of your thcrap is outdated.

Can you try to copy all the DLL files from the bin directory to the thcrap directory once again?

LeadRDRK commented 3 years ago

Haha, gottem. So, I tried copying the DLL files from the bin directory like you said. The good news: the updater no longer crashes. The bad news: Touhou 6-9 doesn't want to launch now. In the backtrace, it says that something in api-ms-win-crt-convert-l1-1-0.dll is unimplemented. I assumed this is something Wine didn't implement properly yet, so I tried to install the official vcredist using winetricks. It didn't work (additionally it broke my wineprefix which I had to fix manually). I also tried using other wineprefixes in case my current prefix is dead, also didn't work. Touhou 10 and later works just fine.

Again, a backtrace if it helps: backtrace.txt

I also tried downloading thcrap again in a new folder, and now thcrap_configure doesn't work either. This is what it spit out in the output: image

All of the things I mentioned above also happened in another Wine version (wine-staging 6.0). This might be a Wine 6.x specific bug, although I haven't tried any older versions.

LeadRDRK commented 3 years ago

Update: After I disabled "Install updates after running the game", Touhou 6-9 works normally now. Same results when I renamed thcrap_updater to thcrap_updater_disabled.

brliron commented 3 years ago

I just committed a fix for this crash (713c6a25f882fe0a5ee90d354f0154cdb2d35117), it will be included in the next version.