'summon rocket' inside another game crash

Moderators: Rachael, dpJudas

Locked
Edward-san
Developer
Developer
Posts: 197
Joined: Sun Nov 29, 2009 16:36

'summon rocket' inside another game crash

Post by Edward-san »

Load qzdoom with square1.pk3 ( link ) as the iwad, run a new game, then 'summon rocket' from the console. When you close the console, the program crashes. r_polyrenderer must be set to 1 to reproduce this.

Backtrace:

Code: Select all

#0  0x000000000156f9e2 in TriDrawSubsector32_3_SSE2 ()
No symbol table info available.
#1  0x00000000007086a3 in PolyTriangleDrawer::draw_shaded_triangle (vert=0x7fffe39b2930, ccw=true, args=0x7fffe39b2870, thread=0x7fffe39b2a20, drawfunc=0x156e940 <TriDrawSubsector32_3_SSE2>) at /home/edward-san/zdoom/qzdoom/src/r_poly_triangle.cpp:200
        i = 3
        clippedvert = {{x = 662.965393, y = 309.894928, z = 0.750571012, w = 0.0249562263, varying = {0.822914779, 0}}, {x = 757.245422, y = 309.894928, z = 0.750571787, w = 0.0249562263, varying = {1, 0}}, {x = 757.245422, y = 499.999969, z = 0.750571787, w = 0.0249562263, varying = {1, 0.297560215}}, {x = 691.019409, y = 499.999969, z = 0.750571251, w = 0.0249562263, varying = {0.875608325, 0.297560215}}, {x = 800, y = 398.113556, z = 0.998534858, w = 0.000161753225, varying = {-2.33549261, 1}}, {x = 0, y = 0, z = 0, w = 0, varying = {0, 0}}, {x = 0, y = 0, z = 0, w = 0, varying = {0, 0}}, {x = 0, y = 0, z = 0, w = 0, varying = {0, 0}}, {x = 0, y = 0, z = 0, w = 0, varying = {0, 0}}, {x = 0, y = 0, z = 0, w = 0, varying = {0, 0}}, {x = 0, y = 0, z = 0, w = 0, varying = {0, 0}}, {x = 0, y = 0, z = 0, w = 0, varying = {0, 0}}, {x = 0, y = 0, z = -5.72422825e+21, w = 4.59163468e-41, varying = {-5.72412016e+21, 4.59163468e-41}}, {x = 1.03603096e-38, y = 0, z = 0, w = 0, varying = {-5.72422825e+21, 4.59163468e-41}}, {x = -5.72415619e+21, y = 4.59163468e-41, z = 1.03587514e-38, w = 0, varying = {9.9148615e-38, 0}}, {x = -5.72422825e+21, y = 4.59163468e-41, z = 0, w = 2.80259693e-45, varying = {35.7872047, -111.999977}}}
        numclipvert = 4
#2  0x0000000000707b78 in PolyTriangleDrawer::draw_arrays (drawargs=..., variant=TriDrawVariant::DrawSubsector, blendmode=TriBlendMode::Add, thread=0x7fffe39b2a20) at /home/edward-san/zdoom/qzdoom/src/r_poly_triangle.cpp:139
        i = 2
        llvm = 0x26ab2e0 <Drawers::Instance()::drawers>
        drawfunc = 0x156e940 <TriDrawSubsector32_3_SSE2>
        bmode = 3
        args = {dest = 0x7fffe9ee4000 <incomplete sequence \331>, pitch = 800, v1 = 0x7fffe39b2608, v2 = 0x7fffe39b25f0, v3 = 0x7fffe39b25d8, clipleft = 0, clipright = 800, cliptop = 0, clipbottom = 500, texturePixels = 0x0, textureWidth = 64, textureHeight = 64, translation = 0x0, uniforms = 0x2732f30 <DrawerCommandQueue::Instance()::queue+555216>, stencilValues = 0x7fffe9e4c800 '\001' <repeats 128 times>, stencilMasks = 0x62b00007e200, stencilPitch = 100, stencilTestValue = 1 '\001', stencilWriteValue = 1 '\001', subsectorGBuffer = 0x7fffe41b6800, colormaps = 0x6250001d8900 "", RGB32k = 0x41a15c0 <RGB32k> "\033>OOONNNMMMLLLKKKKJJJIIIHHHHGGGG>=OOONNNMMMLLLKKKKJJJIIIHHHHGGGF\177\177;ooNNNMMMLLLKKKKJJJIIIHHHHGGFF~~oooonnMMMLLLKKKKJJJIIIHHHHGFFF~~ooonnnnnMLLLKKKKJJJIIIHHHHGFFF}}}onnnnnmmmLLKKKKJJJIIIHHHHFFFF}}}}nnnn"..., BaseColors = 0x417fb20 <GPalette> ""}
        ccw = true
        vinput = 0x20e8810 <PolyVertexBuffer::GetVertices(int)::Vertex+494832>
        vcount = 4
        vert = {{<TriVertex> = {x = 26.3426628, y = -9.59999847, z = 30.0755005, w = 40.0701599, varying = {0.822914779, 0}}, clipDistance0 = 1}, {<TriVertex> = {x = 35.7872047, y = -9.59999847, z = 30.075531, w = 40.0701599, varying = {1, 0}}, clipDistance0 = 1}, {<TriVertex> = {x = 35.7872047, y = -111.999977, z = 30.075531, w = 40.0701599, varying = {1, 1}}, clipDistance0 = 1}}
#3  0x000000000070a6a5 in DrawPolyTrianglesCommand::Execute (this=0x2732f20 <DrawerCommandQueue::Instance()::queue+555200>, thread=0x7fffe9e35e40) at /home/edward-san/zdoom/qzdoom/src/r_poly_triangle.cpp:345
        thread_data = <error reading variable thread_data (Cannot access memory at address 0x3ec0)>
#4  0x000000000077191f in DrawerCommandQueue::<lambda()>::<lambda(void*)>::operator()(void *) const (__closure=0x0, data=0x7fffe39b2c40) at /home/edward-san/zdoom/qzdoom/src/r_thread.cpp:239
        command = @0x62d00a917070: 0x2732f20 <DrawerCommandQueue::Instance()::queue+555200>
        size = 3478
        pass = 0
        d = 0x7fffe39b2c40
#5  0x000000000077198b in DrawerCommandQueue::<lambda()>::<lambda(void*)>::_FUN(void *) () at /home/edward-san/zdoom/qzdoom/src/r_thread.cpp:242
No locals.
#6  0x000000000077290e in VectoredTryCatch (data=0x7fffe39b2c40, tryBlock=0x77196e <DrawerCommandQueue::<lambda()>::<lambda(void*)>::_FUN(void *)>, catchBlock=0x771a69 <DrawerCommandQueue::<lambda()>::<lambda(void*, char const*, bool)>::_FUN(void *, const char *, bool)>) at /home/edward-san/zdoom/qzdoom/src/r_thread.cpp:298
No locals.
#7  0x0000000000771dbc in DrawerCommandQueue::<lambda()>::operator()(void) const (__closure=0x60300079f4b8) at /home/edward-san/zdoom/qzdoom/src/r_thread.cpp:247
        start_lock = {_M_device = 0x36ab698 <DrawerCommandQueue::Instance()::queue+16777272>, _M_owns = false}
        data = {queue = 0x26ab660 <DrawerCommandQueue::Instance()::queue>, thread = 0x7fffe9e35e40, command_index = 3470}
        end_lock = {_M_device = 0x36ab710 <DrawerCommandQueue::Instance()::queue+16777392>, _M_owns = false}
        run_id = 120
        queue = 0x26ab660 <DrawerCommandQueue::Instance()::queue>
        thread = 0x7fffe9e35e40
#8  0x0000000000772ed0 in std::_Bind_simple<DrawerCommandQueue::StartThreads()::<lambda()>()>::_M_invoke<>(std::_Index_tuple<>) (this=0x60300079f4b8) at /usr/include/c++/6/functional:1400
No locals.
#9  0x0000000000772e5a in std::_Bind_simple<DrawerCommandQueue::StartThreads()::<lambda()>()>::operator()(void) (this=0x60300079f4b8) at /usr/include/c++/6/functional:1389
No locals.
#10 0x0000000000772e2a in std::thread::_State_impl<std::_Bind_simple<DrawerCommandQueue::StartThreads()::<lambda()>()> >::_M_run(void) (this=0x60300079f4b0) at /usr/include/c++/6/thread:196
No locals.
#11 0x00007ffff4e7354f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#12 0x00007ffff690c70a in start_thread (arg=0x7fffe39b3700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffe39b3700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737011988224, -8713214096333178615, 0, 140737488257071, 140737011988928, 105759282689200, 8713258873968032009, 8713230321878333705}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#13 0x00007ffff45d582d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.
dpJudas
Developer
Developer
Posts: 798
Joined: Sat Jul 23, 2016 7:53

Re: 'summon rocket' inside another game crash

Post by dpJudas »

Call stack:
#0 0x000000000156f9e2 in TriDrawSubsector32_3_SSE2 ()
No symbol table info available.
#1 0x00000000007086a3 in PolyTriangleDrawer::draw_shaded_triangle (vert=0x7fffe39b2930, ccw=true, args=0x7fffe39b2870, thread=0x7fffe39b2a20, drawfunc=0x156e940 <TriDrawSubsector32_3_SSE2>) at /home/edward-san/zdoom/qzdoom/src/r_poly_triangle.cpp:200

Drawer args:
dest = 0x7fffe9ee4000
pitch = 800
v1 = 0x7fffe39b2608, v2 = 0x7fffe39b25f0, v3 = 0x7fffe39b25d8
clipleft = 0, clipright = 800
cliptop = 0, clipbottom = 500
texturePixels = 0x0, textureWidth = 64, textureHeight = 64
translation = 0x0
uniforms
stencilValues = 0x7fffe9e4c800
stencilMasks = 0x62b00007e200
stencilPitch = 100
stencilTestValue = 1
stencilWriteValue = 1
subsectorGBuffer = 0x7fffe41b6800
colormaps = 0x6250001d8900
RGB32k = 0x41a15c0 <RGB32k>

TriDrawSubsector32_3_SSE2 is TriBlendMode::Add
dpJudas
Developer
Developer
Posts: 798
Joined: Sat Jul 23, 2016 7:53

Re: 'summon rocket' inside another game crash

Post by dpJudas »

Committed a fix for this.
Locked

Return to “Closed Bugs”