CleverRaven / Cataclysm-DDA

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

Segmentation fault #77125

Open DPurple opened 2 weeks ago

DPurple commented 2 weeks 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 week 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 week 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 week 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.