[CS] - some boxes break with a Segfault --> moving_objects::on_object_move(moving_object*)
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 3.6k
- Forks
- 536
- Avg merge
- 6d 1h
- Merged PRs (30d)
- 3
Description
Describe the bug
when you keep breaking boxes the engine ends up failing on the following message:
moving_objects::on_object_move(moving_object*) () from /lib/x86_64-linux-gnu/xrGame.so
To Reproduce
keep breaking boxes until the engine ends up segfaulting.
Screenshots
none captured.
BugTrap error report
when it crashes gdb gives this message:
Click here to expand/collapse.
(...)
[LUA] ....K.E.R. - Clear Sky\bind_stalker:(192):on_item_take [medkit36359]
[LUA] RESET INVULNERABILITY. npc[sim_default_csky_022316] = [false]
[LUA] ...A.L.K.E.R. - Clear Sky\xr_walker:(101):DEBUG: set_scheme: scheme='walker', section='walker1@mar_smart_terrain_5_8_guard_2_walk', gulag_name='mar_smart_terrain_5_8'
[LUA] ...A.L.K.E.R. - Clear Sky\xr_walker:(103):DEBUG: set_scheme: storage assigned
Thread 1 "Primary thread" received signal SIGSEGV, Segmentation fault.
0x00007fffe058846c in moving_objects::on_object_move(moving_object*) () from /lib/x86_64-linux-gnu/xrGame.so
(gdb) continue
Continuing.
FATAL ERROR
[error] Expression :
[error] Function : handler_base
[error] File : /home/biel/code/xray-16/src/xrCore/xrDebug.cpp
[error] Line : 848
[error] Description : segmentation fault
stack trace:
xrDebug::GatherInfo(char*, unsigned long, ErrorLocation const&, char const*, char const*, char const*, char const*)
xrDebug::Fail(bool&, ErrorLocation const&, char const*, char const*, char const*, char const*)
/lib/x86_64-linux-gnu/xrCore.so(+0x427ab) [0x7ffff7d077ab]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7ffff7717520]
/lib/x86_64-linux-gnu/xrGame.so(+0xd9f305) [0x7fffe03c5305]
/lib/x86_64-linux-gnu/xrGame.so(+0xfd34ad) [0x7fffe05f94ad]
/lib/x86_64-linux-gnu/xrGame.so(+0xc92017) [0x7fffe02b8017]
/lib/x86_64-linux-gnu/xrGame.so(+0x1535cf8) [0x7fffe0b5bcf8]
CObjectList::SingleUpdate(IGameObject*)
CObjectList::SingleUpdate(IGameObject*)
CObjectList::Update(bool)
IGame_Level::OnFrame()
/lib/x86_64-linux-gnu/xrGame.so(+0xeb16f8) [0x7fffe04d76f8]
CRenderDevice::FrameMove()
CRenderDevice::ProcessFrame()
/lib/x86_64-linux-gnu/xrEngine.so(+0x43e2b) [0x7ffff7f02e2b]
CRenderDevice::Run()
Startup()
RunApplication()
/usr/games/xr_3da(+0x1885) [0x555555555885]
Thread 1 "Primary thread" received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff7d0731f in xrDebug::Fail(bool&, ErrorLocation const&, char const*, char const*, char const*, char const*) () from /lib/x86_64-linux-gnu/xrCore.so
(gdb) quit
A debugging session is active.
Inferior 1 [process 245114] will be killed.
Quit anyway? (y or n) y
Desktop (please complete the following information):
- OS: [Ubuntu 21.10]
- OpenXRay build version [7fec9cfb98be7f9a2e970fd6908922f56862fbf6] with
-DMASTER_GOLD=OFF
Additional context
using the modified gamedata/srcripts/xr_kamp.script provided by @Xottab-DUTY in https://github.com/OpenXRay/xray-16/issues/828
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the crash while repeatedly breaking boxes and inspect the reported moving_objects::on_object_move(moving_object*) entry point in the C++ engine. Use the CObjectList::SingleUpdate stack and xrCore/xrDebug.cpp:848 as debugging context, with the modified gamedata/srcripts/xr_kamp.script from issue 828. Done means the reproduction no longer produces the reported segmentation fault.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100