Project

General

Profile

Bug #2167

SIGSEGV during ~Subsector (e.g., ICARUS.WAD map01)

Added by skyjake over 8 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
High
Assignee:
Category:
Regression
Target version:
-
Start date:
2016-07-22
% Done:

100%

Tags:

Description

It appears the recent changes in world data structures have introduced a SIGSEGV. I have seen an occasional crash with larger custom WADs, such as Icarus.

Thread 14 Crashed:: CallbackThread
0                                     0x000000010e514583 world::ConvexSubspace::bspLeaf() const + 35 (convexsubspace.cpp:194)
1                                     0x000000010e5a7670 world::Subsector::sector() + 176 (subsector.cpp:83)
2                                     0x000000010e5a7758 world::Subsector::plane(int) + 24 (subsector.cpp:94)
3                                     0x000000010e0f87fa world::ClientSubsector::Impl::mappedPlane(int) + 74 (clientsubsector.cpp:168)
4                                     0x000000010e0f86b3 world::ClientSubsector::Impl::map(int, world::ClientSubsector*, bool) + 115 (clientsubsector.cpp:211)
5                                     0x000000010e0f85d1 world::ClientSubsector::Impl::clearMapping(int) + 33 (clientsubsector.cpp:227)
6                                     0x000000010e0f7a17 world::ClientSubsector::Impl::subsectorBeingDeleted(world::Subsector const&) + 87 (clientsubsector.cpp:643)
7                                     0x000000010e5a74f6 world::Subsector::~Subsector() + 182 (subsector.cpp:77)
8                                     0x000000010e107578 world::ClientSubsector::~ClientSubsector() + 88 (clientsubsector.h:38)
9                                     0x000000010e0f7415 world::ClientSubsector::~ClientSubsector() + 21 (clientsubsector.h:38)
10                                    0x000000010e0f7439 world::ClientSubsector::~ClientSubsector() + 25 (clientsubsector.h:38)
11                                    0x000000010e116e81 void qDeleteAll<QList<Vertex*>::const_iterator>(QList<Vertex*>::const_iterator, QList<Vertex*>::const_iterator) + 81 (qalgorithms.h:318)
12                                    0x000000010e59c011 void qDeleteAll<Sector::Impl::Planes>(Sector::Impl::Planes const&) + 65 (qalgorithms.h:326)
13                                    0x000000010e59bf98 Sector::Impl::Subsectors::~Subsectors() + 24 (sector.cpp:122)
14                                    0x000000010e59ad55 Sector::Impl::Subsectors::~Subsectors() + 21 (sector.cpp:122)
15                                    0x000000010e59c313 Sector::Impl::~Impl() + 291 (sector.cpp:44)
16                                    0x000000010e59adb5 Sector::Impl::~Impl() + 21 (sector.cpp:44)
17                                    0x000000010e59add9 Sector::Impl::~Impl() + 25 (sector.cpp:44)
18                                    0x000000010e4d3858 de::PrivateAutoPtr<Sector::Impl>::reset(Sector::Impl*) + 152 (libcore.h:397)
19                                    0x000000010e4d37a5 de::PrivateAutoPtr<Sector::Impl>::~PrivateAutoPtr() + 21 (libcore.h:387)
20                                    0x000000010e4d3785 de::PrivateAutoPtr<Sector::Impl>::~PrivateAutoPtr() + 21 (libcore.h:387)
21                                    0x000000010e4d36c1 Sector::~Sector() + 49 (sector.h:49)
22                                    0x000000010e59a8f5 Sector::~Sector() + 21 (sector.h:49)
23                                    0x000000010e59a919 Sector::~Sector() + 25 (sector.h:49)
24                                    0x000000010e116e81 void qDeleteAll<QList<Vertex*>::const_iterator>(QList<Vertex*>::const_iterator, QList<Vertex*>::const_iterator) + 81 (qalgorithms.h:318)
25                                    0x000000010e116de6 void qDeleteAll<QList<Vertex*> >(QList<Vertex*> const&) + 54 (qalgorithms.h:326)
26                                    0x000000010e564256 world::Map::Impl::~Impl() + 390 (map.cpp:337)
27                                    0x000000010e563275 world::Map::Impl::~Impl() + 21 (map.cpp:355)
28                                    0x000000010e563299 world::Map::Impl::~Impl() + 25 (map.cpp:326)
29                                    0x000000010e572a38 de::PrivateAutoPtr<world::Map::Impl>::reset(world::Map::Impl*) + 152 (libcore.h:397)
30                                    0x000000010e572985 de::PrivateAutoPtr<world::Map::Impl>::~PrivateAutoPtr() + 21 (libcore.h:387)
31                                    0x000000010e572965 de::PrivateAutoPtr<world::Map::Impl>::~PrivateAutoPtr() + 21 (libcore.h:387)
32                                    0x000000010e57290e world::Map::~Map() + 62 (map.h:77)
33                                    0x000000010e561bd5 world::Map::~Map() + 21 (map.h:77)
34                                    0x000000010e561bf9 world::Map::~Map() + 25 (map.h:77)
35                                    0x000000010e4fe9e6 ClientServerWorld::Impl::changeMap(res::MapManifest*) + 198 (clientserverworld.cpp:730)

Associated revisions

Revision 440deca9 (diff)
Added by danij over 8 years ago

Fixed|World: SIGSEGV during ~Subsector (e.g., icarus.wad MAP01)

IssueID #2167

History

#1 Updated by danij over 8 years ago

  • Assignee changed from Deng Team to danij
  • % Done changed from 0 to 10

#2 Updated by danij over 8 years ago

  • Status changed from New to Closed
  • % Done changed from 10 to 100

#3 Updated by skyjake over 7 years ago

  • Target version deleted (49)

Also available in: Atom PDF