Skip to content
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

revert some changes from commit 88eb70652910a3bbbae that cause a segfault #25

Merged
merged 1 commit into from Jan 18, 2019

Conversation

LynxAbraxas
Copy link
Contributor

changes to:
ctp2_code/robot/aibackdoor/dynarr.h : caused a segfault of ctp2 when a new or a saved game was loaded (see tests of ctp2DF @ 6e70a4a96e82 and c45f8e9f474a)

changes to:
ctp2_code/robot/aibackdoor/dynarr.h : caused a segfault of ctp2 when a new or a saved game was loaded (see tests of ctp2DF @ 6e70a4a96e82 and c45f8e9f474a)
@LynxAbraxas
Copy link
Contributor Author

@DEVoytas would you mind merging this? Without this PR, the executable from the linux branch is basically unusable and it is essential that this bug doe not get ported to master.

@MartinGuehmann MartinGuehmann merged commit 5db46ab into civctp2:linux Jan 18, 2019
@LynxAbraxas LynxAbraxas deleted the linux-segfault-debug branch February 16, 2019 21:45
LynxAbraxas added a commit to LynxAbraxas/civctp2 that referenced this pull request Dec 28, 2019
…tes (sender civ == receiver civ)", causes "No such object":

This reverts commit fe3b57c.

Messagebox(GameObj.cpp Error): No such object

Continue?

(ctp2:385): Gtk-CRITICAL **: 18:45:55.493: IA__gtk_main_quit: assertion 'main_loops != NULL' failed

(ctp2:385): Gtk-CRITICAL **: 18:45:55.495: IA__gtk_main_quit: assertion 'main_loops != NULL' failed

(ctp2:385): Gtk-CRITICAL **: 18:45:55.496: IA__gtk_main_quit: assertion 'main_loops != NULL' failed

(ctp2:385): Gtk-CRITICAL **: 18:45:55.498: IA__gtk_main_quit: assertion 'main_loops != NULL' failed

(ctp2:385): Gtk-CRITICAL **: 18:45:55.506: IA__gtk_main_quit: assertion 'main_loops != NULL' failed

Thread 1 "ctp2" received signal SIGSEGV, Segmentation fault.
0x00005555557902ba in UnitData::GetOwner() const ()
(gdb) bt
#0  0x00005555557902ba in UnitData::GetOwner() const ()
civctp2#1  0x00005555560917d4 in Unit::GetOwner() const ()
civctp2#2  0x000055555608c8b0 in TradeRoute::RemoveAllReferences(CAUSE_KILL_TRADE_ROUTE) ()
civctp2#3  0x000055555608c658 in TradeRoute::KillRoute(CAUSE_KILL_TRADE_ROUTE) ()
civctp2#4  0x000055555578fe8e in TradeRoute::Kill(CAUSE_KILL_TRADE_ROUTE) ()
civctp2#5  0x000055555600931e in CityData::~CityData() ()
civctp2#6  0x0000555556009504 in CityData::~CityData() ()
civctp2#7  0x00005555560985b8 in UnitData::~UnitData() ()
civctp2#8  0x000055555609869c in UnitData::~UnitData() ()
civctp2#9  0x0000555556043a05 in GameObj_Delete(GameObj**, unsigned int) ()
civctp2#10 0x0000555556052891 in ObjPool::Del(ID const&) ()
civctp2#11 0x00005555560912ee in Unit::RemoveAllReferences(CAUSE_REMOVE_ARMY, int) ()
civctp2#12 0x0000555556090ae2 in Unit::KillUnit(CAUSE_REMOVE_ARMY, int) ()
civctp2#13 0x00005555558bcfd4 in Unit::Kill(CAUSE_REMOVE_ARMY, int) ()
civctp2#14 0x00005555560179fc in CityData::CityToPark(int) ()
civctp2#15 0x00005555560a0dd2 in UnitData::CityToPark(int) ()
civctp2#16 0x000055555609446f in Unit::CityToPark(int) ()
civctp2#17 0x00005555560c6171 in CreateParkEvent::GEVHookCallback(GAME_EVENT, GameEventArgList*) ()
civctp2#18 0x0000555555fc0500 in GameEventHook::Activate(GameEventArgList*, int, int&) const ()
civctp2#19 0x0000555555fbd9c4 in GameEventManager::ActivateHook(GAME_EVENT, GameEventArgList*, int, int&) ()
civctp2#20 0x0000555555fbff27 in GameEvent::Process() ()
civctp2#21 0x0000555555fbd6b4 in GameEventManager::ProcessHead() ()
civctp2#22 0x0000555555fbd5e3 in GameEventManager::Process() ()
civctp2#23 0x0000555555780f4b in CivApp::Process() ()
civctp2#24 0x0000555555776cec in CivMain(int, char**) ()
civctp2#25 0x0000555555776889 in main ()

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Sat Dec 28 19:51:22 2019 +0100
#
# On branch master4testing
# Your branch is ahead of 'origin/master4testing' by 1 commit.
#   (use "git push" to publish your local commits)
#
# Changes to be committed:
#	modified:   ctp2_code/gs/gameobj/TradeRoute.cpp
#
LynxAbraxas added a commit to LynxAbraxas/civctp2 that referenced this pull request Dec 29, 2019
…tes (sender civ == receiver civ)", causes "No such object":

This reverts commit fe3b57c.

Messagebox(GameObj.cpp Error): No such object

Continue?

(ctp2:385): Gtk-CRITICAL **: 18:45:55.493: IA__gtk_main_quit: assertion 'main_loops != NULL' failed

(ctp2:385): Gtk-CRITICAL **: 18:45:55.495: IA__gtk_main_quit: assertion 'main_loops != NULL' failed

(ctp2:385): Gtk-CRITICAL **: 18:45:55.496: IA__gtk_main_quit: assertion 'main_loops != NULL' failed

(ctp2:385): Gtk-CRITICAL **: 18:45:55.498: IA__gtk_main_quit: assertion 'main_loops != NULL' failed

(ctp2:385): Gtk-CRITICAL **: 18:45:55.506: IA__gtk_main_quit: assertion 'main_loops != NULL' failed

Thread 1 "ctp2" received signal SIGSEGV, Segmentation fault.
0x00005555557902ba in UnitData::GetOwner() const ()
(gdb) bt
#0  0x00005555557902ba in UnitData::GetOwner() const ()
civctp2#1  0x00005555560917d4 in Unit::GetOwner() const ()
civctp2#2  0x000055555608c8b0 in TradeRoute::RemoveAllReferences(CAUSE_KILL_TRADE_ROUTE) ()
civctp2#3  0x000055555608c658 in TradeRoute::KillRoute(CAUSE_KILL_TRADE_ROUTE) ()
civctp2#4  0x000055555578fe8e in TradeRoute::Kill(CAUSE_KILL_TRADE_ROUTE) ()
civctp2#5  0x000055555600931e in CityData::~CityData() ()
civctp2#6  0x0000555556009504 in CityData::~CityData() ()
civctp2#7  0x00005555560985b8 in UnitData::~UnitData() ()
civctp2#8  0x000055555609869c in UnitData::~UnitData() ()
civctp2#9  0x0000555556043a05 in GameObj_Delete(GameObj**, unsigned int) ()
civctp2#10 0x0000555556052891 in ObjPool::Del(ID const&) ()
civctp2#11 0x00005555560912ee in Unit::RemoveAllReferences(CAUSE_REMOVE_ARMY, int) ()
civctp2#12 0x0000555556090ae2 in Unit::KillUnit(CAUSE_REMOVE_ARMY, int) ()
civctp2#13 0x00005555558bcfd4 in Unit::Kill(CAUSE_REMOVE_ARMY, int) ()
civctp2#14 0x00005555560179fc in CityData::CityToPark(int) ()
civctp2#15 0x00005555560a0dd2 in UnitData::CityToPark(int) ()
civctp2#16 0x000055555609446f in Unit::CityToPark(int) ()
civctp2#17 0x00005555560c6171 in CreateParkEvent::GEVHookCallback(GAME_EVENT, GameEventArgList*) ()
civctp2#18 0x0000555555fc0500 in GameEventHook::Activate(GameEventArgList*, int, int&) const ()
civctp2#19 0x0000555555fbd9c4 in GameEventManager::ActivateHook(GAME_EVENT, GameEventArgList*, int, int&) ()
civctp2#20 0x0000555555fbff27 in GameEvent::Process() ()
civctp2#21 0x0000555555fbd6b4 in GameEventManager::ProcessHead() ()
civctp2#22 0x0000555555fbd5e3 in GameEventManager::Process() ()
civctp2#23 0x0000555555780f4b in CivApp::Process() ()
civctp2#24 0x0000555555776cec in CivMain(int, char**) ()
civctp2#25 0x0000555555776889 in main ()
LynxAbraxas added a commit to LynxAbraxas/civctp2 that referenced this pull request Dec 30, 2019
…ct":

This reverts commit 81ae687.

Thread 1 "ctp2" hit Catchpoint 1 (signal SIGSEGV), 0x0000555555790236 in UnitData::GetOwner (this=0x0) at ../ctp2_code/gs/gameobj/UnitData.h:296
296		PLAYER_INDEX GetOwner () const { return m_owner; };
#0  0x0000555555790236 in UnitData::GetOwner (this=0x0) at ../ctp2_code/gs/gameobj/UnitData.h:296
civctp2#1  0x000055555609176a in Unit::GetOwner (this=0x7fffffffe254) at Unit.cpp:397
civctp2#2  0x000055555608c847 in TradeRoute::RemoveAllReferences (this=0x7fffffffe2b4, cause=CAUSE_KILL_TRADE_ROUTE_CITY_DIED) at TradeRoute.cpp:70
civctp2#3  0x000055555608c5c8 in TradeRoute::KillRoute (this=0x55555f993d5c, cause=CAUSE_KILL_TRADE_ROUTE_CITY_DIED) at TradeRoute.cpp:35
civctp2#4  0x000055555578fe0a in TradeRoute::Kill (this=0x55555f993d5c, cause=CAUSE_KILL_TRADE_ROUTE_CITY_DIED) at ../ctp2_code/gs/gameobj/TradeRoute.h:51
civctp2#5  0x000055555600928e in CityData::~CityData (this=0x55555f9935ac, __in_chrg=<optimized out>) at CityData.cpp:582
civctp2#6  0x0000555556009474 in CityData::~CityData (this=0x55555f9935ac, __in_chrg=<optimized out>) at CityData.cpp:605
civctp2#7  0x000055555609854e in UnitData::~UnitData (this=0x55555f99327c, __in_chrg=<optimized out>) at UnitData.cpp:384
civctp2#8  0x0000555556098632 in UnitData::~UnitData (this=0x55555f99327c, __in_chrg=<optimized out>) at UnitData.cpp:389
civctp2#9  0x0000555556043975 in GameObj_Delete (p=0x55555f74099c, id=268435500) at GameObj.cpp:190
civctp2#10 0x0000555556052801 in ObjPool::Del (this=0x55555f74082c, id=...) at ObjPool.cpp:106
civctp2#11 0x0000555556091284 in Unit::RemoveAllReferences (this=0x7fffffffe474, cause=CAUSE_REMOVE_ARMY_PARKRANGER, killedBy=1) at Unit.cpp:293
civctp2#12 0x0000555556090a78 in Unit::KillUnit (this=0x55555f9936b0, cause=CAUSE_REMOVE_ARMY_PARKRANGER, killedBy=1) at Unit.cpp:126
civctp2#13 0x00005555558bcf50 in Unit::Kill (this=0x55555f9936b0, cause=CAUSE_REMOVE_ARMY_PARKRANGER, killedBy=1) at ../ctp2_code/gs/gameobj/Unit.h:108
civctp2#14 0x000055555601796c in CityData::CityToPark (this=0x55555f9935ac, agressor=1) at CityData.cpp:5981
civctp2#15 0x00005555560a0d68 in UnitData::CityToPark (this=0x55555f99327c, agressor=1) at UnitData.cpp:3191
civctp2#16 0x0000555556094405 in Unit::CityToPark (this=0x7fffffffe5a0, agressor=1) at Unit.cpp:1522
civctp2#17 0x00005555560c6107 in CreateParkEvent::GEVHookCallback (this=0x55555674d980 <s_CreateParkEvent>, gameEventType=GEV_CreatePark, args=0x555582a0543c) at CityEvent.cpp:662
civctp2#18 0x0000555555fc0470 in GameEventHook::Activate (this=0x55555ef016cc, args=0x555582a0543c, startIndex=0, resumeIndex=@0x555582a062bc: 1) at GameEventHook.cpp:254
civctp2#19 0x0000555555fbd934 in GameEventManager::ActivateHook (this=0x55555eee50ac, type=GEV_CreatePark, args=0x555582a0543c, startIndex=-1, resumeIndex=@0x555582a062bc: 1) at GameEventManager.cpp:511
civctp2#20 0x0000555555fbfe97 in GameEvent::Process (this=0x555582a062ac) at GameEvent.cpp:112
civctp2#21 0x0000555555fbd624 in GameEventManager::ProcessHead (this=0x55555eee50ac) at GameEventManager.cpp:440
civctp2#22 0x0000555555fbd553 in GameEventManager::Process (this=0x55555eee50ac) at GameEventManager.cpp:415
civctp2#23 0x0000555555780ec7 in CivApp::Process (this=0x555556caec9c) at ctp/civapp.cpp:2563
civctp2#24 0x0000555555776c68 in CivMain (iCmdShow=2, pSzCmdLine=0x7fffffffecb8) at ctp/civ3_main.cpp:1694
civctp2#25 0x0000555555776805 in main (argc=2, argv=0x7fffffffecb8) at ctp/civ3_main.cpp:1440
LynxAbraxas added a commit to LynxAbraxas/civctp2 that referenced this pull request Dec 30, 2019
…ct":

This reverts commit 81ae687.

Thread 1 "ctp2" hit Catchpoint 1 (signal SIGSEGV), 0x0000555555790236 in UnitData::GetOwner (this=0x0) at ../ctp2_code/gs/gameobj/UnitData.h:296
296		PLAYER_INDEX GetOwner () const { return m_owner; };
#0  0x0000555555790236 in UnitData::GetOwner (this=0x0) at ../ctp2_code/gs/gameobj/UnitData.h:296
civctp2#1  0x000055555609176a in Unit::GetOwner (this=0x7fffffffe254) at Unit.cpp:397
civctp2#2  0x000055555608c847 in TradeRoute::RemoveAllReferences (this=0x7fffffffe2b4, cause=CAUSE_KILL_TRADE_ROUTE_CITY_DIED) at TradeRoute.cpp:70
civctp2#3  0x000055555608c5c8 in TradeRoute::KillRoute (this=0x55555f993d5c, cause=CAUSE_KILL_TRADE_ROUTE_CITY_DIED) at TradeRoute.cpp:35
civctp2#4  0x000055555578fe0a in TradeRoute::Kill (this=0x55555f993d5c, cause=CAUSE_KILL_TRADE_ROUTE_CITY_DIED) at ../ctp2_code/gs/gameobj/TradeRoute.h:51
civctp2#5  0x000055555600928e in CityData::~CityData (this=0x55555f9935ac, __in_chrg=<optimized out>) at CityData.cpp:582
civctp2#6  0x0000555556009474 in CityData::~CityData (this=0x55555f9935ac, __in_chrg=<optimized out>) at CityData.cpp:605
civctp2#7  0x000055555609854e in UnitData::~UnitData (this=0x55555f99327c, __in_chrg=<optimized out>) at UnitData.cpp:384
civctp2#8  0x0000555556098632 in UnitData::~UnitData (this=0x55555f99327c, __in_chrg=<optimized out>) at UnitData.cpp:389
civctp2#9  0x0000555556043975 in GameObj_Delete (p=0x55555f74099c, id=268435500) at GameObj.cpp:190
civctp2#10 0x0000555556052801 in ObjPool::Del (this=0x55555f74082c, id=...) at ObjPool.cpp:106
civctp2#11 0x0000555556091284 in Unit::RemoveAllReferences (this=0x7fffffffe474, cause=CAUSE_REMOVE_ARMY_PARKRANGER, killedBy=1) at Unit.cpp:293
civctp2#12 0x0000555556090a78 in Unit::KillUnit (this=0x55555f9936b0, cause=CAUSE_REMOVE_ARMY_PARKRANGER, killedBy=1) at Unit.cpp:126
civctp2#13 0x00005555558bcf50 in Unit::Kill (this=0x55555f9936b0, cause=CAUSE_REMOVE_ARMY_PARKRANGER, killedBy=1) at ../ctp2_code/gs/gameobj/Unit.h:108
civctp2#14 0x000055555601796c in CityData::CityToPark (this=0x55555f9935ac, agressor=1) at CityData.cpp:5981
civctp2#15 0x00005555560a0d68 in UnitData::CityToPark (this=0x55555f99327c, agressor=1) at UnitData.cpp:3191
civctp2#16 0x0000555556094405 in Unit::CityToPark (this=0x7fffffffe5a0, agressor=1) at Unit.cpp:1522
civctp2#17 0x00005555560c6107 in CreateParkEvent::GEVHookCallback (this=0x55555674d980 <s_CreateParkEvent>, gameEventType=GEV_CreatePark, args=0x555582a0543c) at CityEvent.cpp:662
civctp2#18 0x0000555555fc0470 in GameEventHook::Activate (this=0x55555ef016cc, args=0x555582a0543c, startIndex=0, resumeIndex=@0x555582a062bc: 1) at GameEventHook.cpp:254
civctp2#19 0x0000555555fbd934 in GameEventManager::ActivateHook (this=0x55555eee50ac, type=GEV_CreatePark, args=0x555582a0543c, startIndex=-1, resumeIndex=@0x555582a062bc: 1) at GameEventManager.cpp:511
civctp2#20 0x0000555555fbfe97 in GameEvent::Process (this=0x555582a062ac) at GameEvent.cpp:112
civctp2#21 0x0000555555fbd624 in GameEventManager::ProcessHead (this=0x55555eee50ac) at GameEventManager.cpp:440
civctp2#22 0x0000555555fbd553 in GameEventManager::Process (this=0x55555eee50ac) at GameEventManager.cpp:415
civctp2#23 0x0000555555780ec7 in CivApp::Process (this=0x555556caec9c) at ctp/civapp.cpp:2563
civctp2#24 0x0000555555776c68 in CivMain (iCmdShow=2, pSzCmdLine=0x7fffffffecb8) at ctp/civ3_main.cpp:1694
civctp2#25 0x0000555555776805 in main (argc=2, argv=0x7fffffffecb8) at ctp/civ3_main.cpp:1440
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants