Description | It happens in the same code line as ticket 0000064.
Valgrind:
==10873== Conditional jump or move depends on uninitialised value(s)
==10873== at 0x6A9631: TVector3<float>::operator!=(TVector3<float> const&) const (vectors.h:376)
==10873== by 0x69EF38: swrenderer::R_DrawVisSprite(swrenderer::vissprite_t*) (r_things.cpp:401)
==10873== by 0x6A34B2: swrenderer::R_DrawPSprite(DPSprite*, AActor*, float, float, double, double,
double) (r_things.cpp:1539)
==10873== by 0x6A3A72: swrenderer::R_DrawPlayerSprites() (r_things.cpp:1655)
==10873== by 0x6A5B88: swrenderer::R_DrawMasked() (r_things.cpp:2457)
==10873== by 0x68DA85: swrenderer::R_RenderActorView(AActor*, bool) (r_main.cpp:921)
==10873== by 0x662ED4: FSoftwareRenderer::RenderView(player_t*) (r_swrenderer.cpp:165)
==10873== by 0x8B294A: D_Display() (d_main.cpp:778)
==10873== by 0x8B34AE: D_DoomLoop() (d_main.cpp:1021)
==10873== by 0x8B7623: D_DoomMain() (d_main.cpp:2678)
==10873== by 0x620434: main (i_main.cpp:259)
==10873== Uninitialised value was created by a heap allocation
==10873== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10873== by 0x4C2FDEF: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10873== by 0x913287: M_Realloc_Dbg(void*, unsigned long, char const*, int) (m_alloc.cpp:150)
==10873== by 0x6AA380: TArray<swrenderer::vissprite_t, swrenderer::vissprite_t>::DoResize()
(tarray.h:424)
==10873== by 0x6AA089: TArray<swrenderer::vissprite_t, swrenderer::vissprite_t>::Grow(unsigned
int) (tarray.h:348)
==10873== by 0x6A9A5D: TArray<swrenderer::vissprite_t, swrenderer::vissprite_t>::Reserve(unsigned
int) (tarray.h:374)
==10873== by 0x6A274B: swrenderer::R_DrawPSprite(DPSprite*, AActor*, float, float, double, double,
double) (r_things.cpp:1300)
==10873== by 0x6A3A72: swrenderer::R_DrawPlayerSprites() (r_things.cpp:1655)
==10873== by 0x6A5B88: swrenderer::R_DrawMasked() (r_things.cpp:2457)
==10873== by 0x68DA85: swrenderer::R_RenderActorView(AActor*, bool) (r_main.cpp:921)
==10873== by 0x662ED4: FSoftwareRenderer::RenderView(player_t*) (r_swrenderer.cpp:165)
==10873== by 0x8B294A: D_Display() (d_main.cpp:778)
==10873==
And this is the gdb backtrace:
#1 0x000000000069ef39 in swrenderer::R_DrawVisSprite (vis=0xe9329d0) at /home/edward-san/zdoom/gzdoom/trunk/src/r_things.cpp:401
frac = 0
tex = 0x300000000
x2 = 0
stop4 = 268125712
xiscale = 244525692
mode = (swrenderer::DoDraw0 | swrenderer::DoDraw1)
ispsprite = false
centeryfrac = 1
0000002 0x00000000006a34b3
in swrenderer::R_DrawPSprite (pspr=0xffb4ce0, owner=0x10af6550, bobx=0, boby=0, wx=0, wy=32, ticfrac=1)
at /home/edward-san/zdoom/gzdoom/trunk/src/r_things.cpp:1539
tx = 23
x1 = 329
x2 = 448
sx = 0
sy = 32.375
sprdef = 0x10876154
sprframe = 0xe859070
picnum = {texnum = 256}
flip = 0
tex = 0xdda80d0
vis = 0xe9329d0
noaccel = false
avis = {Array = 0xe9329d0, Count = 1, Most = 16}
colormap_to_use = 0x223de00 <NormalLight>
0000003 0x00000000006a3a73
in swrenderer::R_DrawPlayerSprites () at /home/edward-san/zdoom/gzdoom/trunk/src/r_things.cpp:1655
centerhack = 210
wy = 32
boby = 0
wx = 0
bobx = 0
i = 2122787455
lightnum = 112
psp = 0xffb4ce0
weapon = 0xffb4ce0
sec = 0xe39fbe0
tempsec = {planes = {{xform = {xOffs = 0, yOffs = 0, baseyOffs = 0, xScale = 0, yScale = 0, Angle
= {Degrees = 0}, baseAngle = {Degrees = 0}}, Flags = 0, Light = 0, alpha = 0, TexZ = 0, GlowColor = {{{b
= 0 '\000', g = 0 '\000', r = 0 '\000', a = 0 '\000'}, d = 0}}, GlowHeight = 0, Texture = {texnum = 0}},
{xform = {xOffs = 0, yOffs = 0, baseyOffs = 0, xScale = 0, yScale = 0, Angle = {Degrees = 0}, baseAngle
= {Degrees = 0}}, Flags = 0, Light = 0, alpha = 0, TexZ = 0, GlowColor = {{{b = 0 '\000', g = 0 '\000',
r = 0 '\000', a = 0 '\000'}, d = 0}}, GlowHeight = 0, Texture = {texnum = 0}}}, floorplane = {normal
= {X = 0, Y = 0, Z = 0}, D = 0, negiC = 0}, ceilingplane = {normal = {X = 0, Y = 0, Z = 0}, D = 0, negiC
= 0}, ColorMap = 0x0, SoundTarget = {{p = 0x0, o = 0x0}}, special = 0, lightlevel = 0, seqType = 0, sky
= 0, SeqName = {<FName> = {Index = 0, static NameData = {Blocks = 0x104db140, NameArray = 0xe8009d0,
NumNames = 8723, MaxNames = 8932, Buckets = {8567, 8654, 6010, 8274, 8363, 8236, 8040, 7990, 8548, 8617,
6934, 7624, 7751, 7464, 8413, 6244, 8495, 8632, 8219, 5739, 8672, 8706, 7744, 7747, 8220, 8386, 6106,
8004, 7483, 7853, 7854, 8225, 8132, 7210, 8247, 8249, 7577, 8474, 8510, 7965, 7670, 6162, 8679, 8059,
7137, 8526, 6499, 7475, 8620, 6389, 7732, 8405, 8193, 8650, 6742, 8652, 4386, 6463, 8189, 8464, 8009,
7622, 8109, 7976, 8394, 7874, 5805, 8705, 7417, 8619, 7278, 6417, 8686, 7948, 7772, 8080, 4806, 7284,
8633, 8021, 4986, 2724, 7679, 3984, 8579, 8558, 7391, 8473, 7221, 8538, 7769, 8699, 5371, 8140, 8691,
7966, 8659, 8509, 6095, 7188, 7944, 8433, 8646, 7833, 8226, 8570, 7195, 6759, 8383, 8533, 8387, 7038,
8330, 8613, 8537, 8435, 7523, 7706, 7597, 7942, 7368, 4644, 8357, 7678, 7102, 6689, 8364, 7981, 7059,
6714, 7835, 8717, 8658, 7242, 5760, 5883, 5579, 8690, 7448, 8415, 8677, 7694, 8372, 8701, 8550, 6013,
3845, 7090, 8700, 7520, 8104, 8722, 6059, 8138, 8056, 8176, 8712, 8621, 8243, 7020, 8627, 7922, 8362,
8609, 6474, 7789, 8466, 8465, 8222, 7777, 8295, 7737, 8644, 6033, 8030, 8584, 8343, 5574, 8422, 8496,
8643, 8204, 8392, 6238, 8218, 5544, 8318, 8671, 5856, 5861, 7048, 8375, 8337, 7533, 8714, 8656, 7468,
8275, 7587, 8630...}, static Inited = true}}, <No data fields>}, centerspot = {X = 0, Y = 0}, validcount
= 0, thinglist = 0x0, friction = 0, movefactor = 0, terrainnum = {0, 0}, floordata = {{p = 0x0, o = 0x0}},
ceilingdata = {{p = 0x0, o = 0x0}}, lightingdata = {{p = 0x0, o = 0x0}}, interpolations = {{{p = 0x0,
o = 0x0}}, {{p = 0x0, o = 0x0}}, {{p = 0x0, o = 0x0}}, {{p = 0x0, o = 0x0}}}, prevsec = 0, nextsec =
0, soundtraversed = 0 '\000', stairlock = 0 '\000', Lines = {Array = 0x0, Count = 0}, heightsec = 0x0,
bottommap = 0, midmap = 0, topmap = 0, touching_thinglist = 0x0, sectorportal_thinglist = 0x0, touching_renderthings
= 0x0, gravity = 0, damagetype = {<FName> = {Index = 0, static NameData = {Blocks = 0x104db140,
NameArray = 0xe8009d0, NumNames = 8723, MaxNames = 8932, Buckets = {8567, 8654, 6010, 8274, 8363, 8236,
8040, 7990, 8548, 8617, 6934, 7624, 7751, 7464, 8413, 6244, 8495, 8632, 8219, 5739, 8672, 8706, 7744,
7747, 8220, 8386, 6106, 8004, 7483, 7853, 7854, 8225, 8132, 7210, 8247, 8249, 7577, 8474, 8510, 7965,
7670, 6162, 8679, 8059, 7137, 8526, 6499, 7475, 8620, 6389, 7732, 8405, 8193, 8650, 6742, 8652, 4386,
6463, 8189, 8464, 8009, 7622, 8109, 7976, 8394, 7874, 5805, 8705, 7417, 8619, 7278, 6417, 8686, 7948,
7772, 8080, 4806, 7284, 8633, 8021, 4986, 2724, 7679, 3984, 8579, 8558, 7391, 8473, 7221, 8538, 7769,
8699, 5371, 8140, 8691, 7966, 8659, 8509, 6095, 7188, 7944, 8433, 8646, 7833, 8226, 8570, 7195, 6759,
8383, 8533, 8387, 7038, 8330, 8613, 8537, 8435, 7523, 7706, 7597, 7942, 7368, 4644, 8357, 7678, 7102,
6689, 8364, 7981, 7059, 6714, 7835, 8717, 8658, 7242, 5760, 5883, 5579, 8690, 7448, 8415, 8677, 7694,
8372, 8701, 8550, 6013, 3845, 7090, 8700, 7520, 8104, 8722, 6059, 8138, 8056, 8176, 8712, 8621, 8243,
7020, 8627, 7922, 8362, 8609, 6474, 7789, 8466, 8465, 8222, 7777, 8295, 7737, 8644, 6033, 8030, 8584,
8343, 5574, 8422, 8496, 8643, 8204, 8392, 6238, 8218, 5544, 8318, 8671, 5856, 5861, 7048, 8375, 8337,
7533, 8714, 8656, 7468, 8275, 7587, 8630...}, static Inited = true}}, <No data fields>}, damageamount
= 0, damageinterval = 0, leakydamage = 0, ZoneNumber = 0, MoreFlags = 0, Flags = 0, SecActTarget = {{p
= 0x0, o = 0x0}}, Portals = {0, 0}, PortalGroup = 0, sectornum = 0, e = 0x0, reflect = {0, 0}, transdoor
= false, subsectorcount = 0, transdoorheight = 0, subsectors = 0x0, portals = {0x0, 0x0}, lighthead =
0x0, vboindex = {0, 0, 0, 0}, vboheight = {0, 0}, vbocount = {0, 0}}
floorlight = 112
ceilinglight = 112
rover = 0x0
The problematic data:
(gdb) p vis->gpos
$1 = {X = 0, Y = 3.15700449e-31, Z = 0}
|
---|