CombatExtended-Continued / CombatExtended

Combat Extended mod for RimWorld
371 stars 252 forks source link

[Bug]: Severe dependency loops leading to game & mod manager crash #3230

Open camper-pain opened 3 months ago

camper-pain commented 3 months ago

Rimworld version: 1.5.4104rev435 Combat Extended version: 15.6.0.0 Combat Extended source (Steam, GitHub, etc.): Steam Your operating system: Win10 Your mod list: https://drive.google.com/file/d/15xiJgE4sBmiP6BngWFYs0JybkTOujI3H/view?usp=sharing

Description Both RimPy and RimSort have severe issues trying to sort CE; mainly pertaining to looping dependencies with the Vanilla Expanded (Tribals specifically being a recurring issue, I believe?), ReGrowth: Core and Medieval Overhaul in my case, with RimSort crashing the moment I try to have it sort the modlist. Removing CE, ReGrowth or MO fixes it immediately.

Expected behavior I dunno? I haven't had this behavior before, so... in the words of Godd Howard, "It Just Works"?

To reproduce RimPy mod list is attached in the link (yes, I know it's a lot of mods), just try to sort it I guess?

Screenshots & log dumps https://drive.google.com/file/d/1Hcaa_eSxQ_Cf5MyEu1HpvUJ2VcOYkQ4B/view?usp=sharing

Complete the following checklist I hereby verify that I have done the following:

Linnun commented 3 months ago

Not sure if this is the exact same issue as @camper-pain has. But to add to that, the combination of CE, "Vanilla Expanded Factions Mechanoids", "Vanilla Expanded Factions Classical" and "Alpha Mechs" leads to a circular dependency.

Please update dependencies and/or patches to make that combination of mods work.

Rondragos commented 3 months ago

Experienced it today:

No3371 commented 2 months ago

Asked GPT to sort out the error with latest development zip for me:

This error message indicates another circular dependency issue among several items. Let's break down the circular dependencies mentioned:

    ceteam.combatextended depends on sarg.alphamechs.
    keshash.extraexplosioneffects depends on ceteam.combatextended.
    sarg.alphamechs depends on oskarpotocki.vfe.mechanoid.
    tak0u.fae depends on sarg.alphagenes.
    sarg.alphagenes depends on ceteam.combatextended.
    eclair155.vpebiotechpatches depends on sarg.alphagenes.
    ceteam.combatextendedarmors depends on ceteam.combatextended.
    ceteam.combatextendedarmory depends on ceteam.combatextended.
    wara.toomanymods depends on sarg.alphagenes, sarg.alphamechs, oskarpotocki.vfe.mechanoid.
    ceteam.combatextendedguns depends on ceteam.combatextended.
    ceteam.combatextendedmelee depends on ceteam.combatextended.
    co.uk.epicguru.meleeanimation depends on ceteam.combatextended.
    vanillaexpanded.varme depends on ceteam.combatextended.
    oskarpotocki.vfe.classical depends on ceteam.combatextended.
    co.uk.epicguru.whatsthatmod depends on ceteam.combatextended.
    oskarpotocki.vfe.mechanoid depends on oskarpotocki.vfe.classical.
    vfme.caravanpacks depends on oskarpotocki.vfe.mechanoid.

Given these dependencies, let's identify the circular references:

    sarg.alphagenes <-> ceteam.combatextended
        sarg.alphagenes depends on ceteam.combatextended.
        ceteam.combatextended depends on sarg.alphamechs.
        sarg.alphamechs depends on oskarpotocki.vfe.mechanoid.
        oskarpotocki.vfe.mechanoid depends on oskarpotocki.vfe.classical.
        oskarpotocki.vfe.classical depends on ceteam.combatextended.

    ceteam.combatextended <-> sarg.alphamechs
        ceteam.combatextended depends on sarg.alphamechs.
        sarg.alphamechs depends on oskarpotocki.vfe.mechanoid.
        oskarpotocki.vfe.mechanoid depends on oskarpotocki.vfe.classical.
        oskarpotocki.vfe.classical depends on ceteam.combatextended.
morerokk commented 1 month ago

This is still an issue on my end, it seems there is a circular dependency here.

The above PR should fix this, but apparently the above PR has not made its way into the workshop yet?

coemgen98 commented 1 month ago

This is still an issue on my end, it seems there is a circular dependency here.

The above PR should fix this, but apparently the above PR has not made its way into the workshop yet?

No, I think it has not. I just made a local copy with the latest dev snapshot with all the latest merges and that works for me. I think Steam still carries the stable v15.6.0.0 release. So the patch has not been implemented as the version available is still the Jul 1 official v1.5 release.

sumghai commented 1 month ago

@morerokk @coemgen98 Generally speaking, you should not expect fixes/PRs on the dev snapshot to be immediately pushed to the live Steam Workshop environment.

Instead, the CE coding and playtesting teams perform rigorous code reviews and regression testing to verify that the fixes cover all known edge cases, and the team will only release updates containing dozens or hundreds of fixes at a time.

While this cadence may be slower than other modders, this ensures that CE always delivers the most stable updates.