CleverRaven / CleverRaven/Cataclysm-DDA
EOC_LIEUTENANT_SHADOW_SPAWN_MESSAGE errors
- Dominant language
- C++
- Stars
- 13.1k
- Forks
- 4.6k
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 200
Description
### Describe the bug
Was back at my base with a mild cold, cooking up something on the campfire, when out of nowhere, multiple errors:
ERROR : src/generic_factory.h:478 [const T &generic_factory::obj(const string_id &) const [T = effect_on_condition]] invalid effect_on_condition id "EOC_LIEUTENANT_SHADOW_SPAWN_MESSAGE"
ERROR : src/npctalk.cpp:2342 [talker *dialogue::actor(const bool) const] Tried to use an invalid alpha talker. Callstack: Spell: LTNT_LIFE_DRAIN Caster: the A shadow? \ EOC: EOC_LIEUTENANT_DRAIN_LIFE_TERRAIN
I'm pretty sure that was a cool event that I just survived (there was a shadow, and some swarming amalgamations), but I'm not sure if I got the event as planned. I'm pretty sure the errors weren't planned.
The only messages I got were:
- "The shadows recede, leaving you with nowhere to hide!"
- "The ground blackens before you"
- "The wind laughs through the night... but it grows more distant for now."
Click for stack backtrace and full log
```
21:52:55.716 ERROR : (error message will follow backtrace)
./cataclysm-tiles(debug_write_backtrace(std::ostream&)+0x25) [0x1449bce]
./cataclysm-tiles(DebugLog(DebugLevel, DebugClass)+0x281) [0x1449189]
./cataclysm-tiles(realDebugmsg(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator > const&)+0xa0) [0x1448a5a]
./cataclysm-tiles(generic_factory::obj(string_id const&) const+0x80) [0x1528142]
./cataclysm-tiles() [0x1dec425]
./cataclysm-tiles(talk_effect_t::apply(dialogue&) const+0x217) [0x1d78a9b]
./cataclysm-tiles(effect_on_condition::activate(dialogue&) const+0x14a) [0x152601a]
./cataclysm-tiles() [0x1525a12]
./cataclysm-tiles(effect_on_conditions::process_effect_on_conditions(Character&)+0xac) [0x1525345]
./cataclysm-tiles(Character::process_turn()+0x752) [0x126124e]
./cataclysm-tiles(do_turn()+0x1de4) [0x14ddce4]
./cataclysm-tiles(main+0x130b) [0x19abe03]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f13fa429083]
./cataclysm-tiles(_start+0x2e) [0x103a50e]
Attempting to repeat stack trace using debug symbols…
debug_write_backtrace(std::ostream&)
…/src/debug.cpp:1226
DebugLog(DebugLevel, DebugClass)
…/src/debug.cpp:1453
realDebugmsg(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator > const&)
…/src/debug.cpp:514
generic_factory::obj(string_id const&) const
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h:207
_M_is_local
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h:226
_M_dispose
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h:235
~basic_string
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h:662
realDebugmsg &, const char *>
…/src/debug.h:78
obj
…/src/generic_factory.h:478
std::_Function_handler >)::$_271>::_M_invoke(std::_Any_data const&, dialogue&)
…/src/npctalk.cpp:5334
operator()
…/src/npctalk.cpp:5363
_M_invoke
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300
talk_effect_t::apply(dialogue&) const
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h:826
apply
…/src/npctalk.cpp:6352
effect_on_condition::activate(dialogue&) const
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h:207
_M_is_local
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h:226
_M_dispose
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h:235
~basic_string
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h:662
~talk_topic
…/src/dialogue.h:83
activate
…/src/effect_on_condition.cpp:308
process_eocs(queued_eocs&, std::vector, std::allocator > >&, dialogue&)
…/src/effect_on_condition.cpp:?
effect_on_conditions::process_effect_on_conditions(Character&)
…/src/effect_on_condition.cpp:?
Character::process_turn()
…/src/character.cpp:2461
do_turn()
…/src/do_turn.cpp:636
main
…/src/main.cpp:851
addr2line: DWARF error: section .debug_info is larger than its filesize! (0x93f189 vs 0x530f70)
__libc_start_main
??:?
_start
??:?
Backtrace emission took 2 seconds.
(continued from above) ERROR : src/generic_factory.h:478 [const T &generic_factory::obj(const string_id &) const [T = effect_on_condition]] invalid effect_on_condition id "EOC_LIEUTENANT_SHADOW_SPAWN_MESSAGE"
21:53:08.104 ERROR : src/generic_factory.h:478 [const T &generic_factory::obj(const string_id &) const [T = effect_on_condition]] invalid effect_on_condition id "EOC_LIEUTENANT_SHADOW_SPAWN_MESSAGE"
21:53:10.567 ERROR : src/generic_factory.h:478 [const T &generic_factory::obj(const string_id &) const [T = effect_on_condition]] invalid effect_on_condition id "EOC_LIEUTENANT_SHADOW_SPAWN_MESSAGE"
21:53:11.838 ERROR : src/generic_factory.h:478 [const T &generic_factory::obj(const string_id &) const [T = effect_on_condition]] invalid effect_on_condition id "EOC_LIEUTENANT_SHADOW_SPAWN_MESSAGE"
21:53:12.521 ERROR : src/generic_factory.h:478 [const T &generic_factory::obj(const string_id &) const [T = effect_on_condition]] invalid effect_on_condition id "EOC_LIEUTENANT_SHADOW_SPAWN_MESSAGE"
21:53:35.187 ERROR : src/npctalk.cpp:2342 [talker *dialogue::actor(const bool) const] Tried to use an invalid alpha talker. Callstack: Spell: LTNT_LIFE_DRAIN Caster: the A shadow? \ EOC: EOC_LIEUTENANT_DRAIN_LIFE_TERRAIN
21:53:41.564 ERROR : src/npctalk.cpp:2342 [talker *dialogue::actor(const bool) const] Tried to use an invalid alpha talker. Callstack: Spell: LTNT_LIFE_DRAIN Caster: the A shadow? \ EOC: EOC_LIEUTENANT_DRAIN_LIFE_TERRAIN
21:53:42.301 ERROR : src/npctalk.cpp:2342 [talker *dialogue::actor(const bool) const] Tried to use an invalid alpha talker. Callstack: Spell: LTNT_LIFE_DRAIN Caster: the A shadow? \ EOC: EOC_LIEUTENANT_DRAIN_LIFE_TERRAIN
21:53:42.817 ERROR : src/npctalk.cpp:2342 [talker *dialogue::actor(const bool) const] Tried to use an invalid alpha talker. Callstack: Spell: LTNT_LIFE_DRAIN Caster: the A shadow? \ EOC: EOC_LIEUTENANT_DRAIN_LIFE_TERRAIN
21:53:43.359 ERROR : src/npctalk.cpp:2342 [talker *dialogue::actor(const bool) const] Tried to use an invalid alpha talker. Callstack: Spell: LTNT_LIFE_DRAIN Caster: the A shadow? \ EOC: EOC_LIEUTENANT_DRAIN_LIFE_TERRAIN
21:53:43.922 ERROR : src/npctalk.cpp:2342 [talker *dialogue::actor(const bool) const] Tried to use an invalid alpha talker. Callstack: Spell: LTNT_LIFE_DRAIN Caster: the A shadow? \ EOC: EOC_LIEUTENANT_DRAIN_LIFE_TERRAIN
21:53:44.437 ERROR : src/npctalk.cpp:2342 [talker *dialogue::actor(const bool) const] Tried to use an invalid alpha talker. Callstack: Spell: LTNT_LIFE_DRAIN Caster: the A shadow? \ EOC: EOC_LIEUTENANT_DRAIN_LIFE_TERRAIN
21:53:44.969 ERROR : src/npctalk.cpp:2342 [talker *dialogue::actor(const bool) const] Tried to use an invalid alpha talker. Callstack: Spell: LTNT_LIFE_DRAIN Caster: the A shadow? \ EOC: EOC_LIEUTENANT_DRAIN_LIFE_TERRAIN
```
### Attach save file
Save is from just after I defeated the encounter.
[2024-01-NoHope-100pc-Rural-trimmed.tar.gz](https://github.com/CleverRaven/Cataclysm-DDA/files/14050818/2024-01-NoHope-100pc-Rural-trimmed.tar.gz)
### Steps to reproduce
Haven't tried to reproduce, sorry.
### Expected behavior
No errors being thrown when spooky things happen.
### Screenshots
_No response_
### Versions and configuration
```
- OS: Linux
- OS Version: Distributor ID: Ubuntu; Description: Ubuntu 20.04 LTS; Release: 20.04; Codename: focal;
- Game Version: 0.G-6927-g366e5a8ed8 [64-bit]
- Graphics Version: Tiles
- Game Language: English [en]
- Mods loaded: [
Dark Days Ahead [dda],
Bionic Slots [cbm_slots],
sees-player, run, crouch, bleed icons, retrodays [sees_player_retro],
sees-player icon, HitButton_iso [sees_player_hitbutton],
Slowdown Fungal Growth [no_fungal_growth],
Portal Storms Ignore NPCs [personal_portal_storms],
Disable NPC Needs [no_npc_food],
No Hope [no_hope]
]
```
Game version is `cdda-experimental-2024-01-25-0536` with some local JSON patches apply that do not involve EOCs.
### Additional context
_No response_
Contributor guide
Research direction
Start by examining the EOC_LIEUTENANT_SHADOW_SPAWN_MESSAGE and EOC_LIEUTENANT_DRAIN_LIFE_TERRAIN references, then follow the reported paths in src/generic_factory.h and src/npctalk.cpp. Use the attached save to investigate the encounter if it can be loaded. Done means the event no longer emits invalid effect_on_condition or alpha-talker errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100