|
kickvb
|
 |
« Reply #2 on: November 07, 2005, 04:30:43 pm » |
|
Thanks a lot Eric for your comments.
The lack of the xextf86vm plugin is no more a problem, I simply missed to install the libxxf86vm-dev package, and I'm really sorry about that.
I was also effectively using gcc 4.0.1, and I'm still very sorry about that. So I tried with gcc-3.3 but the problem persists and all applications except g2dtest appears to raise a segfault.
To change the compiler, I installed the version 3.3.6 by using apt-get, then used "export CC=gcc-3.3" to change the compiler to be used, then "configure" and "jam" on a new cvs checkout. The config.log file confirms that gcc-3.3 is used:
configure:1620: checking for gcc configure:1646: result: gcc-3.3 configure:1890: checking for C compiler version configure:1893: gcc-3.3 --version </dev/null >&5 gcc-3.3 (GCC) 3.3.6 (Debian 1:3.3.6-7)
I tried to see the backtrace on various applications, all of them were generating a segfault in the csEngine::ShineLights method, while walktest was crashing during csLoader::ParseSector. Here are some backtraces:
walktest -------- Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1210898208 (LWP 8506)] 0xb6d7d3ef in ~csRef (this=0xb6faf91d) at ref.h:184 184 CSREF_TRACK_DECREF (obj, this); (gdb) bt full #0 0xb6d7d3ef in ~csRef (this=0xb6faf91d) at ref.h:184 No locals. #1 0xb6d740dd in csLoader::ParseSector (this=0xd8000000, ldr_context=0x2b6faf9, node=0xc0000000, ssource=0x2b6faf9) at plugins/csparser/csloader.cpp:5027 meshname = 0x4008177a <Address 0x4008177a out of bounds> mesh = {obj = 0xe8000000} child = {obj = 0x2000000} value = 0x2b6faf9 <Address 0x2b6faf9 out of bounds> id = 3892314132 do_culler = 120 culplugname = 0x2b6faf9 <Address 0x2b6faf9 out of bounds> sector = (class iSector *) 0x60000000 secname = 0x2000000 <Address 0x2000000 out of bounds> culler_params = {obj = 0x2b6faf9} it = {obj = 0x40000000} Previous frame inner to this frame (corrupt stack?)
pathtut ------- 0xb6fa0c68 in csEngine::ShineLights (this=0x8148668, region=0x0, meter=0x0) at plugins/engine/3d/engine.cpp:1465 1465 if (s->GetMovable ()->GetSectors ()->GetCount () <= 0 && (gdb) bt full #0 0xb6fa0c68 in csEngine::ShineLights (this=0x8148668, region=0x0, meter=0x0) at plugins/engine/3d/engine.cpp:1465 s = (class iMeshWrapper *) 0x85312f8 current = {lm_version = 3, normal_light_level = 128, ambient_red = 20, ambient_green = 20, ambient_blue = 20, cosinus_factor = 0, lightmap_size = 0} reason = 0xb709d574 "no 'lm_precalc_info' found in cache" num_meshes = 1 failed_meshes = {count = 0, capacity = 0, threshold = 16, root = 0x0} light_count = 3 failed = 0 max_failed_meshes = 4 start = 3070368477 cm = (class iCacheManager *) 0x85307e4 data = {obj = 0x0} lit = {obj = 0x8530a6c} stop = 3220901160 do_relight = true l = (class iLight *) 0x85313cc sn = 0 #1 0xb6f9983f in csEngine::Prepare (this=0x8148668, meter=0x0) at plugins/engine/3d/engine.cpp:1177 No locals. #2 0x0804bf41 in PathTut::Initialize (this=0x8133df0, argc=1, argv=0xbffb1044) ---Type <return> to continue, or q <return> to quit--- at apps/tutorial/pathtut/pathtut.cpp:236 walls = {obj = 0x85312f8} walls_state = {obj = 0x8530b30} ll = (class iLightList *) 0x852f9a8 txtmgr = (class iTextureManager *) 0x0 m = {m11 = 0, m12 = -2.70834316e-05, m13 = -2.99482199e-05, m21 = 9.80908925e-45, m22 = -2.7361617e-05, m23 = 1.40129846e-45, m31 = -2.72453763e-05, m32 = 1.40129846e-45, m33 = -2.70834316e-05} spstate = {obj = 0x80f2810} txt = (class iTextureWrapper *) 0x813707c tm = (class iMaterialWrapper *) 0x852f770 ws = {obj = 0x8530ef8} light = {obj = 0x85321f0} g2d = (class iGraphics2D *) 0x30 imeshfact = {obj = 0xbffb0ed0} #3 0x0804c595 in main (argc=1, argv=0xbffb1044) at apps/tutorial/pathtut/pathtut.cpp:385 object_reg = (class iObjectRegistry *) 0x813707c
simple1 ------- 0xb6f97c68 in csEngine::ShineLights (this=0x8146620, region=0x0, meter=0x0) at plugins/engine/3d/engine.cpp:1465 1465 if (s->GetMovable ()->GetSectors ()->GetCount () <= 0 && (gdb) bt full #0 0xb6f97c68 in csEngine::ShineLights (this=0x8146620, region=0x0, meter=0x0) at plugins/engine/3d/engine.cpp:1465 s = (class iMeshWrapper *) 0x852f490 current = {lm_version = 3, normal_light_level = 128, ambient_red = 20, ambient_green = 20, ambient_blue = 20, cosinus_factor = 0, lightmap_size = 0} reason = 0xb7094574 "no 'lm_precalc_info' found in cache" num_meshes = 1 failed_meshes = {count = 0, capacity = 0, threshold = 16, root = 0x0} light_count = 3 failed = 0 max_failed_meshes = 4 start = 3070331613 cm = (class iCacheManager *) 0x852e97c data = {obj = 0x0} lit = {obj = 0x852ec04} stop = 3220855944 do_relight = true l = (class iLight *) 0x852f564 sn = 0 #1 0xb6f9083f in csEngine::Prepare (this=0x8146620, meter=0x0) at plugins/engine/3d/engine.cpp:1177 No locals. #2 0x0804bb05 in Simple::Application (this=0xbffa5d98) at apps/tutorial/simple1/simple1.cpp:199 g2d = (class iGraphics2D *) 0x810cca4 #3 0x0805bc1c in csApplicationFramework::Start () at libs/cstool/csapplicationframework.cpp:71 No locals. #4 0x0805bdd3 in csApplicationFramework::Main (this=0xbffa5d98, argc=1, argv=0xbffa5e94) at libs/cstool/csapplicationframework.cpp:124 iReturn = 0 #5 0x0804da3f in csApplicationRunner<Simple>::Run (argc=1, argv=0xbffa5e94) at csapplicationframework.h:433 app = {<csApplicationFramework> = {<csInitializer> = {<No data fields>}, _vptr.csApplicationFramework = 0x80e070c, static m_Ptr = 0xbffa5d98, static m_FoundationStringName = 0x80e1adc "crystalspace.libcsappframe", static m_ApplicationStringName = 0x80e0c18 "CrystalSpace.Simple1", restartFlag = false, static object_reg = 0x813507c}, <csBaseEventHandler> = {<scfImplementation1<csBaseEventHandler,iEventHandler>> = {<scfImplementation<csBaseEventHandler>> = {<iBase> = {_vptr.iBase = 0x80e0750}, scfObject = 0xbffa5da0, scfRefCount = 2, scfParent = 0x0, scfWeakRefOwners = 0x0}, <iEventHandler> = {<No data fields>}, <No data fields>}, queue = {obj = 0x812d064}, static pmfnTriggers = {{ __pfn = 0x51 <scfImplementation<csBaseEventHandler>::RemoveRefOwner(iBase**)+65>, __delta = 0}, { __pfn = 0x39 <scfImplementation<csBaseEventHandler>::RemoveRefOwner(iBase**)+41>, __delta = 0}, { __pfn = 0x3d <scfImplementation<csBaseEventHandler>::RemoveRefOwner(iBas---Type <return> to continue, or q <return> to quit--- e**)+45>, __delta = 0}, { __pfn = 0x41 <scfImplementation<csBaseEventHandler>::RemoveRefOwner(iBase**)+49>, __delta = 0}, { __pfn = 0x45 <scfImplementation<csBaseEventHandler>::RemoveRefOwner(iBase**)+53>, __delta = 0}, { __pfn = 0x49 <scfImplementation<csBaseEventHandler>::RemoveRefOwner(iBase**)+57>, __delta = 0}, { __pfn = 0x4d <scfImplementation<csBaseEventHandler>::RemoveRefOwner(iBase**)+61>, __delta = 0}, { __pfn = 0x2d <scfImplementation<csBaseEventHandler>::RemoveRefOwner(iBase**)+29>, __delta = 0}, { __pfn = 0x31 <scfImplementation<csBaseEventHandler>::RemoveRefOwner(iBase**)+33>, __delta = 0}, { __pfn = 0x35 <scfImplementation<csBaseEventHandler>::RemoveRefOwner(iBase**)+37>, __delta = 0}, { __pfn = 0x29 <scfImplementation<csBaseEventHandler>::RemoveRefOwner(iBase**)+25>, __delta = 0}, { __pfn = 0x25 <scfImplementation<csBaseEventHandler>::RemoveRefOwner(iBase**)+21>, __delta = 0}, {__pfn = 0, __delta = 0}, {__pfn = 0, __delta = 0}, { __pfn = 0, __delta = 0}, {__pfn = 0, __delta = 0}, {__pfn = 0, __delta = 0}, {__pfn = 0, __delta = 0}}}, engine = {obj = 0x8146658}, loader = {obj = 0x8148768}, g3d = {obj = 0x810c21c}, kbd = { obj = 0x8107a24}, vc = {obj = 0x812cc4c}, view = {obj = 0x852bcf4}, room = 0x852da68, rotX = -1.95599079, rotY = 4.27349594e-34} result = 0 again = 8 #6 0x0804b666 in main (argc=1, argv=0xbffa5e94) at apps/tutorial/simple1/simple1.cpp:263 No locals.
Any ideas?
|