Maps crashing wsw 0.6 and 0.7
As I promised I did a debug build (wsw 0.7) to get the dump.
Most of my maps crash with that. The problem is that I cant backtrace because my computer freezes during the crash, I have to exit X and kill gdb.
(updated 2012-07-16 18:50:06)
Program received signal SIGSEGV, Segmentation fault.
0x080c8746 in R_LightForOrigin (origin=0x84da0a4, dir=0xbffff2c8,
ambient=0xbffff2dc, diffuse=0xbffff2ec, radius=36.5507812)
at ref_gl/r_light.c:306
306 lightarray[i*2+1] = *r_worldbrushmodel->lightarray[bound( 0, elem+1, r_worldbrushmodel->numlightarrayelems-1)];
Most of my maps crash with that. The problem is that I cant backtrace because my computer freezes during the crash, I have to exit X and kill gdb.
(updated 2012-07-16 18:50:06)
Ultrak1ll wrote:
As I promised I did a debug build (wsw 0.7) to get the dump.
Program received signal SIGSEGV, Segmentation fault.
0x080c8746 in R_LightForOrigin (origin=0x84da0a4, dir=0xbffff2c8,
ambient=0xbffff2dc, diffuse=0xbffff2ec, radius=36.5507812)
at ref_gl/r_light.c:306
306 lightarray[i*2+1] = *r_worldbrushmodel->lightarray[bound( 0, elem+1, r_worldbrushmodel->numlightarrayelems-1)];
Most of my maps crash with that. The problem is that I cant backtrace because my computer freezes during the crash, I have to exit X and kill gdb.
Is that because warsow freezes or because gdb freezes? You can kill Warsow just fine which leaves you at the gdb console.
toukkapoukka wrote:
Ultrak1ll wrote:
As I promised I did a debug build (wsw 0.7) to get the dump.
Program received signal SIGSEGV, Segmentation fault.
0x080c8746 in R_LightForOrigin (origin=0x84da0a4, dir=0xbffff2c8,
ambient=0xbffff2dc, diffuse=0xbffff2ec, radius=36.5507812)
at ref_gl/r_light.c:306
306 lightarray[i*2+1] = *r_worldbrushmodel->lightarray[bound( 0, elem+1, r_worldbrushmodel->numlightarrayelems-1)];
Most of my maps crash with that. The problem is that I cant backtrace because my computer freezes during the crash, I have to exit X and kill gdb.
Is that because warsow freezes or because gdb freezes? You can kill Warsow just fine which leaves you at the gdb console.
BTW lol at the italian bug :D
toukkapoukka wrote:
Is that because warsow freezes or because gdb freezes? You can kill Warsow just fine which leaves you at the gdb console.
Oh I forgot that when I kill wsw then the screen (X) remains black and keys don't work anyway.
Only alt+backspace (logout) and ctrl+alt+f1 console work
I'll have to find a way to dump backtrace automatically, log only leaves me the output not backtrace. I saw some scripts for gdb but dont wanna use some random shit form the web.
I tried to blindly type but keyboard is blocked.
Btw is there way to run gdb from console but execute wsw on a x display. That way I could access gdb during freeze
(updated 2012-07-16 21:34:52)
Ok this one crashes every time. Same error as others (the video
there is not related to bug btw)
just go near the ceiling as a player
http://www.upload.ee/files/2518429/map_slidehouse_lava_b1.pk3.html
(updated 2012-07-16 22:55:14)
just go near the ceiling as a player
http://www.upload.ee/files/2518429/map_slidehouse_lava_b1.pk3.html
(updated 2012-07-16 22:55:14)
Dl'ing map nao, i haven't been able to reproduce on your other maps
yet.
And for the record, you can run X apps from a vt, just do 'export DISPLAY=:urdisplay' first
EDIT
Ok tried map, can't reproduce bug in wsw0.7 didn't try 0.6 :(. I'm on 3.4.4-3 arch x86_64 (same as you?) with wsw0.7b2 built from source.
(updated 2012-07-17 10:46:22)
And for the record, you can run X apps from a vt, just do 'export DISPLAY=:urdisplay' first
EDIT
Ok tried map, can't reproduce bug in wsw0.7 didn't try 0.6 :(. I'm on 3.4.4-3 arch x86_64 (same as you?) with wsw0.7b2 built from source.
(updated 2012-07-17 10:46:22)
Tried export DISPLAY=:0.0, after switching to X whole computer
froze hopelessly.
Vic are you running 64 bit as well ?
Because I'm on 32 bit and crash every time I go near the ceiling AND I'm not the only one. Many other crash too (on wsw 0.6 when the map was on a test server).
The bug is on windows and linux.
(updated 2012-07-17 13:26:43)
Vic are you running 64 bit as well ?
Because I'm on 32 bit and crash every time I go near the ceiling AND I'm not the only one. Many other crash too (on wsw 0.6 when the map was on a test server).
The bug is on windows and linux.
(updated 2012-07-17 13:26:43)
Vic are you running 64 bit as well ?
Vic runs Windows 7. Doubt you'll get any care for any Linux stuff, especially as it's not Ubuntu.
I mean that maybe only 32 bit is affected :D
I dl wsw 0.7 to windows and test it there :P
I'm running ubuntu
(updated 2012-07-17 13:41:08)
The bug is on windows and linux.
I dl wsw 0.7 to windows and test it there :P
Doubt you'll get any care for any Linux stuff, especially as it's not Ubuntu.
I'm running ubuntu
(updated 2012-07-17 13:41:08)
It'd be rly weird to be a 32bits only issue, but if it is I don't
even have a 32bit install around :S. I also only run wsw in
windowed mode and am too lazy to try in fullscreen b/c I'd have to
disable dualhead first.
yes yes yes. I was able to run in windowed mode then ninja alt+tab
to terminal and backtrace ^_^
double check
Is this stuff related to specular lightning?
(updated 2012-07-17 23:20:02)
Program received signal SIGSEGV, Segmentation fault.
0x080c8746 in R_LightForOrigin (origin=0x84da0a4, dir=0xbffff2c8,
ambient=0xbffff2dc, diffuse=0xbffff2ec, radius=36.5507812)
at ref_gl/r_light.c:306
306 lightarray[i*2+1] = *r_worldbrushmodel->lightarray[bound( 0, elem+1, r_worldbrushmodel->numlightarrayelems-1)];
(gdb) backtrace
#0 0x080c8746 in R_LightForOrigin (origin=0x84da0a4, dir=0xbffff2c8,
ambient=0xbffff2dc, diffuse=0xbffff2ec, radius=36.5507812)
at ref_gl/r_light.c:306
#1 0x080b925b in R_RenderMeshGLSL_Material (programFeatures=52879637349632)
at ref_gl/r_backend_glsl.c:366
#2 0x080bb55c in R_RenderMeshGLSLProgrammed (programType=1)
at ref_gl/r_backend_glsl.c:1083
#3 0x080b653f in R_RenderAccumulatedPasses () at ref_gl/r_backend.c:2228
#4 0x080b6946 in R_AccumulatePass (pass=0xa62ddb7, lightmapStyle=0)
at ref_gl/r_backend.c:2359
#5 0x080b7d58 in R_RenderMeshBuffer (mb=0xc8b0708, animData=0x0)
at ref_gl/r_backend.c:2833
#6 0x080ae611 in R_DrawAliasFrameLerp (mb=0xc8b0708, backlerp=0)
at ref_gl/r_alias.c:652
#7 0x080ae7b1 in R_DrawAliasModel (mb=0xc8b0708) at ref_gl/r_alias.c:686
#8 0x080d28ee in R_BatchMeshBuffer (meshbufkeys=0xc95c850,
meshbuffers=0xc8b06e0, cur=1, end=2) at ref_gl/r_mesh.c:270
#9 0x080d30d2 in R_DrawMeshes () at ref_gl/r_mesh.c:511
#10 0x080cfa2b in R_RenderView (fd=0x86b5304) at ref_gl/r_main.c:2227
#11 0x080d088a in R_RenderScene (fd=0x86b5304) at ref_gl/r_main.c:2583
#12 0x056b859b in ?? ()
from /home/USER/.warsow-0.7/basewsw/tempmodules9895/cgame_i386.so
#13 0x0808e667 in CL_GameModule_RenderView (stereo_separation=0)
---Type <return> to continue, or q <return> to quit---
at client/cl_game.c:454
#14 0x0809c2b0 in SCR_RenderView (stereo_separation=0)
at client/cl_screen.c:1048
#15 0x0809c542 in SCR_UpdateScreen () at client/cl_screen.c:1154
#16 0x08095899 in CL_Frame (realmsec=1, gamemsec=1) at client/cl_main.c:2530
#17 0x0805dd0c in Qcommon_Frame (realmsec=1) at qcommon/common.c:1395
#18 0x080ac877 in main (argc=1, argv=0xbffff964) at unix/unix_sys.c:444
(gdb) quit
double check
slidehouse_lava_b1
player entered the game
Program received signal SIGSEGV, Segmentation fault.
0x080c8746 in R_LightForOrigin (origin=0x84da0a4, dir=0xbffff2c8,
ambient=0xbffff2dc, diffuse=0xbffff2ec, radius=36.5507812)
at ref_gl/r_light.c:306
306 lightarray[i*2+1] = *r_worldbrushmodel->lightarray[bound( 0, elem+1, r_worldbrushmodel->numlightarrayelems-1)];
(gdb) bt
#0 0x080c8746 in R_LightForOrigin (origin=0x84da0a4, dir=0xbffff2c8,
ambient=0xbffff2dc, diffuse=0xbffff2ec, radius=36.5507812)
at ref_gl/r_light.c:306
#1 0x080b925b in R_RenderMeshGLSL_Material (programFeatures=52879637349632)
at ref_gl/r_backend_glsl.c:366
#2 0x080bb55c in R_RenderMeshGLSLProgrammed (programType=1)
at ref_gl/r_backend_glsl.c:1083
#3 0x080b653f in R_RenderAccumulatedPasses () at ref_gl/r_backend.c:2228
#4 0x080b6946 in R_AccumulatePass (pass=0xa5629d7, lightmapStyle=0)
at ref_gl/r_backend.c:2359
#5 0x080b7d58 in R_RenderMeshBuffer (mb=0xc9102f8, animData=0x0)
at ref_gl/r_backend.c:2833
#6 0x080ae611 in R_DrawAliasFrameLerp (mb=0xc9102f8, backlerp=0)
at ref_gl/r_alias.c:652
#7 0x080ae7b1 in R_DrawAliasModel (mb=0xc9102f8) at ref_gl/r_alias.c:686
#8 0x080d28ee in R_BatchMeshBuffer (meshbufkeys=0xc9bc440,
meshbuffers=0xc9102d0, cur=1, end=2) at ref_gl/r_mesh.c:270
#9 0x080d30d2 in R_DrawMeshes () at ref_gl/r_mesh.c:511
#10 0x080cfa2b in R_RenderView (fd=0x86b5304) at ref_gl/r_main.c:2227
#11 0x080d088a in R_RenderScene (fd=0x86b5304) at ref_gl/r_main.c:2583
#12 0x056b859b in ?? ()
from /home/USER/.warsow-0.7/basewsw/tempmodules2030/cgame_i386.so
#13 0x0808e667 in CL_GameModule_RenderView (stereo_separation=0)
---Type <return> to continue, or q <return> to quit---
at client/cl_game.c:454
#14 0x0809c2b0 in SCR_RenderView (stereo_separation=0)
at client/cl_screen.c:1048
#15 0x0809c542 in SCR_UpdateScreen () at client/cl_screen.c:1154
#16 0x08095899 in CL_Frame (realmsec=1, gamemsec=1) at client/cl_main.c:2530
#17 0x0805dd0c in Qcommon_Frame (realmsec=1) at qcommon/common.c:1395
#18 0x080ac877 in main (argc=1, argv=0xbffff964) at unix/unix_sys.c:444
(gdb) quit
Is this stuff related to specular lightning?
(updated 2012-07-17 23:20:02)
works for me in beta2 64 bit and beta3
"works" as in "can not reproduce"
(updated 2012-07-18 00:25:43)
"works" as in "can not reproduce"
(updated 2012-07-18 00:25:43)
Vic wrote:
works for me in beta2 64 bit and beta3
"works" as in "can not reproduce"
I really hope it works and its just my bug. It crashes on my computer like crazy. I lure some people into my server and see what happens.
Me -> Hey wanna see my cool server.
Victim -> Sure!
connecting ...
Victim -> Arrrghhhh!!
.. dies IRL
(updated 2012-07-18 00:56:01)
Ultrak1ll wrote:
yes yes yes. I was able to run in windowed mode then ninja alt+tab to terminal and backtrace ^_^
Program received signal SIGSEGV, Segmentation fault.
0x080c8746 in R_LightForOrigin (origin=0x84da0a4, dir=0xbffff2c8,
ambient=0xbffff2dc, diffuse=0xbffff2ec, radius=36.5507812)
at ref_gl/r_light.c:306
306 lightarray[i*2+1] = *r_worldbrushmodel->lightarray[bound( 0, elem+1, r_worldbrushmodel->numlightarrayelems-1)];
(gdb) backtrace
#0 0x080c8746 in R_LightForOrigin (origin=0x84da0a4, dir=0xbffff2c8,
ambient=0xbffff2dc, diffuse=0xbffff2ec, radius=36.5507812)
at ref_gl/r_light.c:306
#1 0x080b925b in R_RenderMeshGLSL_Material (programFeatures=52879637349632)
at ref_gl/r_backend_glsl.c:366
#2 0x080bb55c in R_RenderMeshGLSLProgrammed (programType=1)
at ref_gl/r_backend_glsl.c:1083
#3 0x080b653f in R_RenderAccumulatedPasses () at ref_gl/r_backend.c:2228
#4 0x080b6946 in R_AccumulatePass (pass=0xa62ddb7, lightmapStyle=0)
at ref_gl/r_backend.c:2359
#5 0x080b7d58 in R_RenderMeshBuffer (mb=0xc8b0708, animData=0x0)
at ref_gl/r_backend.c:2833
#6 0x080ae611 in R_DrawAliasFrameLerp (mb=0xc8b0708, backlerp=0)
at ref_gl/r_alias.c:652
#7 0x080ae7b1 in R_DrawAliasModel (mb=0xc8b0708) at ref_gl/r_alias.c:686
#8 0x080d28ee in R_BatchMeshBuffer (meshbufkeys=0xc95c850,
meshbuffers=0xc8b06e0, cur=1, end=2) at ref_gl/r_mesh.c:270
#9 0x080d30d2 in R_DrawMeshes () at ref_gl/r_mesh.c:511
#10 0x080cfa2b in R_RenderView (fd=0x86b5304) at ref_gl/r_main.c:2227
#11 0x080d088a in R_RenderScene (fd=0x86b5304) at ref_gl/r_main.c:2583
#12 0x056b859b in ?? ()
from /home/USER/.warsow-0.7/basewsw/tempmodules9895/cgame_i386.so
#13 0x0808e667 in CL_GameModule_RenderView (stereo_separation=0)
---Type <return> to continue, or q <return> to quit---
at client/cl_game.c:454
#14 0x0809c2b0 in SCR_RenderView (stereo_separation=0)
at client/cl_screen.c:1048
#15 0x0809c542 in SCR_UpdateScreen () at client/cl_screen.c:1154
#16 0x08095899 in CL_Frame (realmsec=1, gamemsec=1) at client/cl_main.c:2530
#17 0x0805dd0c in Qcommon_Frame (realmsec=1) at qcommon/common.c:1395
#18 0x080ac877 in main (argc=1, argv=0xbffff964) at unix/unix_sys.c:444
(gdb) quit
Care to do this one more time and print some of those local variables? Like
'print elem', 'print *r_worldbrushmodel' once the program breaks. This might give a clue on
whats happening, but since Vic can't reproduce that its hard to look up to. Wild hunch is that you might have a too large map or too much lights or something.
Program received signal SIGSEGV, Segmentation fault.
0x080c8746 in R_LightForOrigin (origin=0x84da0a4, dir=0xbffff2c8,
ambient=0xbffff2dc, diffuse=0xbffff2ec, radius=36.5507812)
at ref_gl/r_light.c:306
306 lightarray[i*2+1] = *r_worldbrushmodel->lightarray[bound( 0, elem+1, r_worldbrushmodel->numlightarrayelems-1)];
(gdb) print elem
$1 = {240832, 241038, 257518, 257724}
(gdb) print *r_worldbrushmodel
$2 = {format = 0x810a200, pvs = 0x0, numsubmodels = 19, submodels = 0x98d4630,
inlines = 0x950b4b0, nummodelsurfaces = 1508, firstmodelsurface = 0xcb18de0,
numplanes = 1482, planes = 0xbdb4380, numleafs = 1288, leafs = 0xa093c30,
visleafs = 0xbcb2c20, numnodes = 1268, nodes = 0xb36dfa0,
numsurfaces = 1615, surfaces = 0xcb18de0, numlightgridelems = 45583,
lightgrid = 0xaf19c030, numlightarrayelems = 283662,
lightarray = 0xab819030, numfogs = 0, fogs = 0x0, globalfog = 0x0,
numareas = 8, gridSize = {64, 64, 128}, gridMins = {-4352, -4608, -1408},
gridBounds = {206, 81, 17, 16686}, numLightmapImages = 1,
lightmapImages = 0x9571c80, numSuperLightStyles = 2,
superLightStyles = 0x94602f0}
(gdb) print *lightarray
$28 = {ambient = {"455", "\000\000", "\000\000", "\000\000"}, diffuse = {
"QQQ", "\000\000", "\000\000", "\000\000"}, styles = "\000\377\377\377",
direction = <incomplete sequence \367>}
(updated 2012-07-18 18:42:20)
UltraK1ll, please open up r_q3bsp.c, find the function
Mod_LoadLightArray_RBSP, then change the line that says:
See if that fixes the crash and then report back here, please :)
(updated 2012-07-18 20:43:00)
*out = loadbmodel->lightgrid + LittleShort( *in );to
*out = loadbmodel->lightgrid + (unsigned)LittleShort( *in );
See if that fixes the crash and then report back here, please :)
(updated 2012-07-18 20:43:00)
I changed it and recompiled. Still crashes:
:D something got fixed at least
(updated 2012-07-18 21:29:13)
Program received signal SIGSEGV, Segmentation fault.
0x080c869c in R_LightForOrigin (origin=0x84da0a4, dir=0xbffff2c8,
ambient=0xbffff2dc, diffuse=0xbffff2ec, radius=36.5507812)
at ref_gl/r_light.c:305
305 lightarray[i*2+0] = *r_worldbrushmodel->lightarray[bound( 0, elem+0, r_worldbrushmodel->numlightarrayelems-1)];
(gdb) print *elem
$1 = 213756
(gdb) print r_worldbrushmodel
$2 = (mbrushmodel_t *) 0xb75e774
(gdb) print *numlightarrayelems
No symbol "numlightarrayelems" in current context.
(gdb) print *r_worldbrushmodel
$3 = {format = 0x810a200, pvs = 0x0, numsubmodels = 19, submodels = 0xb75dee0,
inlines = 0xb75e1d0, nummodelsurfaces = 1508, firstmodelsurface = 0x971ada0,
numplanes = 1482, planes = 0x982df70, numleafs = 1288, leafs = 0x97cc480,
visleafs = 0xb75f730, numnodes = 1268, nodes = 0xab519f0,
numsurfaces = 1615, surfaces = 0x971ada0, numlightgridelems = 45583,
lightgrid = 0xaf302030, numlightarrayelems = 283662,
lightarray = 0xab7fd030, numfogs = 0, fogs = 0x0, globalfog = 0x0,
numareas = 8, gridSize = {64, 64, 128}, gridMins = {-4352, -4608, -1408},
gridBounds = {206, 81, 17, 16686}, numLightmapImages = 1,
lightmapImages = 0xb7e2890, numSuperLightStyles = 2,
superLightStyles = 0xb7dd3c0}
(gdb) print *lightarray
$5 = {ambient = {";CC", "\000\000", "\000\000", "\000\000"}, diffuse = {"+tr",
"\000\000", "\000\000", "\000\000"}, styles = "\000\377\377\377",
direction = "9\032"}
(gdb) print lightarray
$6 = {{ambient = {";CC", "\000\000", "\000\000", "\000\000"}, diffuse = {
"+tr", "\000\000", "\000\000", "\000\000"}, styles = "\000\377\377\377",
direction = "9\032"}, {ambient = {"176", "\000\000", "\000\000",
"\000\000"}, diffuse = {"\036\200~", "\000\000", "\000\000",
"\000\000"}, styles = "\000\377\377\377", direction = "E\035"}, {
ambient = {"=DD", "\000\000", "\000\000", "\000\000"}, diffuse = {
"\037\202\177", "\000\000", "\000\000", "\000\000"},
styles = "\000\377\377\377", direction = "@\032"}, {ambient = {"166",
"\000\000", "\000\000", "\000\000"}, diffuse = {"\035\224\222",
"\000\000", "\000\000", "\000\000"}, styles = "\000\377\377\377",
direction = "K\035"}, {ambient = {";CC", "\000\000", "\000\000",
"\000\000"}, diffuse = {"+tr", "\000\000", "\000\000", "\000\000"},
styles = "\000\377\377\377", direction = "9\032"}, {ambient = {"176",
"\000\000", "\000\000", "\000\000"}, diffuse = {"\036\200~", "\000\000",
"\000\000", "\000\000"}, styles = "\000\377\377\377",
direction = "E\035"}, {ambient = {"=DD", "\000\000", "\000\000",
"\000\000"}, diffuse = {"\037\202\177", "\000\000", "\000\000",
"\000\000"}, styles = "\000\377\377\377", direction = "@\032"}, {
ambient = {"166", "\000\000", "\000\000", "\000\000"}, diffuse = {
"\035\224\222", "\000\000", "\000\000", "\000\000"},
styles = "\000\377\377\377", direction = "K\035"}}
(gdb) quit
:D something got fixed at least
(updated 2012-07-18 21:29:13)
hm, in the same function, please try changing:
short *in;to
unsigned short *in;
OH YES YOU ARE MY HERO VIC
wtf making a var 2x bigger fixed the stuf lol
EDIT: so if all variables in wsw that would not need to be negative were unsigned then we would have less limitations :D
Weird is that there are bigger maps with more lights out there and my map crahsed
EDIT2: I'm doing make clean then make and double check ^_^
EDIT: Ran the map 6 times with fullscreen and windowed mode NO CRASH YAY!!!!!111 one one eleven.
Also tested slide_arena_remix, works!
PS
Correct me if I'm wrong but if you compile wsw on 64 bit computer then the variables are bigger?
(updated 2012-07-19 16:51:54)
wtf making a var 2x bigger fixed the stuf lol
EDIT: so if all variables in wsw that would not need to be negative were unsigned then we would have less limitations :D
Weird is that there are bigger maps with more lights out there and my map crahsed
EDIT2: I'm doing make clean then make and double check ^_^
EDIT: Ran the map 6 times with fullscreen and windowed mode NO CRASH YAY!!!!!111 one one eleven.
Also tested slide_arena_remix, works!
PS
Correct me if I'm wrong but if you compile wsw on 64 bit computer then the variables are bigger?
(updated 2012-07-19 16:51:54)

