There are currently 0 players online.
 
Warsow


 
 

backMaps crashing wsw 0.6 and 0.7

Forum index
Mapping
Maps crashing wsw 0.6 and 0.7
Posted by
Post Scroll to bottom
Ultrak1ll

☢UNdead☢
(359 posts)

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.

(updated 2012-07-16 18:50:06)

toukkapoukka

Has-been developer
(282 posts)

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

Has-been developer
(282 posts)

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


Ultrak1ll

☢UNdead☢
(359 posts)

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)

Vic

Member
(4892 posts)

post a sample map so I can reproduce the bug locally

Ultrak1ll

☢UNdead☢
(359 posts)

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)

A_Pink_Name

Member
(66 posts)

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)

Ultrak1ll

☢UNdead☢
(359 posts)

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)

crizis

Mad Hatter
(4083 posts)

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.

Ultrak1ll

☢UNdead☢
(359 posts)

I mean that maybe only 32 bit is affected :D


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)

A_Pink_Name

Member
(66 posts)

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.

Ultrak1ll

☢UNdead☢
(359 posts)

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




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)

Vic

Member
(4892 posts)

works for me in beta2 64 bit and beta3

"works" as in "can not reproduce"
(updated 2012-07-18 00:25:43)

Ultrak1ll

☢UNdead☢
(359 posts)

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)

toukkapoukka

Has-been developer
(282 posts)

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.


Ultrak1ll

☢UNdead☢
(359 posts)


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)

Vic

Member
(4892 posts)

UltraK1ll, please open up r_q3bsp.c, find the function Mod_LoadLightArray_RBSP, then change the line that says:
*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)

Ultrak1ll

☢UNdead☢
(359 posts)

I changed it and recompiled. Still crashes:


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)

Vic

Member
(4892 posts)

hm, in the same function, please try changing:
short *in;
to
unsigned short *in;


Ultrak1ll

☢UNdead☢
(359 posts)

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)


Scroll to top



RSSRSSRSSRSS

Copyright © 2013 Chasseur De Bots

Warsow in social media



Warsow is an indie game developed by group of hobbyists. Please consider giving us a small donation: