project-navigation
Personal tools

Author Topic: Game crash when catch ufo supply R25676  (Read 3287 times)

Offline O01eg

  • Rookie
  • ***
  • Posts: 73
    • View Profile
Game crash when catch ufo supply R25676
« on: August 14, 2009, 07:42:15 pm »
I catch ufo supply and send it ti my base. Game crashed in some time. It's log of release version (I got code's lines):
Code: [Select]
Cvar 'mission_recoverybase' wasn't found
Cvar 'mission_recoverynation' wasn't found
********************
ERROR: UR_Prepare: No room in large UFO hangars to store craft_ufo_supply
********************
./ufo(Sys_Backtrace+0x15)[0x548ce1] /tmp/ufoai/src/ports/unix/unix_main.c:487
./ufo(Com_Error+0x17d)[0x4f4f2f] /tmp/ufoai/src/common/common.c:264
./ufo(UR_UpdateUFOHangarCapForAll+0x0)[0x4b9a08] /tmp/ufoai/src/client/campaign/cp_uforecovery.c:271
./ufo[0x4b9de3] /tmp/ufoai/src/client/campaign/cp_uforecovery_callbacks.c:368
./ufo[0x4ba622] /tmp/ufoai/src/client/campaign/cp_uforecovery_callbacks.c:426
./ufo(Cbuf_Execute+0x21a)[0x4ead39] /tmp/ufoai/src/common/cmd.c:196
./ufo[0x44cb3d] /tmp/ufoai/src/client/cl_main.c:902
./ufo[0x4f4148] /tmp/ufoai/src/common/common.c:1051
./ufo(Qcommon_Frame+0xdd)[0x4f3d21] /tmp/ufoai/src/common/common.c:1129
./ufo(main+0x45)[0x548a19] /tmp/ufoai/src/ports/linux/linux_main.c:53
/lib/libc.so.6(__libc_start_main+0xe6)[0x7f7a040ec56e]
./ufo[0x428789]
music change to van_geoscape (from ufo2)
Calling subsystems
...subsystem 'base' - saved
...subsystem 'campaign' - saved
...subsystem 'hospital' - saved
...subsystem 'market' - saved
...subsystem 'research' - saved
...subsystem 'employee' - saved
...subsystem 'aliencont' - saved
...subsystem 'production' - saved
...subsystem 'aircraft' - saved
...subsystem 'messagesystem' - saved
...subsystem 'stats' - saved
...subsystem 'nations' - saved
...subsystem 'transfer' - saved
...subsystem 'alien base' - saved
...subsystem 'xvirate' - saved
...subsystem 'installation' - saved
...subsystem 'messageoptions' - saved
XML Written to buffer (1643600 Bytes)
music change to van_geoscape (from van_geoscape)
./ufo(Sys_Backtrace+0x15)[0x548ce1] /tmp/ufoai/src/ports/unix/unix_main.c:487
./ufo[0x549410] /tmp/ufoai/src/ports/unix/unix_main.c:512
/lib/libc.so.6[0x7f7a040ff650]
./ufo(MAP_GetColor+0x2a)[0x4942ff] /tmp/ufoai/src/client/campaign/cp_map.c:2094
./ufo(MAP_GetNation+0xe)[0x49469a] /tmp/ufoai/src/client/campaign/cp_map.c:1823
./ufo(CP_SpreadXVIAtPos+0x9)[0x47df96] /tmp/ufoai/src/client/campaign/cp_xvi.c:52
./ufo(CP_BuildBaseMissionIsSuccess+0x1d)[0x4c1cd6] /tmp/ufoai/src/client/campaign/missions/cp_mission_buildbase.c:54
./ufo(CP_CheckNextStageDestination+0x44)[0x477d15] /tmp/ufoai/src/client/campaign/cp_missions.c:1186
./ufo(UFO_CampaignRunUFOs+0x10e)[0x4b5281] /tmp/ufoai/src/client/campaign/cp_ufo.c:458
./ufo(CL_CampaignRun+0x67a)[0x4860a6] /tmp/ufoai/src/client/campaign/cp_campaign.c:777
./ufo[0x4d90ad] /tmp/ufoai/src/client/menu/node/m_node_map.c:43
./ufo[0x4c957a] /tmp/ufoai/src/client/menu/m_draw.c:235
./ufo[0x4c9596] /tmp/ufoai/src/client/menu/m_draw.c:243
./ufo(MN_Draw+0xb2)[0x4c96f2] /tmp/ufoai/src/client/menu/m_draw.c:335
./ufo(SCR_UpdateScreen+0xa2)[0x453b4c] /tmp/ufoai/src/client/cl_screen.c:372
./ufo(CL_Frame+0x253)[0x44ceed] /tmp/ufoai/src/client/cl_main.c:1103
./ufo[0x4f4148] /tmp/ufoai/src/common/common.c:1051
./ufo(Qcommon_Frame+0xdd)[0x4f3d21] /tmp/ufoai/src/common/common.c:1129
./ufo(main+0x45)[0x548a19] /tmp/ufoai/src/ports/linux/linux_main.c:53
/lib/libc.so.6(__libc_start_main+0xe6)[0x7f7a040ec56e]
./ufo[0x428789]
./ufo(Sys_Backtrace+0x15)[0x548ce1] /tmp/ufoai/src/ports/unix/unix_main.c:487
./ufo(Sys_Error+0x73)[0x54936d] /tmp/ufoai/src/ports/unix/unix_main.c:87
./ufo[0x54941e] /tmp/ufoai/src/ports/unix/unix_main.c:497
/lib/libc.so.6[0x7f7a040ff650]
./ufo(MAP_GetColor+0x2a)[0x4942ff] /tmp/ufoai/src/client/campaign/cp_map.c:2094
./ufo(MAP_GetNation+0xe)[0x49469a] /tmp/ufoai/src/client/campaign/cp_map.c:1823
./ufo(CP_SpreadXVIAtPos+0x9)[0x47df96] /tmp/ufoai/src/client/campaign/cp_xvi.c:52
./ufo(CP_BuildBaseMissionIsSuccess+0x1d)[0x4c1cd6] /tmp/ufoai/src/client/campaign/missions/cp_mission_buildbase.c:54
./ufo(CP_CheckNextStageDestination+0x44)[0x477d15] /tmp/ufoai/src/client/campaign/cp_missions.c:1186
./ufo(UFO_CampaignRunUFOs+0x10e)[0x4b5281] /tmp/ufoai/src/client/campaign/cp_ufo.c:458
./ufo(CL_CampaignRun+0x67a)[0x4860a6] /tmp/ufoai/src/client/campaign/cp_campaign.c:777
./ufo[0x4d90ad] /tmp/ufoai/src/client/menu/node/m_node_map.c:43
./ufo[0x4c957a] /tmp/ufoai/src/client/menu/m_draw.c:235
./ufo[0x4c9596] /tmp/ufoai/src/client/menu/m_draw.c:243
./ufo(MN_Draw+0xb2)[0x4c96f2] /tmp/ufoai/src/client/menu/m_draw.c:335
./ufo(SCR_UpdateScreen+0xa2)[0x453b4c] /tmp/ufoai/src/client/cl_screen.c:372
./ufo(CL_Frame+0x253)[0x44ceed] /tmp/ufoai/src/client/cl_main.c:1103
./ufo[0x4f4148] /tmp/ufoai/src/common/common.c:1051
./ufo(Qcommon_Frame+0xdd)[0x4f3d21] /tmp/ufoai/src/common/common.c:1129
./ufo(main+0x45)[0x548a19] /tmp/ufoai/src/ports/linux/linux_main.c:53
/lib/libc.so.6(__libc_start_main+0xe6)[0x7f7a040ec56e]
./ufo[0x428789]
Error: Received signal 11.
It's log of debug version:
Code: [Select]
ufo: src/client/campaign/missions/cp_mission_buildbase.c:51: CP_BuildBaseMissionIsSuccess: Assertion `base' failed.
./ufo(Sys_Backtrace+0x1c)[0x561c72] /tmp/ufoai/src/ports/unix/unix_main.c:487
./ufo[0x561cd2] /tmp/ufoai/src/ports/unix/unix_main.c:512
/lib/libc.so.6[0x7ff995d22650]
/lib/libc.so.6(gsignal+0x36)[0x7ff995d225d6]
/lib/libc.so.6(abort+0x173)[0x7ff995d237c3]
/lib/libc.so.6(__assert_fail+0xd5)[0x7ff995d1bbc9]
./ufo(CP_BuildBaseMissionIsSuccess+0x60)[0x4c3a88] /tmp/ufoai/src/client/campaign/missions/cp_mission_buildbase.c:52
./ufo(CP_BuildBaseMissionNextStage+0x8b)[0x4c3fde] /tmp/ufoai/src/client/campaign/missions/cp_mission_buildbase.c:271
./ufo(CP_MissionStageEnd+0xb0)[0x47b5c4] /tmp/ufoai/src/client/campaign/cp_missions.c:987
./ufo(CP_CheckNextStageDestination+0x75)[0x47bb80] /tmp/ufoai/src/client/campaign/cp_missions.c:1187
./ufo(UFO_CampaignRunUFOs+0x190)[0x4b71c7] /tmp/ufoai/src/client/campaign/cp_ufo.c:458
./ufo(CL_CampaignRun+0x32b)[0x4891e9] /tmp/ufoai/src/client/campaign/cp_campaign.c:777
./ufo[0x4e26cd] /tmp/ufoai/src/client/menu/node/m_node_map.c:45
./ufo[0x4cc615] /tmp/ufoai/src/client/menu/m_draw.c:239
./ufo[0x4cc63b] /tmp/ufoai/src/client/menu/m_draw.c:243
./ufo(MN_Draw+0x106)[0x4cc95c] /tmp/ufoai/src/client/menu/m_draw.c:335
./ufo(SCR_UpdateScreen+0xdb)[0x453d6d] /tmp/ufoai/src/client/cl_screen.c:503
./ufo(CL_Frame+0xf2)[0x44efdc] /tmp/ufoai/src/client/cl_main.c:1106
./ufo[0x5084fd] /tmp/ufoai/src/common/common.c:1051
./ufo(Qcommon_Frame+0x95)[0x5087f2] /tmp/ufoai/src/common/common.c:1129
./ufo(main+0x57)[0x560a0d] /tmp/ufoai/src/ports/linux/linux_main.c:53
/lib/libc.so.6(__libc_start_main+0xe6)[0x7ff995d0f56e]
./ufo[0x428bc9]
./ufo(Sys_Backtrace+0x1c)[0x561c72] /tmp/ufoai/src/ports/unix/unix_main.c:487
./ufo(Sys_Error+0x92)[0x560ea1] /tmp/ufoai/src/ports/unix/unix_main.c:87
./ufo(Sys_InitSignals+0x0)[0x561ce4] /tmp/ufoai/src/ports/unix/unix_main.c:518
/lib/libc.so.6[0x7ff995d22650]
/lib/libc.so.6(gsignal+0x36)[0x7ff995d225d6]
/lib/libc.so.6(abort+0x173)[0x7ff995d237c3]
/lib/libc.so.6(__assert_fail+0xd5)[0x7ff995d1bbc9]
./ufo(CP_BuildBaseMissionIsSuccess+0x60)[0x4c3a88] /tmp/ufoai/src/client/campaign/missions/cp_mission_buildbase.c:52
./ufo(CP_BuildBaseMissionNextStage+0x8b)[0x4c3fde] /tmp/ufoai/src/client/campaign/missions/cp_mission_buildbase.c:271
./ufo(CP_MissionStageEnd+0xb0)[0x47b5c4] /tmp/ufoai/src/client/campaign/cp_missions.c:987
./ufo(CP_CheckNextStageDestination+0x75)[0x47bb80] /tmp/ufoai/src/client/campaign/cp_missions.c:1187
./ufo(UFO_CampaignRunUFOs+0x190)[0x4b71c7] /tmp/ufoai/src/client/campaign/cp_ufo.c:458
./ufo(CL_CampaignRun+0x32b)[0x4891e9] /tmp/ufoai/src/client/campaign/cp_campaign.c:777
./ufo[0x4e26cd] /tmp/ufoai/src/client/menu/node/m_node_map.c:45
./ufo[0x4cc615] /tmp/ufoai/src/client/menu/m_draw.c:239
./ufo[0x4cc63b] /tmp/ufoai/src/client/menu/m_draw.c:243
./ufo(MN_Draw+0x106)[0x4cc95c] /tmp/ufoai/src/client/menu/m_draw.c:335
./ufo(SCR_UpdateScreen+0xdb)[0x453d6d] /tmp/ufoai/src/client/cl_screen.c:503
./ufo(CL_Frame+0xf2)[0x44efdc] /tmp/ufoai/src/client/cl_main.c:1106
./ufo[0x5084fd] /tmp/ufoai/src/common/common.c:1051
./ufo(Qcommon_Frame+0x95)[0x5087f2] /tmp/ufoai/src/common/common.c:1129
./ufo(main+0x57)[0x560a0d] /tmp/ufoai/src/ports/linux/linux_main.c:53
/lib/libc.so.6(__libc_start_main+0xe6)[0x7ff995d0f56e]
./ufo[0x428bc9]
Error: Received signal 6.
I can get more information about this bug with debugger if it is necessary.
There are my saved game (slot1.lint and slot1.xml) in ufo.tar.bz2. Also there are full logs for release (without "You can't talk..." lines) and debug versions and script for automatic getting source code's line from address.
P.S. Strange rectangle appears and disappears on center of battle screen and there no controls of fire.

Offline geever

  • Project Coder
  • PHALANX Commander
  • ***
  • Posts: 2561
    • View Profile
Re: Game crash when catch ufo supply R25676
« Reply #1 on: August 14, 2009, 07:49:16 pm »
UFO Hangar capacity handling is know to be buggy. You can store more than you should be able to. Maybe some check was put in to prevent that.

I'm working on UFO Yards at the moment that will eliminate the problem.

-geever

Offline O01eg

  • Rookie
  • ***
  • Posts: 73
    • View Profile
Re: Game crash when catch ufo supply R25676
« Reply #2 on: August 15, 2009, 03:25:55 am »
Why did this bug cause only on UFO Supply?

Offline O01eg

  • Rookie
  • ***
  • Posts: 73
    • View Profile
Re: Game crash when catch ufo supply R25676
« Reply #3 on: August 16, 2009, 03:32:05 pm »
I change code in src/client/campaign/missions/cp_mission_buildbase.c CP_BuildBaseMissionIsSuccess:
From:
Code: [Select]
assert(base);
CP_SpreadXVIAtPos(base->pos);
To:
Code: [Select]
if(base) {
    CP_SpreadXVIAtPos(base->pos);
        }
After it game stoped to crash.
mission->ufo pointed to UFO supply, but mission->data was NULL.

Offline geever

  • Project Coder
  • PHALANX Commander
  • ***
  • Posts: 2561
    • View Profile
Re: Game crash when catch ufo supply R25676
« Reply #4 on: August 17, 2009, 11:22:16 pm »
I change code in src/client/campaign/missions/cp_mission_buildbase.c CP_BuildBaseMissionIsSuccess:
From:
Code: [Select]
assert(base);
CP_SpreadXVIAtPos(base->pos);
To:
Code: [Select]
if(base) {
    CP_SpreadXVIAtPos(base->pos);
        }
After it game stoped to crash.
mission->ufo pointed to UFO supply, but mission->data was NULL.

This doesn't fix anything only hides the problem. What we should find out is why a basebuilding mission appeared wo base or when did the mission->data pointer NULLed. The save doesn't help us in this we're looking for something happened before.. For testing you can use the debug_addmission console command.

-geever