On Tue, 2007-09-11 at 11:44 +1000, Paul Wise wrote:

> When I run sauerbraten, it makes the screen black for a few seconds,
> then segfaults. When I run it in gdb, it doesn't segfault,

I was able to get a sane backtrace by hacking the sauerbraten source
package and using screen to have gdb under x and the console:

(gdb) bt
#0  0x080c8e35 in compileasmshader (type=34336, [EMAIL PROTECTED], 
def=0x8a1d000 <Address 0x8a1d000 out of bounds>, tname=0x811a0339cf888 
"caustic", msg=true)
    at engine/shader.cpp:33
#1  0x080c90d7 in newshader (type=0, name=0x89cf888 "caustic",
    vs=0x89891d8 "\n        \n    !!ARBvp1.0\n    OPTION 
ARB_position_invariant;\n    ATTRIB opos = vertex.position; \n\n
coord[0].x, opos, state.texgen.object.s;\n        DP3 result.texcoord[0].y, 
opos, "...,
    ps=0x898d1f0 "\n        \n    !!ARBfp1.0\n    \n    OPTION 
ARB_precision_hint_fastest;\n    \n\n\n        OPTION ARB_fog_linn    TEMP 
caustic, caustic2;\n    TEX caustic, fragment.texcoord[0], texture[0], 2D;\n 
"..., variant=0x0) at engine/shader.cpp:4#2  0x080c9aa6 in shader 
(type=0xbfb23a30, name=0x89cf888 "caustic",
    vs=0x89891d8 "\n        \n    !!ARBvp1.0\n    OPTION 
ARB_position_invariant;\n    ATTRIB opos = vertex.position; \n\n
coord[0].x, opos, state.texgen.object.s;\n        DP3 result.texcoord[0].y, 
opos, "...,
    ps=0x898d1f0 "\n        \n    !!ARBfp1.0\n    \n    OPTION 
ARB_precision_hint_fastest;\n    \n\n\n        OPTION ARB_fog_linn    TEMP 
caustic, caustic2;\n    TEX caustic, fragment.texcoord[0], texture[0], 2D;\n 
"...) at engine/shader.cpp:571
#3  0x080581d9 in executeret (p=0x8980c0b "") at engine/command.cpp:431
#4  0x080585f3 in executeret (
    p=0x86298cd "causticshader causticfast [TEX result.color, 
fragment.texcoord[0], texture[0], 2D;]\nfastshader caustic causticr 0 \"lava\" 
[\n    @vpstart\n    MOV result.texcoord[0], vertex.texcoord[0];\n   "...) at 
engine/command.cpp:482
#5  0x0805870f in execute (
    p=0x86200e8 "// standard shader definitions\n\nfpopts = [\n    @(if (= 
$shaderprecision 0) [result \"OPTION ARB_precision_hi\n    @(if (= 
$shaderprecision 2) [result \"OPTION ARB_precision_hint_nicest;\"])\n"...) at 
engine/command.cpp:502
#6  0x080588c6 in execfile (cfgfile=0x811870c "data/stdshader.cfg") at 
engine/command.cpp:514
#7  0x080588fb in exec (cfgfile=0x811870c "data/stdshader.cfg") at 
engine/command.cpp:521
#8  0x0809c33a in gl_init (w=1024, h=768, bpp=0, depth=0, fsaa=0) at 
engine/rendergl.cpp:321
#9  0x0806e5d3 in main (argc=3, argv=0xbfb24334) at engine/main.cpp:570

Hope it helps :)

-- 
bye,
pabs

http://wiki.debian.org/PaulWise

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to