[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1061679: libqt5datavisualization5: Crashes in Q3DBars destructor on mips64el



Package: libqt5datavisualization5
Version: 5.15.10-2
X-Debbugs-Cc: mesa@packages.debian.org, debian-mips@lists.debian.org

The following C++ program crashes on exit on mips64el:

#include <QtCore/QTimer>
#include <QtWidgets/QApplication>
#include <QtDataVisualization/QtDataVisualization>

int main(int argc, char **argv) {
    QApplication app(argc, argv);
    QtDataVisualization::Q3DBars bars;
    bars.show();

    QTimer::singleShot(5000, app.quit);
    return app.exec();
}

The stack trace is:

Thread 1 "test" received signal SIGABRT, Aborted.
0x000000fff64599c4 in __pthread_kill_implementation (threadid=<optimized out>, signo=<optimized out>, no_tid=<optimized out>) at pthread_kill.c:43
43      pthread_kill.c: No such file or directory.
(gdb) bt
#0  0x000000fff64599c4 in __pthread_kill_implementation (threadid=<optimized out>, signo=<optimized out>, no_tid=<optimized out>) at pthread_kill.c:43
#1  0x000000fff6403f48 in __GI_raise (sig=<optimized out>) at ../sysdeps/posix/raise.c:26
#2  0x000000fff63ea8b4 in __GI_abort () at abort.c:79
#3  0x000000fff6448b98 in __libc_message (fmt=<optimized out>) at ../sysdeps/posix/libc_fatal.c:150
#4  0x000000fff6467804 in malloc_printerr (str=<optimized out>) at malloc.c:5658
#5  0x000000fff646a11c in _int_free (av=0xfff65a0ad0 <main_arena>, p=0xaab7e352d0, have_lock=<optimized out>) at malloc.c:4584
#6  0x000000fff646d014 in __GI___libc_free (mem=0xaab7e352e0) at malloc.c:3367
#7  0x000000fff1c99d34 in _XShmDestroyImage (ximage=<optimized out>) at ../../src/XShm.c:265
#8  0x000000fff1ddf014 in XCreateDrawable (pdp=0xaab6e5a5e0, shmid=-1, dpy=0xaaaaaed340) at ../src/glx/drisw_glx.c:67
#9  0x000000fff1ddfcec in swrastXPutImage (srcx=0, x=0, y=0, w=160, h=<optimized out>, stride=640, shmid=<optimized out>, data=0xfff0804000 "\377\377\377", loaderPrivate=0xaab6e5a5e0, 
    op=<optimized out>, draw=<optimized out>, srcy=0) at ../src/glx/drisw_glx.c:197
#10 0x000000fff09f5f68 in put_image2 (stride=<optimized out>, height=<optimized out>, width=<optimized out>, y=<optimized out>, x=<optimized out>, data=<optimized out>, 
    drawable=<optimized out>) at ../src/gallium/frontends/dri/drisw.c:74
#11 drisw_put_image2 (drawable=<optimized out>, data=<optimized out>, x=<optimized out>, y=<optimized out>, width=<optimized out>, height=<optimized out>, stride=<optimized out>)
    at ../src/gallium/frontends/dri/drisw.c:174
#12 0x000000fff112bd98 in dri_sw_displaytarget_unmap (ws=<optimized out>, dt=0xaaaaadee30) at ../src/gallium/winsys/sw/dri/dri_sw_winsys.c:208
#13 0x000000fff112df1c in softpipe_transfer_unmap (pipe=<optimized out>, transfer=0xaab7e34d80) at ../src/gallium/drivers/softpipe/sp_texture.c:468
#14 0x000000fff114d4b8 in sp_tile_cache_set_surface (tc=0xaaaac8bab0, ps=0x0) at ../src/gallium/drivers/softpipe/sp_tile_cache.c:179
#15 0x000000fff1141150 in softpipe_set_framebuffer_state (pipe=0xaaaab92da0, fb=0xffffff2bf0) at ../src/gallium/drivers/softpipe/sp_state_surface.c:68
#16 0x000000fff106a4e8 in cso_unbind_context (ctx=0xaaaac24e30) at ../src/gallium/auxiliary/cso_cache/cso_context.c:456
#17 0x000000fff106a6c0 in cso_destroy_context (ctx=0xaaaac24e30) at ../src/gallium/auxiliary/cso_cache/cso_context.c:490
#18 0x000000fff0ae67c8 in st_destroy_context_priv (st=0xaaaac233d0, destroy_pipe=true) at ../src/mesa/state_tracker/st_context.c:369
#19 0x000000fff0ae856c in st_destroy_context (st=0xaaaac233d0) at ../src/mesa/state_tracker/st_context.c:1018
#20 0x000000fff09fc078 in dri_destroy_context (ctx=0xaaaac8f0a0) at ../src/gallium/frontends/dri/dri_context.c:277
#21 0x000000fff0a00cd4 in driDestroyContext (pcp=<optimized out>) at ../src/gallium/frontends/dri/dri_util.c:668
#22 0x000000fff1ddecbc in drisw_destroy_context (context=0xaaaac8ef20) at ../src/glx/drisw_glx.c:431
#23 0x000000fff1de1ef0 in glXDestroyContext (ctx=0xaaaac8ef20, dpy=0xaaaaaed340) at ../src/glx/glxcmds.c:469
#24 glXDestroyContext (dpy=0xaaaaaed340, ctx=0xaaaac8ef20) at ../src/glx/glxcmds.c:450
#25 0x000000fff1e98c78 in QGLXContext::~QGLXContext (this=0xffec003120, __in_chrg=<optimized out>) at qglxintegration.cpp:541
#26 QGLXContext::~QGLXContext (this=0xffec003120, __in_chrg=<optimized out>) at qglxintegration.cpp:542
#27 0x000000fff7162204 in QOpenGLContext::destroy (this=0xaaaab65650) at kernel/qopenglcontext.cpp:653
#28 0x000000fff71626ac in QOpenGLContext::~QOpenGLContext (this=0xaaaab65650, __in_chrg=<optimized out>) at kernel/qopenglcontext.cpp:691
#29 0x000000fff71626f8 in QOpenGLContext::~QOpenGLContext (this=0xaaaab65650, __in_chrg=<optimized out>) at kernel/qopenglcontext.cpp:696
#30 0x000000fff6cc9c58 in QObjectPrivate::deleteChildren (this=0xaaaab238d0) at kernel/qobject.cpp:2137
#31 0x000000fff6cdabe0 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1115
#32 0x000000fff7107ad0 in QWindow::~QWindow (this=0xffffff3060, __in_chrg=<optimized out>) at kernel/qwindow.cpp:227
#33 0x000000fff7e87300 in QtDataVisualization::QAbstract3DGraph::~QAbstract3DGraph (this=0xffffff3060, __in_chrg=<optimized out>)
    at /usr/include/mips64el-linux-gnuabi64/qt5/QtGui/qopenglfunctions.h:242
#34 0x000000fff7e8b0d4 in QtDataVisualization::Q3DBars::~Q3DBars (this=<optimized out>, __in_chrg=<optimized out>) at engine/q3dbars.cpp:120
#35 0x000000aaaaaa992c in main (argc=1, argv=0xffffff3248) at datavisualization_test.cpp:12

I was not able to analyze this problem with valgrind, as valgrind itself
crashes with SIGILL.

The problem does not happen on amd64, even if I force software rendering with
LIBGL_ALWAYS_SOFTWARE=1.

Any help with this is welcome.

--
Dmitry Shachnev

Attachment: signature.asc
Description: PGP signature


Reply to: