[Mesa-dev] [Bug 96953] dri2_wl_swrast crashes on 64 bit, but not on 32 bit

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Jul 16 02:47:39 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=96953

            Bug ID: 96953
           Summary: dri2_wl_swrast crashes on 64 bit, but not on 32 bit
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: EGL/Wayland
          Assignee: wayland-bugs at lists.freedesktop.org
          Reporter: bluescreen_avenger at verizon.net
        QA Contact: mesa-dev at lists.freedesktop.org

I am not sure if this is because of qtwayland or because of mesa, but it seems
I am getting a crash with git master
I have a stack trace, let me know if running it with any variables exported

I am building mesa with
./autogen.sh --prefix=$INSTALLDIR --enable-driglx-direct --enable-dri
--with-dri-drivers=r200,radeon,nouveau,i915,i965,swrast --enable-osmesa
--enable-xa --enable-glx-tls --enable-shared-dricore --enable-gles1
--enable-gles2 
--with-gallium-drivers=nouveau,svga,r300,r600,swrast,radeonsi,virgl 
--with-egl-platforms=x11,wayland,drm --enable-gbm --enable-shared-glapi
--enable-gallium-egl --with-llvm-prefix=/usr/lib/llvm-3.6/
--with-llvm-shared-libs --libdir=$INSTALLDIR/lib/$(dpkg-architecture
-qDEB_HOST_MULTIARCH) 

0  dri2_wl_swrast_put_image2 (draw=0x300c240, op=<optimized out>,
    x=<optimized out>, y=0, w=<optimized out>, h=0, stride=64,
    data=0x3012b40 "", loaderPrivate=0x3012240)
    at drivers/dri2/platform_wayland.c:1642
        dri2_surf = 0x3012240
        copy_width = -4
        src = 0x36d4000 <error: Cannot access memory at address 0x36d4000>
        dst = 0x7fffcd4f4ffc <error: Cannot access memory at address
0x7fffcd4f4ffc>
        __PRETTY_FUNCTION__ = "dri2_wl_swrast_put_image2"
#1  0x00007fffed28ed26 in dri2_wl_swrast_put_image (
    draw=<optimized out>, op=<optimized out>, x=<optimized out>,
    y=<optimized out>, w=<optimized out>, h=<optimized out>,
    data=0x3012b40 "", loaderPrivate=0x3012240)
    at drivers/dri2/platform_wayland.c:1658
        dri2_surf = 0x3012240
#2  0x00007fffea1bbd38 in put_image (height=<optimized out>,
    width=<optimized out>, data=<optimized out>,
    dPriv=<optimized out>) at drisw.c:71
        sPriv = <optimized out>
        loader = <optimized out>
#3  drisw_put_image (drawable=<optimized out>, data=<optimized out>,
    width=<optimized out>, height=<optimized out>) at drisw.c:141
        dPriv = <optimized out>
#4  0x00007fffea1bc1dd in drisw_copy_to_front (ptex=0x300c0d0,
    dPriv=0x300c240) at drisw.c:181
No locals.
#5  drisw_swap_buffers (dPriv=0x300c240) at drisw.c:208
        ctx = 0x2e2ac20
        ptex = 0x300c0d0
#6  0x00007fffed28d0b9 in dri2_wl_swrast_swap_buffers (
    drv=<optimized out>, disp=<optimized out>, draw=<optimized out>)
    at drivers/dri2/platform_wayland.c:1729
No locals.
#7  0x00007fffed2839e2 in eglSwapBuffers (dpy=0x710400,
    surface=surface at entry=0x3012240) at main/eglapi.c:1008
        ctx = 0x2e7ef00
        disp = 0x710400
        surf = 0x3012240
        drv = <optimized out>
        ret = <optimized out>
        __func__ = "eglSwapBuffers"
#8  0x00007ffff7e57b7a in QtWaylandClient::QWaylandGLContext::swapBuffers
(this=0x2e7eb90, surface=0x2dd1a00)
    at
../../../hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp:553
        window = 0x2dd19f0
        eglSurface = 0x3012240
        sub = 0x0
#9  0x00007ffff6854238 in QOpenGLContext::swapBuffers (
    this=this at entry=0x2d91790, surface=surface at entry=0x2dd0650)
    at /srcbuild/qtbase/src/gui/kernel/qopenglcontext.cpp:1063
        __PRETTY_FUNCTION__ = "void QOpenGLContext::swapBuffers(QSurface*)"
        surfaceHandle = 0x2dd1a00
#10 0x00007ffff69a4c8a in QPlatformBackingStore::composeAndFlush (
    this=this at entry=0x2dd1550, window=window at entry=0x2dd0640,
    region=..., offset=..., textures=<optimized out>,
    context=<optimized out>, translucentBackground=false)
    at /srcbuild/qtbase/src/gui/painting/qplatformbackingstore.cpp:414
        funcs = 0x3012080
        deviceWindowRect = {x1 = 0, y1 = 0, x2 = 1009, y2 = 575}
        textureId = <optimized out>
        origin = <optimized out>
#11 0x00007ffff69a4d8b in QPlatformBackingStore::composeAndFlush (
    this=this at entry=0x2dd1550, window=0x2dd0640, region=...,
    offset=...,
    textures=textures at entry=0x7ffff745cf40 <(anonymous
namespace)::Q_QGS_qt_dummy_platformTextureList::innerFunction()::holder>,
    context=context at entry=0x2d91790, translucentBackground=false)
    at /srcbuild/qtbase/src/gui/painting/qplatformbackingstore.cpp:317
No locals.
#12 0x00007ffff7049590 in QWidgetBackingStore::qt_flush (
    widget=widget at entry=0x83d880, region=...,
    backingStore=<optimized out>, tlw=0x83d880, tlwOffset=...,
    widgetTextures=0x7ffff745cf40 <(anonymous
namespace)::Q_QGS_qt_dummy_platformTextureList::innerFunction()::holder>,
    widgetBackingStore=0x2dd1b30)
    at /srcbuild/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:138
        translucentBackground = false
        flushUpdate = 0
        fpsDebug = false
        __PRETTY_FUNCTION__ = "static void
QWidgetBackingStore::qt_flush(QWidget*, const QRegion&, QBackingStore*,
QWidget*, const QPoint&, QPlatformTextureList*, QWidgetBackingStore*)"
        offset = {xp = 0, yp = 0}
        compositionWasActive = <optimized out>
#13 0x00007ffff7049ed3 in QWidgetBackingStore::flush (
    this=this at entry=0x2dd1b30, widget=widget at entry=0x0)
    at /srcbuild/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:1415
        target = 0x83d880
        hasDirtyOnScreenWidgets = false
        flushed = false
#14 0x00007ffff704a076 in QWidgetBackingStore::endPaint (
    this=this at entry=0x2dd1b30, cleaned=...,
    backingStore=<optimized out>,
    beginPaintInfo=beginPaintInfo at entry=0x7fffffffd514)
    at /srcbuild/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:359
No locals.
#15 0x00007ffff704b329 in QWidgetBackingStore::doSync (
    this=this at entry=0x2dd1b30)
    at /srcbuild/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:1399
        updatesDisabled = <optimized out>
        repaintAllWidgets = <optimized out>
        inTopLevelResize = <optimized out>
        tlwRect = {x1 = 7, y1 = 96, x2 = 1016, y2 = 671}
        surfaceGeometry = {x1 = 7, y1 = 96, x2 = 5, y2 = 94}
        toClean = {d = 0x989580, static shared_empty = {ref = {
              atomic = {_q_value = {<std::__atomic_base<int>> = {
                    static _S_alignment = 4,
                    _M_i = -1}, <No data fields>}}},
            qt_rgn = 0x7ffff6b0d0c0 <qrp>}}
        opaqueNonOverlappedWidgets = {a = 32, s = 0,
          ptr = 0x7fffffffd600, {
            array =
"\000\000\000\000\000\000\000\000@\206\344\002\000\000\000\000\220\210\344\002",
'\000' <repeats 12 times>, "\240\247\344\002\000\000\000\000P\246\344\002",
'\000' <repeats 12 times>, "\200\000\000\000\000\000P\225\342\002", '\000'
<repeats 12 times>,
"`\327\377\377\377\177\000\000_\356\336\367\377\177\000\000\000\000\000\000\000\000\360?",
'\000' <repeats 24 times>, "\021\352-\201\231\227q=", '\000' <repeats 16
times>, "@0\222\000\000\000\000\000\000\000\000@\000\000\000\000
\332\377\377\377\177\000\000\070\033\335\002\000\000\000\000q\344\201\366\377\177\000\000\070\033\335\002\000\000\000\000\035"...,
q_for_alignment_1 = 0, q_for_alignment_2 = 0}}
        beginPaintInfo = {wasFlushed = 0, nothingToPaint = 0,
          backingStoreRecreated = 0}
        dirtyCopy = {d = 0x989580, static shared_empty = {ref = {
              atomic = {_q_value = {<std::__atomic_base<int>> = {
                    static _S_alignment = 4,
                    _M_i = -1}, <No data fields>}}},
            qt_rgn = 0x7ffff6b0d0c0 <qrp>}}
#16 0x00007ffff704b509 in QWidgetBackingStore::sync (this=0x2dd1b30,
    exposedWidget=0x83d880, exposedRegion=...)
    at /srcbuild/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:1148
No locals.
#17 0x00007ffff70846c4 in QWidgetWindow::event (this=0x2dd0640,
    event=0x7fffffffda08)
    at /srcbuild/qtbase/src/widgets/kernel/qwidgetwindow.cpp:284
No locals.
#18 0x00007ffff703fa4e in QApplicationPrivate::notify_helper (
    this=<optimized out>, receiver=0x2dd0640, e=0x7fffffffda08)
    at /srcbuild/qtbase/src/widgets/kernel/qapplication.cpp:3799
        consumed = <optimized out>
        this = <optimized out>
        e = 0x7fffffffda08
        receiver = 0x2dd0640
#19 0x00007ffff7045c65 in QApplication::notify (this=0x7fffffffdea0,
    receiver=0x2dd0640, e=0x7fffffffda08)
    at /srcbuild/qtbase/src/widgets/kernel/qapplication.cpp:3641
        widget = <optimized out>
        __PRETTY_FUNCTION__ = "virtual bool QApplication::notify(QObject*,
QEvent*)"
        res = false
#20 0x00007ffff6141299 in QCoreApplication::notifyInternal2 (
    receiver=0x2dd0640, event=0x7fffffffda08)
    at /srcbuild/qtbase/src/corelib/kernel/qcoreapplication.cpp:988
        selfRequired = true
        result = false
        cbdata = {0x2dd0640, 0x7fffffffda08, 0x7fffffffd997}
        d = <optimized out>
        threadData = 0x6ee5c0
#21 0x00007ffff6834862 in QCoreApplication::sendSpontaneousEvent (
    receiver=receiver at entry=0x2dd0640,
    event=event at entry=0x7fffffffda08)
    at ../../include/QtCore/../../../src/corelib/kernel/qcoreapplication.h:234
No locals.
#22 0x00007ffff6833806 in QGuiApplicationPrivate::processExposeEvent
    (e=0x2e2bd30)
    at /srcbuild/qtbase/src/gui/kernel/qguiapplication.cpp:2797
        p = 0x2dd16e0
        exposeEvent = {<QEvent> = {
            _vptr.QEvent = 0x7ffff6af6558 <vtable for QExposeEvent+16>, static
staticMetaObject = {d = {superdata = 0x0,
                stringdata = 0x7ffff62c9320 <qt_meta_stringdata_QEvent>, data =
0x7ffff62c8d60 <qt_meta_data_QEvent>,
                static_metacall = 0x0, relatedMetaObjects = 0x0,
                extradata = 0x0}}, d = 0x0, t = 206, posted = 0,
            spont = 1, m_accept = 1, reserved = 7888}, rgn = {
            d = 0x2e2bcd0, static shared_empty = {ref = {atomic = {
                  _q_value = {<std::__atomic_base<int>> = {
                      static _S_alignment = 4,
                      _M_i = -1}, <No data fields>}}},
              qt_rgn = 0x7ffff6b0d0c0 <qrp>}}}
#23 0x00007ffff6833fe4 in QGuiApplicationPrivate::processWindowSystemEvent
(e=e at entry=0x2e2bd30)
    at /srcbuild/qtbase/src/gui/kernel/qguiapplication.cpp:1755
        __PRETTY_FUNCTION__ = "static void
QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)"
#24 0x00007ffff68210f3 in QWindowSystemInterface::sendWindowSystemEvents
(flags=...)
    at /srcbuild/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:654
        event = 0x2e2bd30
        nevents = 2
#25 0x00007fffee01cf91 in userEventSourceDispatch (
    source=<optimized out>)
    at
/srcbuild/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:76
        userEventSource = <optimized out>
        dispatcher = <optimized out>
#26 0x00007ffff13a130e in g_main_dispatch (context=0x7bd9e0)
    at gmain.c:3165
        dispatch = 0x7fffee01cf84 <userEventSourceDispatch(GSource*,
GSourceFunc, gpointer)>
        prev_source = 0x0
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        need_destroy = <optimized out>
        source = 0x7a8690
        current = 0x705060
        i = 1
#27 g_main_context_dispatch (context=context at entry=0x7bd9e0)
    at gmain.c:3780
No locals.
#28 0x00007ffff13a1543 in g_main_context_iterate (
    context=context at entry=0x7bd9e0, block=block at entry=1,
    dispatch=dispatch at entry=1, self=<optimized out>) at gmain.c:3851
        max_priority = 0
        timeout = 0
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = <optimized out>
        fds = 0x7f93a0
#29 0x00007ffff13a15dc in g_main_context_iteration (
    context=0x7bd9e0, may_block=may_block at entry=1) at gmain.c:3912
        retval = <optimized out>
#30 0x00007ffff617208c in QEventDispatcherGlib::processEvents (
    this=0x7a3800, flags=...)
    at /srcbuild/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:423
        d = 0x711000
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
#31 0x00007ffff613da04 in QEventLoop::exec (
    this=this at entry=0x7fffffffdcc0, flags=..., flags at entry=...)
    at /srcbuild/qtbase/src/corelib/kernel/qeventloop.cpp:212
        d = 0x7fa860
        locker = {val = 7275968}
        __PRETTY_FUNCTION__ = "int
QEventLoop::exec(QEventLoop::ProcessEventsFlags)"
        ref = {d = 0x7fa860, locker = @0x7fffffffdc58,
          exceptionCaught = true}
#32 0x00007ffff6141abf in QCoreApplication::exec ()
    at /srcbuild/qtbase/src/corelib/kernel/qcoreapplication.cpp:1261
        threadData = 0x6ee5c0
        __PRETTY_FUNCTION__ = "static int QCoreApplication::exec()"
        eventLoop = {<QObject> = {
            _vptr.QObject = 0x7ffff6360958 <vtable for QEventLoop+16>, static
staticMetaObject = {d = {superdata = 0x0,
                stringdata = 0x7ffff62690e0 <qt_meta_stringdata_QObject>, data
= 0x7ffff6268fc0 <qt_meta_data_QObject>,
                static_metacall = 0x7ffff615cf9e
<QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
                relatedMetaObjects = 0x0, extradata = 0x0}},
            d_ptr = {d = 0x7fa860}, static staticQtMetaObject = {
              d = {superdata = 0x0,
                stringdata = 0x7ffff62b15c0 <qt_meta_stringdata_Qt>,
                data = 0x7ffff62aeb00 <qt_meta_data_Qt>,
                static_metacall = 0x0, relatedMetaObjects = 0x0,
                extradata = 0x0}}}, static staticMetaObject = {d = {
              superdata = 0x7ffff6362840 <QObject::staticMetaObject>,
stringdata = 0x7ffff62c8960 <qt_meta_stringdata_QEventLoop>,
              data = 0x7ffff62c8900 <qt_meta_data_QEventLoop>,
              static_metacall = 0x7ffff61a49f6
<QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
              relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = <optimized out>
#33 0x0000000000412d0e in main ()
No symbol table info available.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160716/72238585/attachment-0001.html>


More information about the mesa-dev mailing list