[Nouveau] [Bug 47306] segfault in nouveau_fence_update

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Mar 15 05:22:42 PDT 2012


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

--- Comment #6 from Brian J. Murrell <brian at interlinx.bc.ca> 2012-03-15 05:22:42 PDT ---
(In reply to comment #5)
> Hello Gents

Hi Emil,

> I believe your issue was addressed previously in bug 43428, can you please
> confirm with your distribution if mesa has the patches mentioned?

That patch was not part of Ubuntu (Oneiric)'s distribution so I have applied it
and built the packages and installed them.  I got a similar segfault though,
this time with screen not being null:


Thread 1 (Thread 0xb1688720 (LWP 20539)):
#0  nouveau_fence_update (screen=0x4071d000, flushed=1 '\001') at
nouveau_fence.c:141
        fence = <optimized out>
        next = 0x0
        sequence = <optimized out>
#1  0xaae1dc77 in nv50_default_flush_notify (chan=0x8c62a38) at
nv50_context.c:68
        nv50 = 0x8d11158
#2  0xad196f50 in nouveau_pushbuf_flush (chan=0x8c62a38, min=0) at
../../nouveau/nouveau_pushbuf.c:276
        nvdev = <optimized out>
        nvchan = 0x8c62a38
        nvpb = 0x8c62b00
        req = {channel = 6, nr_buffers = 11, buffers = 147217232, nr_relocs =
17, nr_push = 1, relocs = 147258200, push = 147204932, suffix0 = 0, suffix1 =
0, vram_available = 243978240, gart_available = 536383488}
        i = <optimized out>
        ret = 0
        __PRETTY_FUNCTION__ = "nouveau_pushbuf_flush"
#3  0xaae1dc0e in FIRE_RING (chan=<optimized out>) at
/usr/include/nouveau/nouveau_pushbuf.h:101
No locals.
#4  nv50_flush (pipe=0xb014c500, fence=0x0) at nv50_context.c:46
        screen = 0x8c62758
#5  0xaa973951 in st_flush (st=0xb01fb780, fence=0x0) at
state_tracker/st_cb_flush.c:92
No locals.
#6  0xaa973990 in st_glFlush (ctx=0xb01b9950) at
state_tracker/st_cb_flush.c:126
        st = 0xb01fb780
#7  0xaabb24f0 in _mesa_flush (ctx=0xb01b9950) at main/context.c:1656
No locals.
#8  0xaabb2c0e in _mesa_Flush () at main/context.c:1688
        ctx = 0xb01b9950
#9  0xb6aeb899 in MythRenderOpenGL::Flush(bool) () from
/usr/lib/libmythui-0.25.so.0
No symbol table info available.
#10 0xb6af3d1a in MythRenderOpenGL::CreateTexture(QSize, bool, unsigned int,
unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) () from
/usr/lib/libmythui-0.25.so.0
No symbol table info available.
#11 0xb6ae98f3 in MythOpenGLPainter::GetTextureFromCache(MythImage*) () from
/usr/lib/libmythui-0.25.so.0
No symbol table info available.
#12 0xb6ae9da8 in MythOpenGLPainter::DrawImage(QRect const&, MythImage*, QRect
const&, int) () from /usr/lib/libmythui-0.25.so.0
No symbol table info available.
#13 0xb69f5a6f in MythUIImage::DrawSelf(MythPainter*, int, int, int, QRect) ()
from /usr/lib/libmythui-0.25.so.0
No symbol table info available.
#14 0xb69ef0e4 in MythUIType::Draw(MythPainter*, int, int, int, QRect) () from
/usr/lib/libmythui-0.25.so.0
No symbol table info available.
#15 0xb69ef180 in MythUIType::Draw(MythPainter*, int, int, int, QRect) () from
/usr/lib/libmythui-0.25.so.0
No symbol table info available.
#16 0xb69ad068 in MythMainWindow::draw() () from /usr/lib/libmythui-0.25.so.0
No symbol table info available.
#17 0xb69ad6f8 in MythMainWindow::drawScreen() () from
/usr/lib/libmythui-0.25.so.0
No symbol table info available.
#18 0xb69ad8bb in ?? () from /usr/lib/libmythui-0.25.so.0
No symbol table info available.
#19 0xb5b0ef6e in QWidget::event(QEvent*) () from
/usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#20 0xb234ffe2 in QGLWidget::event(QEvent*) () from
/usr/lib/i386-linux-gnu/libQtOpenGL.so.4
No symbol table info available.
#21 0xb5ab4d84 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from
/usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#22 0xb5aba1d8 in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#23 0xb56e519e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from
/usr/lib/i386-linux-gnu/libQtCore.so.4
No symbol table info available.
#24 0xb5b0be1b in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&,
QPoint const&, int, QPainter*, QWidgetBackingStore*) () from
/usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#25 0xb5cf039e in QWidgetPrivate::repaint_sys(QRegion const&) () from
/usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#26 0xb5b01644 in QWidgetPrivate::syncBackingStore(QRegion const&) () from
/usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#27 0xb5b402e4 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#28 0xb5b41488 in QApplication::x11ProcessEvent(_XEvent*) () from
/usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#29 0xb5b6d28c in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#30 0xb218925f in g_main_dispatch (context=0x8b17e70) at
/build/buildd/glib2.0-2.30.0/./glib/gmain.c:2441
        dispatch = 0xb5b6d0a0
        was_in_call = 0
        user_data = 0x0
        callback = 0
        cb_funcs = 0x0
        cb_data = 0x0
        current_source_link = {data = 0x8b18e68, next = 0x0}
        need_destroy = <optimized out>
        source = 0x8b18e68
        current = 0x8b17410
        i = <optimized out>
#31 g_main_context_dispatch (context=0x8b17e70) at
/build/buildd/glib2.0-2.30.0/./glib/gmain.c:3011
No locals.
#32 0xb2189990 in g_main_context_iterate (context=0x8b17e70, block=-1306950880,
dispatch=1, self=<optimized out>) at
/build/buildd/glib2.0-2.30.0/./glib/gmain.c:3089
        max_priority = 0
        timeout = 0
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = <optimized out>
        fds = 0xa7e9d708
#33 0xb2189c2a in g_main_context_iteration (context=0x8b17e70, may_block=1) at
/build/buildd/glib2.0-2.30.0/./glib/gmain.c:3152
        retval = <optimized out>
#34 0xb5713ada in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/i386-linux-gnu/libQtCore.so.4
No symbol table info available.
#35 0xb5b6ce7a in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#36 0xb56e41dd in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/i386-linux-gnu/libQtCore.so.4
No symbol table info available.
#37 0xb56e4421 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/i386-linux-gnu/libQtCore.so.4
No symbol table info available.
#38 0xb56e919d in QCoreApplication::exec() () from
/usr/lib/i386-linux-gnu/libQtCore.so.4
No symbol table info available.
#39 0xb5ab2924 in QApplication::exec() () from
/usr/lib/i386-linux-gnu/libQtGui.so.4
No symbol table info available.
#40 0x0806d97e in ?? ()
No symbol table info available.
#41 0xb5311113 in __libc_start_main (main=0x806c160, argc=1, ubp_av=0xbfc52ba4,
init=0x829c060, fini=0x829c0d0, rtld_fini=0xb77d0ba0, stack_end=0xbfc52b9c) at
libc-start.c:226
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1253629964, 0, 0, 0,
-1459841158, 1082856303}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x1,
0x806fe74}, data = {prev = 0x0, cleanup = 0x0, canceltype = 1}}}
        not_first_call = <optimized out>
#42 0x0806fe95 in ?? ()
No symbol table info available.
Backtrace stopped: Not enough registers or memory available to unwind further

Here's what gdb has to say at the moment of the crash:

#0  nouveau_fence_update (screen=0x4071d000, flushed=1 '\001')
    at nouveau_fence.c:141
141       u32 sequence = screen->fence.update(&screen->base);
(gdb) print screen
$1 = (struct nouveau_screen *) 0x4071d000
(gdb) print *screen
Cannot access memory at address 0x4071d000

So, while screen is not null, it does not seem to be pointing at valid memory
either.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Nouveau mailing list