-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Invalid alpha talker while sleeping causes seg fault #78952
Comments
/Confirmed It's not reliably repeatable though. It's a damned mess of lambdas, function parameter calls, and recursion making it hard to trace what's going on, as the call stack just references the lambdas, and the sometimes fails, sometimes not nature of it makes it harder. Anyway, it's the EOC_YUGG_DEATH that's referenced in the error message, and that's what I see debugging.
It seems this is caused by monster::die in monster.cpp is called with a null killer, possibly because the cause of death wasn't a critter, but rather a result of a teleport collision, so the alpha talker becomes null. |
oddly, the only place where EOC_YUGG_DEATH calls for alpha talker is in player_see_u check, which is handled by f_player_see, which already declare creature and then check if it's null or not? or i misunderstand what Cataclysm-DDA/src/condition.cpp Lines 1387 to 1397 in 5e3997c
|
Further thoughts triggered by @GuardianDll's post: My compiler claims d.const_actor(is_npc) refers to npc_talk.cpp operation const_dialogue::const_actor, which returns the error message generated and then returns a null pointer through alpha.get(). This means the error message is generated when failing to create At a guess, you don't really want to check "if_player_see_u" (which may be incorrectly implemented, given the killer is referenced), but rather to check whether the player sees "death_loc", as that's the location the stuff the message refers to is spawned. |
Describe the bug
Going to sleep triggers an invalid alpha talker error and seg faults the game right after. I tested it a bit and just tried to wait through the night but it seems like sleeping has something to do with the crash?
Attach save file
Marseilles-trimmed.tar.gz
Steps to reproduce
Expected behavior
I have no idea what's causing the crash but I would expect to be able to sleep without crashing.
Screenshots
No response
Versions and configuration
Dark Days Ahead [dda],
Portal Storms Ignore NPCs [personal_portal_storms],
Slowdown Fungal Growth [no_fungal_growth],
Translate Complex Dialogue [translate_dialogue]
]
Additional context
crash.log
debug.log
The text was updated successfully, but these errors were encountered: