Science Spread


Helper library to safely and consistently spread science packs around the tech tree.

Internal
11 days ago
2.0
1.42K

g Game crashed on startup

13 days ago

Game crashed on startup as following message and log

Failed to load mods: Error while loading technology prototype "fusion-lab" (technology): Research ingredient "outer-rim-thermodynamic-science-pack" is registered twice in the technology
Modifications: Fusion lab › Fusion Machines › Krastorio 2 Spaced Out › Science Spread

https://1drv.ms/f/c/e1120e79b63ebbbb/IgCglR1EyuaYSrVc0LbDMhpvAU36Mkr3ZhdTpTD6A-Btz-w

13 days ago

Do you have two fusion labs in your save overriding each other?

13 days ago

I'm receiving a similar error, albeit through a much longer mod chain due to the 30 science packs required to research without Science Spread or Outer Rim enabled:

103.833 Error ModManager.cpp:1767: Error while loading technology prototype "research-productivity" (technology): Research ingredient "outer-rim-insulation-science-pack" is registered twice in the technology
Modifications: Space Age › Nexus Extended Promethium Endgame › Apia–Carnova system › Igrys › ○🌐Muria › ○🌐Paracelsin › ○🌐Muluna, Moon of Nauvis › Planet Pelagos › ○🌐Rubia › Maraxsis › Castra › ○🌐Lignumis › Planet Crucible › ○🌐Planetaris: Hyarion › ○🌐Planetaris: Tellus › Essential Tech Redefiner › Science Spread › ○🌐Tenebris Prime › ○🌐Planetaris: Arig

Checking prototypes, I see only one reference to technology research-productivity and nothing else listed.

13 days ago

I do not think it is arig, tenebris prime needs to be checked. Anything coming after science spread without actually checking what gets added will crash.

13 days ago

Disabling the planets in that chain (while still keeping Space Age) does change the error message, and it seems to be more about iterating through the rules about adding packs:

13.370 Loading mod science-spread 0.4.0 (data-final-fixes.lua)
13.376 Error ModManager.cpp:1767: Failed to load mod "science-spread": science-spread/data-final-fixes.lua:66: bad argument #1 of 2 to 'pairs' (table expected, got nil)
stack traceback:
[C]: in function 'pairs'
science-spread/data-final-fixes.lua:66: in main chunk

13 days ago

As a minimal test, I am able to replicate the startup crash with only Space Age, Science Group, and Science Spread enabled:

1.620 Info ModManager.cpp:449: FeatureFlag expansion-shaders = true
1.620 Info ModManager.cpp:449: FeatureFlag freezing = true
1.620 Info ModManager.cpp:449: FeatureFlag quality = true
1.620 Info ModManager.cpp:449: FeatureFlag rail-bridges = true
1.620 Info ModManager.cpp:449: FeatureFlag segmented-units = true
1.620 Info ModManager.cpp:449: FeatureFlag space-travel = true
1.620 Info ModManager.cpp:449: FeatureFlag spoiling = true
1.622 Loading mod settings science-tab 1.9.0 (settings.lua)
1.625 Loading mod core 0.0.0 (data.lua)
1.652 Loading mod base 2.0.76 (data.lua)
3.570 Loading mod elevated-rails 2.0.76 (data.lua)
3.859 Loading mod quality 2.0.76 (data.lua)
4.065 Loading mod space-age 2.0.76 (data.lua)
9.007 Loading mod science-tab 1.9.0 (data.lua)
9.023 Loading mod base 2.0.76 (data-updates.lua)
9.046 Loading mod quality 2.0.76 (data-updates.lua)
9.084 Loading mod space-age 2.0.76 (data-updates.lua)
9.103 Loading mod science-spread 0.4.0 (data-updates.lua)
9.116 Loading mod science-tab 1.9.0 (data-updates.lua)
9.132 Loading mod science-spread 0.4.0 (data-final-fixes.lua)
9.135 Error ModManager.cpp:1767: Failed to load mod "science-spread": science-spread/data-final-fixes.lua:66: bad argument #1 of 2 to 'pairs' (table expected, got nil)
stack traceback:
[C]: in function 'pairs'
science-spread/data-final-fixes.lua:66: in main chunk
9.166 Loading mod core 0.0.0 (data.lua)
9.217 Checksum for core: 1551277403
9.243 Error ModManager.cpp:1767: Error in assignID: recipe-category with name 'recycling' does not exist.

Source: default (utility-constants).
9.247 Info PlayerData.cpp:64: Local player-data.json available, timestamp 1775280444
9.247 Info PlayerData.cpp:71: Cloud player-data.json unavailable
9.248 Post-data load graphics options: [Light occlusion: YES]
9.351 Initial atlas bitmap size is 16384
9.351 Created an atlas bitmap (size 4096x496) [icon, not-compressed, mipmap, linear-minification, linear-magnification, linear-mip-level]
9.351 Loading 3D bitmaps.
9.369 Texture processor created (4096). GPU accelerated compression Supported: yes, Enabled: yes/yes. Test passed. YCoCgDXT PSNR: 35.83, BC3 PSNR: 33.82
9.370 Parallel sprite loader initialized (threads: 7, bitmaps: 146)
9.662 Sprites loaded
9.684 Generated mipmaps (5) for atlas [0] of size 4096x496
9.684 Custom mipmaps uploaded (117)
9.699 Video memory usage: 10.32 MB (Atlases: 10.32 MB, Textures: 0.00 MB)
9.702 Factorio initialised
9.707 Failed to load mods: science-spread/data-final-fixes.lua:66: bad argument #1 of 2 to 'pairs' (table expected, got nil)
stack traceback:
[C]: in function 'pairs'
science-spread/data-final-fixes.lua:66: in main chunk

Mods to be disabled:
• science-spread (0.4.0)
10.994 Info HttpSharedState.cpp:57: Downloading https://mods.factorio.com/api/mods?page_size=max&full=True&version=2.0.76&lang=en&is_space_age=true

13 days ago
(updated 13 days ago)

Hmm. That last one is going to be a totally different error, that indeed needs to be fixed.

The first one is a mod adding a science pack without actually checking anything, the other one me not checking if rules exist before doing my thing.

13 days ago
(updated 13 days ago)

I was explicitly talking about turning off tenebris prime. Nothing else, as that is the mod where I do not know what it is doing.

The planetaris suite was in my test set.

13 days ago

Restarting without tenebris prime gives the same error, just without tenebris in the chain, and now saying the outer rim thermodynamic pack.

55.023 Error ModManager.cpp:1767: Error while loading technology prototype "research-productivity" (technology): Research ingredient "outer-rim-thermodynamic-science-pack" is registered twice in the technology
Modifications: Space Age › Nexus Extended Promethium Endgame › Apia–Carnova system › Igrys › ○🌐Muria › ○🌐Paracelsin › ○🌐Muluna, Moon of Nauvis › Planet Pelagos › Maraxsis › ○🌐Rubia › Castra › ○🌐Lignumis › Planet Crucible › ○🌐Planetaris: Hyarion › ○🌐Planetaris: Tellus › Essential Tech Redefiner › Science Spread › ○🌐Planetaris: Arig

13 days ago
(updated 13 days ago)

Without arig? I Can't run the game right now. I want to get science spread to be on the end of that chain.

13 days ago

I'm incrementally dropping planets from the chain to see how far I can get with the original error. I can confirm the same error is generated when I drop Arig, tenebris prime, and the rest of planetaris. Currently dropping more planets to see how far I can get until the other new pair error to try and get the crux of the error.

Failed to load mods: Error while loading technology prototype "research-productivity" (technology): Research ingredient "outer-rim-thermodynamic-science-pack" is registered twice in the technology
Modifications: Space Age › Nexus Extended Promethium Endgame › Apia–Carnova system › Igrys › ○🌐Muria › ○🌐Paracelsin › ○🌐Muluna, Moon of Nauvis › Planet Pelagos › Maraxsis › ○🌐Rubia › Castra › ○🌐Lignumis › Planet Crucible › Essential Tech Redefiner › Science Spread

13 days ago

That is enough. Science spread is the culprit for that, will rollout the fix when I can.

12 days ago

crash for the case without any rules fixed.

12 days ago

Muluna is a possible cause, code adjusted for what I was seeing.

12 days ago

Fix is out, I added most planets that I was seeing in that chain.

12 days ago

Hey i jus updated to the lastest version:

Failed to load mods: Technology moshine-tech-quantum-processor-productivity: there is no lab that will accept all of the science packs this technology requires. Science packs: datacell-raw-data, datacell-solved-equation, outer-rim-cryochemical-science-pack
SS prints 1452 line in my log btw. xD

12 days ago

The logging stays until further notice, I found that one.

12 days ago
(updated 12 days ago)

Apologies for the inconvenience, this is one of those where I need to get this piece of code right before moving on. I already gutted all the special code for moshine, maraxis, krastorio, and nexus extended endgame. Everything that those mods do is taken into consideration by default now.
The only special handling is for the shattered planet because that is the one that does not say anything about itself.

(this means that it should break less frequently with more mods)

12 days ago

Thank you! I can confirm everything is starting successfully once more, even with my large complicated planet set.

New response