X2CommunityCore / xcom2-launcher

The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad.
GNU General Public License v3.0
348 stars 51 forks source link

AML querying workshop for nonexistent mod #387

Open PluralV opened 2 months ago

PluralV commented 2 months ago

AML Version: 1.5.1, 1.60

Description Running Windows 11. AML attempts to get a nonexistent mod from the workshop, failing on the following log report: 2024-07-11 18:24:19,061 [10] WARN | ModList: 626 | Workshop request for WorkshopId=621524082 failed with result 'k_EResultAccessDenied' On version 1.5.1, the process repeatedly attempts to retrieve this item, causing the launcher to hang; on 1.60 it fails twice and then stops, and the mod launcher can be used as normal. File 621524082 is neither in the workshop content folder nor the workshop.

image

xPXpanD commented 2 months ago

A bit of added context: The mod that's missing here seems to be "ADVENT Insignia" by Davy. Looks like it was removed from the Workshop at some point? It was an oooold mod according to Skymods, February 11th 2016.

srinathupadhyayula commented 2 months ago

So, this is something that I have run into. I have asked about a specific workshopid on discord when i ran into this. When AML runs into a mod that has been removed, it seems to take a very long time before it gives up. I had an instance where it took over 10 mins.

Locally, I mitigated this by having a list of WorkshopIds that have failed, and i check each id, if it is in that list, if so I skip querying it.

RevZero commented 2 months ago

It's probably a mod that is listed as a dependency by another mod, but has become obsolete and thus is now hidden on the workshop. Is any of your mods complaining about a missing dependency?

srinathupadhyayula commented 2 months ago

It is definitely a dependency of another mod that has disappeared from the workshop. The issue here is that when AML 1.5 or 1.5.1 encounters a mod that has disappeared, like PluraIV was saying above, it attempts to retrieve it's information from the workshop repeatedly (possibly because multiple mods depend on it and the more mods depend on it it takes exponentially more time) and takes a very noticeably long time. In my local edit of 1.5.1 I cache workshopids that have disappeared to skip that id, so that the mod details is requested only once, in the case where it no longer exists on the workshop. I have not dug into 1.6 code so I am not sure how it mitigates this issue, but 1.5 and 1.5.1 both have this problem.

Noire-Black-Heart commented 1 month ago

I'm facing a same problem and the mod ID is 3166628538. I'm unable to find this mod on workshop or skymods thus it's impossible to identify which mod is this and remove it from the list.

xPXpanD commented 1 month ago

That mod is "translation 2 about skin", apparently. (Google was able to pull up an old dead link)

Noire-Black-Heart commented 1 month ago

That mod is "translation 2 about skin", apparently. (Google was able to pull up an old dead link)

Thanks, it's awkward that last time I googled it presents no results. Now at least I can try to remove it