crash with soundless mound

Moderator: Developers

Forum rules
Please construct and post a simple demo whenever possible for all bug reports. Please provide links to everything.

If you can include a wad demonstrating the problem, please do so. Bug reports that include fully-constructed demos have a much better chance of being investigated in a timely manner than those that don't.

crash with soundless mound

Postby drfrag » Mon Aug 20, 2018 3:39 am

I've found a crash in software mode with soundless mound (soundless_m.pk7). viewtopic.php?f=19&t=60219
In hardware GL mode i get an assert failure instead, gl_walls_draw.cpp:53, assert(wall->vertcount > 0);
I think it's the same problem. Warp to x=7500,y=9500 (that room) and turn around to reproduce.
This is a crash log for the vintage build, modern also crashes.

Code: Select allExpand view
>   gzdoom.exe!swrenderer::RenderDrawSegment::RenderWall(swrenderer::DrawSegment * ds, int x1, int x2, swrenderer::WallDrawerArgs & walldrawerargs, swrenderer::SpriteDrawerArgs & columndrawerargs, bool visible, FDynamicColormap * basecolormap, int wallshade) Line 338   C++
    gzdoom.exe!swrenderer::RenderDrawSegment::Render(swrenderer::DrawSegment * ds, int x1, int x2, swrenderer::Fake3DTranslucent clip3DFloor) Line 143   C++
    gzdoom.exe!swrenderer::VisibleSprite::Render(swrenderer::RenderThread * thread, swrenderer::Fake3DTranslucent clip3DFloor) Line 332   C++
    gzdoom.exe!swrenderer::RenderTranslucentPass::DrawMaskedSingle(bool renew, swrenderer::Fake3DTranslucent clip3DFloor) Line 148   C++
    gzdoom.exe!swrenderer::RenderTranslucentPass::Render() Line 215   C++
    gzdoom.exe!swrenderer::RenderScene::RenderThreadSlice(swrenderer::RenderThread * thread) Line 313   C++
    gzdoom.exe!swrenderer::RenderScene::RenderThreadSlices() Line 246   C++
    gzdoom.exe!swrenderer::RenderScene::RenderActorView(AActor * actor, bool dontmaplines) Line 185   C++
    gzdoom.exe!swrenderer::RenderScene::RenderView(player_t * player, DCanvas * target, void * videobuffer) Line 134   C++
    gzdoom.exe!FSoftwareRenderer::RenderView(player_t * player, DCanvas * target, void * videobuffer) Line 175   C++
    gzdoom.exe!SWSceneDrawer::RenderView(player_t * player) Line 120   C++
    gzdoom.exe!FGLRenderer::RenderView(player_t * player) Line 300   C++
    gzdoom.exe!OpenGLFrameBuffer::RenderView(player_t * player) Line 222   C++
    gzdoom.exe!D_Display() Line 796   C++
    gzdoom.exe!D_DoomLoop() Line 1038   C++
    gzdoom.exe!D_DoomMain() Line 2714   C++
    gzdoom.exe!DoMain(HINSTANCE__ * hInstance) Line 1027   C++
    gzdoom.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * nothing, char * cmdline, int nCmdShow) Line 1342   C++

-      MaskedSWall   0xfffff7d8 {???}   float *
         <Unable to read memory>   float
      MaskedScaleY   0.000000000   float
-      basecolormap   0x0b6fbe70 {Next=0x0b6fbdf0 {Next=0x0b6fb1f0 {Next=0x00000000 <NULL> } } }   FDynamicColormap *
+      FSWColormap   {Maps=0x0b13c700 "÷\x1\x2\x3\x4\x5\x6\a\b\t\n\v\f\r\xe\xf\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§\x4©ª«¬­®¯°±²³´µ¶·¸¹º»¼½-/ÀÁÂÃÄÅÆÇ... ...}   FSWColormap
+      Next   0x0b6fbdf0 {Next=0x0b6fb1f0 {Next=0x00000000 <NULL> } }   FDynamicColormap *
-      columndrawerargs   {dc_dest=0x00000000 <NULL> dc_dest_y=0 dc_count=0 ...}   swrenderer::SpriteDrawerArgs &
+      swrenderer::DrawerArgs   {mBaseColormap=0x0b6fbe70 {Maps=0x0b13c700 "÷\x1\x2\x3\x4\x5\x6\a\b\t\n\v\f\r\xe\xf\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§\x4©ª«¬­®¯°±²³´µ¶·¸¹º»¼½-/ÀÁÂÃÄÅÆÇ... ...} ...}   swrenderer::DrawerArgs
+      dc_dest   0x00000000 <NULL>   unsigned char *
      dc_dest_y   0   int
      dc_count   0   int
      dc_iscale   -858993460   int
      dc_texturefrac   -858993460   int
      dc_texturefracx   3435973836   unsigned int
      dc_textureheight   0   unsigned int
+      dc_source   0x00000000 <NULL>   const unsigned char *
+      dc_source2   0x00000000 <NULL>   const unsigned char *
      drawer_needs_pal_input   false   bool
+      dc_srcblend   0x00000000 {???}   unsigned int *
+      dc_destblend   0x00000000 {???}   unsigned int *
      dc_srcalpha   65536   int
      dc_destalpha   0   int
      dc_x   0   int
      dc_yl   0   int
      dc_yh   0   int
      dc_color   0   int
      dc_color_bgra   0   unsigned int
      dc_srccolor   0   unsigned int
      dc_srccolor_bgra   0   unsigned int
      dynlightcolor   0   unsigned int
      colfunc   0x00cad1fc {gzdoom.exe![thunk]:swrenderer::SWPixelFormatDrawers::`vcall'{36,{flat}}' }'}   void(swrenderer::SWPixelFormatDrawers::*)(const swrenderer::SpriteDrawerArgs &)
+      dc_viewport   0x00000000 <NULL>   swrenderer::RenderViewport *
      iscale   -858993460   int
      rw_light   1.85609853   float
-      this   0x0070b6bc {Thread=0x0aa50068 {Scene=0x0b11d50c {dontmaplines=false clearcolor=0 Threads={ size=1 } ...} ...} ...}   swrenderer::RenderDrawSegment *
+      Thread   0x0aa50068 {Scene=0x0b11d50c {dontmaplines=false clearcolor=0 Threads={ size=1 } ...} X1=0 X2=640 ...}   swrenderer::RenderThread *
+      frontsector   0x0fc62bd0 {planes=0x0fc62bd0 {{xform={xOffs=0.00000000000000000 yOffs=0.00000000000000000 baseyOffs=...} ...}, ...} ...}   sector_t *
+      backsector   0x0fc61ba0 {planes=0x0fc61ba0 {{xform={xOffs=0.00000000000000000 yOffs=0.00000000000000000 baseyOffs=...} ...}, ...} ...}   sector_t *
+      curline   0x1b25601c {v1=0x1b0c17a0 {p={X=6688.0000000000000 Y=9456.0000000000000 } viewangle=0 angletime=0 ...} ...}   seg_t *
+      m3DFloor   {clipBottom=false clipTop=true down2Up=true ...}   swrenderer::Fake3DTranslucent
+      WallC   {tleft={X=-107374176. Y=-107374176. } tright={X=-107374176. Y=-107374176. } sz1=689.618591 ...}   swrenderer::FWallCoords
+      WallT   {UoverZorg=-107374176. UoverZstep=-107374176. InvZorg=-107374176. ...}   swrenderer::FWallTmapVals
      rw_light   1.85609853   float
      rw_lightstep   0.00274933269   float
      rw_offset   0   int
+      rw_pic   0x00000000 <NULL>   FTexture *
+      wallupper   {ScreenY=0x0070b720 {-13108, -13108, -13108, -13108, -13108, -13108, -13108, -13108, -13108, -13108, ...} }   swrenderer::ProjectedWallLine
+      walllower   {ScreenY=0x007114e0 {-13108, -13108, -13108, -13108, -13108, -13108, -13108, -13108, -13108, -13108, ...} }   swrenderer::ProjectedWallLine
      wallshade   2949120   int
      x   522   int
User avatar
drfrag
I.R developer, I.R smart
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain

Re: crash with soundless mound

Postby Marisa Kirisame » Mon Aug 20, 2018 4:06 am

Going to see if I can get more details for this on my end, this might be some hidden bug that only popped up because of the specific fog setup I used in that spot.

Edit: From what I got, there's something wrong with drawing line 9174. That's weird, it's just an invisible two-sided line.

PS: I cannot reproduce the crash on OpenGL.
User avatar
Marisa Kirisame
ZScript Magician
 
Joined: 08 Feb 2008
Location: Vigo, Galicia
Discord: Marisa Kirisame#4689
Twitch ID: magusmarisa

Re: crash with soundless mound

Postby drfrag » Mon Aug 20, 2018 6:14 am

It won't crash in hardware mode, just gives an assertion failure with debug builds.
User avatar
drfrag
I.R developer, I.R smart
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain

Re: crash with soundless mound

Postby Marisa Kirisame » Mon Aug 20, 2018 7:50 am

I'm doing debug builds but I get no such assert, maybe it's just a Windows thing.
User avatar
Marisa Kirisame
ZScript Magician
 
Joined: 08 Feb 2008
Location: Vigo, Galicia
Discord: Marisa Kirisame#4689
Twitch ID: magusmarisa

Re: crash with soundless mound

Postby drfrag » Mon Aug 20, 2018 11:56 am

Or may be the assertion only appears in the vintage build then... I get it with both VS and MinGW.
User avatar
drfrag
I.R developer, I.R smart
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain

Re: crash with soundless mound

Postby drfrag » Mon Sep 03, 2018 3:54 am

Since the crash only happens in software mode (Carmack renderer only) now i think it's better to move this to Software Renderer Bugs.
User avatar
drfrag
I.R developer, I.R smart
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain

Re: crash with soundless mound

Postby Rachael » Mon Sep 03, 2018 3:56 am

Done.
User avatar
Rachael
QZDoom + Webmaster
 
Joined: 13 Jan 2004

Re: crash with soundless mound

Postby Rachael » Mon Sep 03, 2018 6:16 am

Okay, so I don't know what's going on here, but this does not crash on the modern branch. I tried to copy the swrenderer folder in full to the Legacy branch but that does not appear to fix it. The variable that's buggering up is "MaskedSWall", my guess is, it's a thread data that's deallocating before its thread gets executed. Or perhaps it has something to do with being 32-bit vs 64-bit.
User avatar
Rachael
QZDoom + Webmaster
 
Joined: 13 Jan 2004

Re: crash with soundless mound

Postby drfrag » Mon Sep 03, 2018 7:11 am

Last time i checked it still crashed in the modern version, it's the same renderer and even crashes in LZDoom.
I've just checked again with the latest devbuild and still crashes as expected, this is a 32 bit build.
Fun fact: this is an old GL 3.3 ati card and now i only get a blob with colored dots, i expected it to run at least in software mode. I've blindly warped to that location and looked around to reproduce the crash.

Edit: i thought this was intentional but now i've made a bug report. Just tested soundless mound with gzdoom-g3.6pre-57-g2d1043d1d.7z (that one runs properly here) and soundless mound still crashes.
User avatar
drfrag
I.R developer, I.R smart
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain

Re: crash with soundless mound

Postby drfrag » Mon Sep 03, 2018 4:10 pm

I've tried the latest x64 vintage devbuild on my laptop and it doesn't crash so it's a 32 bit only thing at least with VS. Earlier i tried the modern 32 bit one and it crashed.
User avatar
drfrag
I.R developer, I.R smart
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain


Return to Software Renderer Bugs

Who is online

Users browsing this forum: No registered users and 1 guest