Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating to experimental 2021-08-21-2314 causes many errors every move in recent experimental world/saves, but not world/save from 0.F stable #50977

Closed
RandDenner opened this issue Aug 22, 2021 · 12 comments
Labels
<Bug> This needs to be fixed Mechanics: Effects / Skills / Stats Effects / Skills / Stats

Comments

@RandDenner
Copy link
Contributor

RandDenner commented Aug 22, 2021

(Not sure why some of this is all formatting in weird large fonts. Tried to fix it. Apologies.)

Once I updated to experimental 2021-08-21-2314 bf3398f, loading any recent save/world experimental saves and moving one or two squares causes many error message pop-ups.
Only the save/world made in 0.F stable seems to be free of issues.
Reverting to the one just prior, 2021-08-21-2146 73374dd causes these error messages not to appear.

Once updated to 2021-08-21-2314 bf3398f or later, errors occur virtually every step.

Messages are often different in different saves.

Errors seen in save "Westland"


DEBUG : invalid effect_on_condition id "bot_yellow_maintenance_badge_check_2"
FUNCTION : const T& generic_factory::obj(const string_id&) const [with T = effect_on_condition]
FILE : src/generic_factory.h
LINE : 442
VERSION : bf3398f

DEBUG : invalid effect_on_condition id "bot_blue_maintenance_alarm_remove"
FUNCTION : const T& generic_factory::obj(const string_id&) const [with T = effect_on_condition]
FILE : src/generic_factory.h
LINE : 442
VERSION : bf3398f

Errors seen in save "Test":
same as above, plus:


DEBUG : invalid effect_on_condition id "bot_blue_maintenance_badge_check2a"
FUNCTION : const T& generic_factory::obj(const string_id&) const [with T = effect_on_condition]
FILE : src/generic_factory.h
LINE : 442
VERSION : bf3398f

Errors seen in save "Radio Test World":
-This is the most recently created world and save, created today prior to updating to test something. I am unsure under which version it was created and saved, though, just that it was prior to bf3398f.
-It also has the most messed up errors that are unique to it and shares none with the others:


DEBUG : Tried to use an invalid beta talker.
FUNCTION : talker* dialogue::actor(bool) const
FILE : src/npctalk.cpp
LINE : 1362
VERSION : bf3398f

DEBUG : Unable to find and assign mission target lab_res_8_NW.
FUNCTION : cata::optional<coords::coord_point<tripoint, (coords::origin)1, (coords::scale)2> > find_or_create_om_terrain(const tripoint_abs_omt&, const mission_target_params&)
FILE : src/mission_util.cpp
LINE : 251
VERSION : bf3398f

ALSO:
random scattered thick toxic gas clouds appeared. No reason for them. All in area are deceased and there is no environmental cause. Areas were clear on time of save.

Errors seen in save "Hope":
Similar if not same as those in Westland and Test saves, but adding:


DEBUG : invalid effect_on_condition id "bot_yellow_maintenance_alarm_remove"
FUNCTION : const T& generic_factory::obj(const string_id&) const [with T = effect_on_condition]
FILE : src/generic_factory.h
LINE : 442
VERSION : bf3398f

No errors seen in save "Derby" created and last played on 0.F stable.

Save backup (created with CDDA Game Launcher) of all 5 saves attached:
Pre-bugs backup.zip

Steps To Reproduce

  1. Update past 2021-08-21-2314 bf3398f with a world/save from a previous experimental
  2. Load save
  3. Move one or two squares

Expected behavior

Not this.

Versions and configuration

  • OS: Win10
  • Game Version: info is in main text
  • Graphics version: Tiles
  • Ingame language: English
  • Mods loaded: Some saves have them, some don't.

Additional context

I have attached save backups above.
Debug log from various assessments of saves to get the errors, above:
debug.log

@RandDenner RandDenner changed the title Updating to experimental 2021-08-21-2314 causes many errors every move in recent experimental saves Updating to experimental 2021-08-21-2314 causes many errors every move in recent experimental world/saves, but not world/save from 0.F stable Aug 22, 2021
@ferociousdork
Copy link
Contributor

It looks like this is caused by the removal of several effect_on_conditions in #50920. Your save breaks because they're already in queued_effect_on_conditions.

The author states in #50920 that he is worried about saves breaking and needing help with the migration. I'm also not sure what the proper course of action should be in this case. Maybe one of the veterans could help out here?

@actual-nh
Copy link
Contributor

actual-nh commented Aug 22, 2021

Ping: @Ramza13, @curstwist? It looks like - possibly among other things - queued_effect_on_conditions needs to be checked on load for EOCs that need to be removed (or migrated to a different one)?

@ZhilkinSerg
Copy link
Contributor

While we can add some obsoletion code for eoc, I do not think we need to fix this very issue as eoc that was removed does not appear in 0.F stable.

Try load the game, ignore any eoc errors, save game and if eoc error does not appear on subsequent game load - that's it.

@actual-nh actual-nh added <Bug> This needs to be fixed Mechanics: Effects / Skills / Stats Effects / Skills / Stats labels Aug 22, 2021
@RandDenner
Copy link
Contributor Author

Okay.
Should I also delete the offending "queued_effect_on_conditions" entries from my saves?
"queued_effect_on_conditions": [
---delete these---
{ "time": 5243747, "eoc": "lab_check_magenta_security_drop", "recurring": true },
{ "time": 5243747, "eoc": "lab_security_check_surface_1", "recurring": true },
{ "time": 5243747, "eoc": "lab_security_check", "recurring": true },
{ "time": 5243747, "eoc": "lab_security_check_surface_2", "recurring": true },
{ "time": 5243748, "eoc": "lab_1x1x2_RES_8_check_MAINT", "recurring": true },
{ "time": 5243751, "eoc": "lab_concourse_bot_release_2", "recurring": true },
{ "time": 5243752, "eoc": "lab_magenta_security_check", "recurring": true },
{ "time": 5243754, "eoc": "lab_cyan_mutagen_check_3", "recurring": true },
{ "time": 5243754, "eoc": "lab_concourse_bot_release", "recurring": true },
{ "time": 5243754, "eoc": "bot_yellow_maintenance_badge_check_2", "recurring": true },
{ "time": 5243756, "eoc": "lab_1x1x2_RES_8_check_SEC", "recurring": true },
{ "time": 5243756, "eoc": "lab_pink_mutagen_check_2", "recurring": true },
{ "time": 5243757, "eoc": "lab_pink_mutagen_check_3", "recurring": true },
{ "time": 5243757, "eoc": "lab_pink_mutagen_check", "recurring": true },
{ "time": 5243757, "eoc": "bot_blue_maintenance_alarm_remove", "recurring": true },
{ "time": 5243759, "eoc": "lab_cyan_mutagen_check_2", "recurring": true },
{ "time": 5243762, "eoc": "bot_black_security_badge_check", "recurring": true },
{ "time": 5243763, "eoc": "bot_green_researcher_badge_check", "recurring": true },
{ "time": 5243765, "eoc": "bot_black_security_alarm_remove", "recurring": true },
{ "time": 5243765, "eoc": "bot_green_maintenance_alarm_remove", "recurring": true },
{ "time": 5243765, "eoc": "lab_cyan_mutagen_check_4", "recurring": true },
{ "time": 5243770, "eoc": "lab_cyan_mutagen_check", "recurring": true },
{ "time": 5243770, "eoc": "lab_pink_mutagen_check_4", "recurring": true },
{ "time": 5243772, "eoc": "bot_yellow_maintenance_badge_check", "recurring": true },
{ "time": 5243774, "eoc": "bot_blue_maintenance_badge_check", "recurring": true },
{ "time": 5243775, "eoc": "bot_yellow_maintenance_alarm_remove", "recurring": true },
{ "time": 5243776, "eoc": "bot_green_maintenance_badge_check", "recurring": true },
{ "time": 5243784, "eoc": "bot_blue_maintenance_alarm_remove2", "recurring": true },
{ "time": 5243788, "eoc": "bot_blue_maintenance_badge_check_2", "recurring": true },
{ "time": 5243789, "eoc": "bot_blue_maintenance_badge_check2a", "recurring": true },
{ "time": 5243796, "eoc": "bot_green_researcher_alarm_remove", "recurring": true },

---keep these---
{ "time": 5246525, "eoc": "night_messages3", "recurring": true },
{ "time": 5248421, "eoc": "ambient_subway", "recurring": true },
{ "time": 5251403, "eoc": "ambient_lab_subway", "recurring": true },
{ "time": 6279658, "eoc": "EOC_MIGO_INTEREST_INCREASE", "recurring": true }
],

@RandDenner
Copy link
Contributor Author

Yes. I didn't have to ignore eoc errors once those entries were deleted.
Thank you all for your help in identifying the issue and saving my saves!

@ferociousdork
Copy link
Contributor

After doing some more investigation, there's a problem with the existing (or rather, repurposed) eocs as well. Take for example bot_black_security_badge_check, which used to have
"condition": { "and": [ { "not": { "u_has_item": "id_science_security_black" } }, { "u_has_trait": "BLACK_SECURITY_ALARM" } ] },
and now has

"id": "bot_black_security_badge_check",
"condition": { "not": { "u_has_item": "id_science_security_black" } },
"effect": [
{ "u_message": "Remain in place, unauthorized person. Security has been activated." },
{ "mapgen_update": "toxic_gas_corridor", "om_terrain": "underground_lab_central_-6W" },
{ "mapgen_update": "lab_security_corridor_c", "om_terrain": "underground_lab_central_-6W" },
{ "mapgen_update": "lab_security_corridor_d", "om_terrain": "underground_lab_central_-6E" }
],

Now that the trait check is removed, these eocs that were queued before but never triggered suddenly activate. This one causes the toxic clouds reported by OP (among other effects).

@schealex
Copy link
Contributor

While we can add some obsoletion code for eoc, I do not think we need to fix this very issue as eoc that was removed does not appear in 0.F stable.

Try load the game, ignore any eoc errors, save game and if eoc error does not appear on subsequent game load - that's it.

i've tried ignore -> save -> reload but the error just keeps coming up and the game is not playable

@schealex
Copy link
Contributor

Okay.
Should I also delete the offending "queued_effect_on_conditions" entries from my saves?
"queued_effect_on_conditions": [
---delete these---
{ "time": 5243747, "eoc": "lab_check_magenta_security_drop", "recurring": true },
{ "time": 5243747, "eoc": "lab_security_check_surface_1", "recurring": true },
{ "time": 5243747, "eoc": "lab_security_check", "recurring": true },
{ "time": 5243747, "eoc": "lab_security_check_surface_2", "recurring": true },
{ "time": 5243748, "eoc": "lab_1x1x2_RES_8_check_MAINT", "recurring": true },
{ "time": 5243751, "eoc": "lab_concourse_bot_release_2", "recurring": true },
{ "time": 5243752, "eoc": "lab_magenta_security_check", "recurring": true },
{ "time": 5243754, "eoc": "lab_cyan_mutagen_check_3", "recurring": true },
{ "time": 5243754, "eoc": "lab_concourse_bot_release", "recurring": true },
{ "time": 5243754, "eoc": "bot_yellow_maintenance_badge_check_2", "recurring": true },
{ "time": 5243756, "eoc": "lab_1x1x2_RES_8_check_SEC", "recurring": true },
{ "time": 5243756, "eoc": "lab_pink_mutagen_check_2", "recurring": true },
{ "time": 5243757, "eoc": "lab_pink_mutagen_check_3", "recurring": true },
{ "time": 5243757, "eoc": "lab_pink_mutagen_check", "recurring": true },
{ "time": 5243757, "eoc": "bot_blue_maintenance_alarm_remove", "recurring": true },
{ "time": 5243759, "eoc": "lab_cyan_mutagen_check_2", "recurring": true },
{ "time": 5243762, "eoc": "bot_black_security_badge_check", "recurring": true },
{ "time": 5243763, "eoc": "bot_green_researcher_badge_check", "recurring": true },
{ "time": 5243765, "eoc": "bot_black_security_alarm_remove", "recurring": true },
{ "time": 5243765, "eoc": "bot_green_maintenance_alarm_remove", "recurring": true },
{ "time": 5243765, "eoc": "lab_cyan_mutagen_check_4", "recurring": true },
{ "time": 5243770, "eoc": "lab_cyan_mutagen_check", "recurring": true },
{ "time": 5243770, "eoc": "lab_pink_mutagen_check_4", "recurring": true },
{ "time": 5243772, "eoc": "bot_yellow_maintenance_badge_check", "recurring": true },
{ "time": 5243774, "eoc": "bot_blue_maintenance_badge_check", "recurring": true },
{ "time": 5243775, "eoc": "bot_yellow_maintenance_alarm_remove", "recurring": true },
{ "time": 5243776, "eoc": "bot_green_maintenance_badge_check", "recurring": true },
{ "time": 5243784, "eoc": "bot_blue_maintenance_alarm_remove2", "recurring": true },
{ "time": 5243788, "eoc": "bot_blue_maintenance_badge_check_2", "recurring": true },
{ "time": 5243789, "eoc": "bot_blue_maintenance_badge_check2a", "recurring": true },
{ "time": 5243796, "eoc": "bot_green_researcher_alarm_remove", "recurring": true },

---keep these---
{ "time": 5246525, "eoc": "night_messages3", "recurring": true },
{ "time": 5248421, "eoc": "ambient_subway", "recurring": true },
{ "time": 5251403, "eoc": "ambient_lab_subway", "recurring": true },
{ "time": 6279658, "eoc": "EOC_MIGO_INTEREST_INCREASE", "recurring": true }
],

quick update. After deleting all of these entries my game runs again!

@kevingranade
Copy link
Member

This issue has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there:

https://discourse.cataclysmdda.org/t/mission-lab-error-leading-to-buggy-security-glitch-that-makes-game-unplayable/26914/2

@kevingranade
Copy link
Member

This issue has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there:

https://discourse.cataclysmdda.org/t/mission-lab-error-leading-to-buggy-security-glitch-that-makes-game-unplayable/26914/5

@kevingranade
Copy link
Member

This issue has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there:

https://discourse.cataclysmdda.org/t/update-solved-mission-lab-error-leading-to-buggy-security-glitch-that-makes-game-unplayable/26914/6

@RandDenner
Copy link
Contributor Author

This issue is long since resolved

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
<Bug> This needs to be fixed Mechanics: Effects / Skills / Stats Effects / Skills / Stats
Projects
None yet
Development

No branches or pull requests

6 participants