Jump to content

Segmentation fault


chlin
 Share

Recommended Posts

I encounter a problem that each time after the game has been started up and the map is shown on the screen, suddenly the game crashes (I may be able to drag and point the scout around to some place). The only message I get is `Segmentation fault'

The message printed on the console is


...
TIMER| common/setup.xml: 2.52203 ms
TIMER| common/styles.xml: 1.24415 ms
TIMER| common/sprite1.xml: 10.7087 ms
TIMER| common/init.xml: 7.54827 ms
TIMER| loading/loading.xml: 4.10022 ms
TIMER| common/global.xml: 1.47385 ms
TIMER| common/setup.xml: 6.74782 ms
TIMER| common/styles.xml: 3.50301 ms
TIMER| common/sprite1.xml: 10.8168 ms
TIMER| common/icon_sprites.xml: 29.1208 ms
TIMER| session_new/sprites.xml: 4.4986 ms
TIMER| session_new/styles.xml: 928.884 us
TIMER| session_new/session.xml: 150.717 ms
TIMER| common/global.xml: 3.6135 ms
SND| alc_init: success, using ALSA Software
GAME STARTED, ALL INIT COMPLETE
Segmentation fault

It looks like while in the loop of Frame() function (in main.cpp), at some points something goes wrong but I can not find it because I completely have no clue what happens. Also, I think this may not be the problem of the 0ad because at the moment my graphic card (ati x2300) is no longer supported by AMD (I use open source radeon driver instead which supports some basic 3d functions). However, I would like to check out what goes wrong considering this problem. Is there any clues on this? Or where (e.g. which .cpp file, etc.) I may go checking for finding more information?

In addition, I notice when doing test (./test_dbg), it throws a failure in testing


ERROR: JavaScript error: simulation/components/GuiInterface.js line 57
ReferenceError: IID_Identity is not defined

In TestComponentScripts::test_scripts:
../../../source/pch/test/../../../source/simulation2/components/tests/test_scripts.h:45: Error: Test failed: L"Running script simulation/components/tests/test_GuiInterface.js"
../../../source/pch/test/../../../source/simulation2/components/tests/test_scripts.h:45: Error: Assertion failed: scriptInterface.LoadScript(name, wcontent)

I appreciate any suggestion.

Link to comment
Share on other sites

(Fixed the test error now.)

Can you run the game in a debugger to see where it's failing? (Run "gdb ./pyrogenesis_dbg" then "r" then wait until it fails, then switch back to the gdb window and do "bt full".)

Hi Philip

Thanks. Below is the output after executing gdb with pyrogenesis_dbg.

gdb shows that it terminates at


Program received signal SIGSEGV, Segmentation fault.
0xafaa333d in radeonEmitVec4 () from /usr/lib/dri/r300_dri.so

and `bt full' shows


(gdb) bt full
#0 0xafaa333d in radeonEmitVec4 () from /usr/lib/dri/r300_dri.so
No symbol table info available.
#1 0xafa8722f in ?? () from /usr/lib/dri/r300_dri.so
No symbol table info available.
#2 0xafb35c3b in ?? () from /usr/lib/dri/r300_dri.so
No symbol table info available.
#3 0xafb3602c in ?? () from /usr/lib/dri/r300_dri.so
No symbol table info available.
#4 0xafb2d08c in ?? () from /usr/lib/dri/r300_dri.so
No symbol table info available.
#5 0x083e48bc in FixedFunctionModelRenderer::RenderModel (this=0x879e998,
streamflags=13, model=0x8fae580, data=0x8b9eea0)
at ../../../source/renderer/FixedFunctionModelRenderer.cpp:290
mdldef = {px = 0x8f8b8c0, pn = {pi_ = 0x8e56bd8}}
ffmodel = 0x8b9eea0
numFaces = 998
base = 0xa9672248 "\200\200\200\377\257g$CK\372\262A\254F\001D\200\200\200\377\347\363#CK\372\262A\272)\001D\200\200\200\377\231\234#C\026\372\262A\216?\001D\200\200\200\377`\020$C\026\372\262A\200\\\001D\377\377\377\377\245g$C@E\322A\257F\001D\377\377\377\377W\020$C\vE\322A\202\\\001D\377\377\377\377\220\234#C\vE\322A\220?\001D\377\377\377\377\336\363#C@E\322A\275)\001D\200\200\200\377\257g$CK\372\262A\254F\001D\200\200\200\377`\020$C\026\372\262A\200\\\001D\200\200\200\377W\020$C\vE\322A\202\\\001D\200\200\200\377\245g$C@E\322A\257F\001D\200\20
---Type <return> to continue, or q <return> to quit---
0\200\377`\020$C"...
stride = 16
#6 0x083dbdf7 in BatchModelRendererInternals::RenderAllModels (
this=0x879e458, modifier=..., filterflags=0, pass=0, streamflags=13)
at ../../../source/renderer/ModelRenderer.cpp:473
model = 0x8fae580
bmrdata = 0x8751428
idx = 0
mdeftracker = 0x9765760
__func__ = "RenderAllModels"
#7 0x083dbbad in BatchModelRenderer::Render (this=0x879e4c8, modifier=...,
flags=0) at ../../../source/renderer/ModelRenderer.cpp:441
streamflags = 13
texturematrix = 0x0
__func__ = "Render"
pass = 0
#8 0x083b370a in CRenderer::RenderModels (this=0x8ad1398)
at ../../../source/renderer/Renderer.cpp:929
__profile = {static evMap = <optimized out>}
#9 0x083b4ea2 in CRenderer::RenderSubmissions (this=0x8ad1398)
at ../../../source/renderer/Renderer.cpp:1274
No locals.
#10 0x083b5705 in CRenderer::RenderScene (this=0x8ad1398, scene=0x8d0cf58)
---Type <return> to continue, or q <return> to quit---
at ../../../source/renderer/Renderer.cpp:1450
frustum = {m_aPlanes = {{m_Norm = {X = -3.12412453, Y = -0.5,
Z = 0.866025388}, m_Dist = 296.540894}, {m_Norm = {
X = 3.12412453, Y = -0.5, Z = 0.866025388},
m_Dist = -747.778809}, {m_Norm = {X = 0, Y = 3.25116801,
Z = 3.03176332}, m_Dist = -1401.94531}, {m_Norm = {X = 0,
Y = -4.25116825, Z = -1.29971242}, m_Dist = 950.707336}, {
m_Norm = {X = 0, Y = 0.000977516174, Z = -0.00169312954},
m_Dist = 8.44891357}, {m_Norm = {X = 0, Y = -1.00097752,
Z = 1.73374391}, m_Dist = -459.686859}, {m_Norm = {X = 0,
Y = 0, Z = 0}, m_Dist = 0}, {m_Norm = {X = 0, Y = 0, Z = 0},
m_Dist = 0}, {m_Norm = {X = 0, Y = 0, Z = 0}, m_Dist = 0}, {
m_Norm = {X = 0, Y = 0, Z = 0}, m_Dist = 0}}, m_NumPlanes = 6}
#11 0x08391fbf in CGameView::Render (this=0x8d0cf58)
at ../../../source/graphics/GameView.cpp:303
No locals.
#12 0x0830eb2c in Render () at ../../../source/ps/GameSetup/GameSetup.cpp:213
skystring = {<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = {static npos = 4294967295,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x9a0ee54 "61 193 255"}}, <No data fields>}
skycol = {r = 0.239215687, g = 0.75686276, b = 1, a = 1}
---Type <return> to continue, or q <return> to quit---
---Type <return> to continue, or q <return> to quit---
cursorName = {<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >> = {static npos = 4294967295,
_M_dataplus = {<std::allocator<wchar_t>> = {<__gnu_cxx::new_allocator<wchar_t>> = {<No data fields>}, <No data fields>},
_M_p = 0x0}}, <No data fields>}
#13 0x081e19da in Frame () at ../../../source/main.cpp:355
__profile = {static evMap = <optimized out>}
TimeSinceLastFrame = 0.0583110787
__func__ = "Frame"
need_render = true
time = 46.454068827999997
need_update = false
is_building_archive = false
#14 0x081e1c09 in RunGameOrAtlas (argc=1, argv=0xbffff0c4)
at ../../../source/main.cpp:430
args = {
m_Args = {<std::_Vector_base<std::pair<CStr8, CStr8>, std::allocator<std::pair<CStr8, CStr8> > >> = {
_M_impl = {<std::allocator<std::pair<CStr8, CStr8> >> = {<__gnu_cxx::new_allocator<std::pair<CStr8, CStr8> >> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0,
_M_end_of_storage = 0x0}}, <No data fields>},
m_Arg0 = {<std::basic_string<char, std::char_traits<char>, std::alloca---Type <return> to continue, or q <return> to quit---
tor<char> >> = {static npos = 4294967295,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x86d49ec "/home/jackson5/workspace/com/wildfiregames/binaries/system/pyrogenesis_dbg"}}, <No data fields>}}
ran_atlas = false
res = 1.0000000000000001e-09
#15 0x081e1cd1 in main (argc=1, argv=0xbffff0c4)
at ../../../source/main.cpp:449
No locals.

Link to comment
Share on other sites

That's crashing somewhere inside the driver code so it looks like it probably is a driver problem. (The code in FixedFunctionModelRenderer.cpp works fine on other systems so it seems less likely to be an error in our engine code). I'm afraid I have no idea how to go about debugging that kind of problem :)

Link to comment
Share on other sites

That's crashing somewhere inside the driver code so it looks like it probably is a driver problem. (The code in FixedFunctionModelRenderer.cpp works fine on other systems so it seems less likely to be an error in our engine code). I'm afraid I have no idea how to go about debugging that kind of problem :)

Hi Philip

Thanks for your advice. The result is within my expectation; it is just a bit annoying that the support is unfriendly from the vendor. I will find an alternative way to get around it.

I appreciate your help.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...