CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.68k stars 4.19k forks source link

Segmentation fault #77125

Open DPurple opened 1 month ago

DPurple commented 1 month ago

Describe the bug

Game crashed with segmentation fault (lucky i have a full coredump) fragment in crash.log (included in coredump archive)

9

(dbghelp: item_contents::operator=+0x2a@0,000,7FF,68E,669,63A[cataclysm-tiles.exe+0xd99,63a]), 

10

(dbghelp: item::operator=+0x40@0,000,7FF,68E,669,160[cataclysm-tiles.exe+0xd99,160]), 

11

(dbghelp: vehicle::damage_direct+0x2de@0,000,7FF,68E,52B,E1E[cataclysm-tiles.exe+0xc5b,e1e]), 

12

(dbghelp: vehicle::damage+0x89a@0,000,7FF,68E,52B,41A[cataclysm-tiles.exe+0xc5b,41a]), 

13

(dbghelp: map::bash_vehicle+0x67@0,000,7FF,68E,249,F97[cataclysm-tiles.exe+0x979,f97]), 

14

(dbghelp: map::bash+0x11c@0,000,7FF,68E,247,22C[cataclysm-tiles.exe+0x977,22c]), 

15

(dbghelp: map::bash+0x57@0,000,7FF,68E,247,107[cataclysm-tiles.exe+0x977,107]), 

16

(dbghelp: monster::bash_at+0x19c@0,000,7FF,68E,387,C6C[cataclysm-tiles.exe+0xab7,c6c]), 

17

(dbghelp: monster::move+0x1,e54@0,000,7FF,68E,38C,374[cataclysm-tiles.exe+0xabc,374]), 

18

(dbghelp: `anonymous namespace'::monmove+0x798@0,000,7FF,68D,E2C,A78[cataclysm-tiles.exe+0x55c,a78]), 

19

(dbghelp: do_turn+0x1,0fa@0,000,7FF,68D,E2B,17A[cataclysm-tiles.exe+0x55b,17a])

Attach save file

Save may not help because can't reproduce this But I have a full coredump

Steps to reproduce

Can't reproduce... depends on luck

Expected behavior

^_^

Screenshots

No response

Versions and configuration

Additional context

Here's core dump and crash.log https://drive.google.com/file/d/1m2pIrKDv8MX-wSL1CVXGzAC4PP5P3OYk/view?usp=sharing

NetSysFire commented 1 month ago

Upload your core dumps and crash logs directly to github. Having to visit a clunky google drive page that takes ages to load here is not helping.

DPurple commented 1 month ago

Upload your core dumps and crash logs directly to github. Having to visit a clunky google drive page that takes ages to load here is not helping.

Sorry... github say it's too big, must smaller than 25MB Is there any other way to upload this to GitHub?

RenechCDDA commented 1 month ago

I don't think that's necessary, there's only one call to the item = operator in that function. https://github.com/CleverRaven/Cataclysm-DDA/blob/576d6396cc205edb38a8eb63f9c76d8eb35cfdc4/src/vehicle.cpp#L7636-L7638

I assume that the base part accessed from the parts vector is invalid, which means that either something really fucky happened or (more likely) the cached index of vp.fake_part_at was invalid. If that is the case, knowing it crashes here doesn't help, we'd need to know when it became invalid and why.