Bug 62425

Summary: Crash in vbo_save_playback_vertex_list when using glCallList in Cairo-Dock
Product: Mesa Reporter: Matthieu Baerts <matttbe>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: 9.0   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: gdb: info registrers

Description Matthieu Baerts 2013-03-16 22:04:25 UTC
Created attachment 76630 [details]
gdb: info registrers

Hello,

Firstly, thank you for developing Mesa!

How to reproduce this bug:
* Launch Cairo-Dock
* Check that you're using the 'Rotate' animation: right click on the dock / Cairo-Dock / Settings / Advanced Mode / Taskbar / Interaction / Highlight applications demanding your attention with an animation: => Rotate
* Add a subdock (right click on the dock / Cairo-Dock / Add / Subdock)
* Add a launcher on this subdock (e.g. by dragging and dropping Firefox launcher from the menu)
* Launch this command to animate Firefox:
  $ dbus-send --session --dest=org.cairodock.CairoDock /org/cairodock/CairoDock org.cairodock.CairoDock.DemandsAttention boolean:true string:default string:"class=firefox"
* Open the subdock
* Cairo-Dock will crash

Note: or choose the 'Rotate' animation when the mouse is hover icons and open a subdock.


Here is the backtrace of this crash:

#0  vbo_save_playback_vertex_list (ctx=0xcbde30, data=0x48ddc20)
    at ../../../../../src/mesa/vbo/vbo_save_draw.c:264
        node = 0x48ddc20
        save = 0xd1d6d8
        remap_vertex_store = 0 '\000'
#1  0x00007fffe4859702 in ext_opcode_execute (node=0x48ddc18, ctx=0xcbde30)
    at ../../../../../src/mesa/main/dlist.c:619
        i = <optimized out>
#2  execute_list (ctx=0xcbde30, list=<optimized out>)
    at ../../../../../src/mesa/main/dlist.c:7695
        opcode = <optimized out>
        dlist = 0x48ddc18
        n = 0x48ddc18
        done = <optimized out>
#3  0x00007fffe485d142 in _mesa_CallList (list=3)
    at ../../../../../src/mesa/main/dlist.c:9137
        save_compile_flag = 0 '\000'
        ctx = 0xcbde30
#4  0x00007fffd6a8d507 in cd_animation_render_capsule (pIcon=<optimized out>, 
    pDock=<optimized out>, bInvisibleBackground=<optimized out>)
    at /opt/cairo-dock_bzr/cairo-dock-plug-ins/Animated-icons/src/applet-rotation.c:97
No locals.
#5  _draw_rotating_icon (pIcon=0x10d0310, pDock=0xcbd1d0, fScaleFactor=1, 
    pData=<optimized out>, pData=<optimized out>)
    at /opt/cairo-dock_bzr/cairo-dock-plug-ins/Animated-icons/src/applet-rotation.c:222
No locals.
#6  0x00007fffd6a8d919 in render (pIcon=0x10d0310, pDock=0xcbd1d0, 
    pData=0x5172890, pCairoContext=<optimized out>)
    at /opt/cairo-dock_bzr/cairo-dock-plug-ins/Animated-icons/src/applet-rotation.c:266
        fAlpha = 1
#7  0x00007fffd6a8f7d5 in cd_animations_render_icon (
    pUserData=<optimized out>, pIcon=0x10d0310, pDock=0xcbd1d0, 
    bHasBeenRendered=0x7fffffffce20, pCairoContext=0x0)
    at /opt/cairo-dock_bzr/cairo-dock-plug-ins/Animated-icons/src/applet-notifications.c:243
        pData = 0x5172890
        pCurrentAnimation = <optimized out>
        pAnimation = 0x118aec0
        a = 0x49ca660
#8  0x00007ffff6547a0a in cairo_dock_render_one_icon_opengl (
    icon=icon@entry=0x10d0310, pDock=pDock@entry=0xcbd1d0, 
    fDockMagnitude=fDockMagnitude@entry=1, bUseText=bUseText@entry=0)
    at /opt/cairo-dock_bzr/cairo-dock-core/src/gldit/cairo-dock-draw-opengl.c:380
        pNotificationRecord = <optimized out>
        pElement = <optimized out>
        pNextElement = 0x7a2140
        pNotificationRecordList = <optimized out>
        _stop = <optimized out>
        pNotificationsTab = <optimized out>
        _bStop = 0
        _obj = <optimized out>
        fRatio = 1.25
        __PRETTY_FUNCTION__ = "cairo_dock_render_one_icon_opengl"
        fX = 43
        fY = 0.34999999999999432
        bIconHasBeenDrawn = 0
#9  0x00007fffd6001bbf in cd_rendering_render_parabole_opengl (pDock=0xcbd1d0)
    at /opt/cairo-dock_bzr/cairo-dock-plug-ins/dock-rendering/src/rendering-parabole.c:729
        pFirstDrawnElement = 0xa10960
        fDockMagnitude = 1
        fAlpha = 0.00010000000000000018
        bHorizontal = 1
        icon = 0x10d0310
        ic = 0xa10960
#10 0x00007ffff6525d48 in cairo_dock_render_dock_notification (
    pUserData=0xcbde30, pDock=0xcbd1d0, pCairoContext=0xd19f90)
    at /opt/cairo-dock_bzr/cairo-dock-core/src/gldit/cairo-dock-callbacks.c:166
No locals.
#11 0x00007ffff6525ed9 in cairo_dock_on_expose (pWidget=<optimized out>, 
    ctx=<optimized out>, pDock=0xcbd1d0)
    at /opt/cairo-dock_bzr/cairo-dock-core/src/gldit/cairo-dock-callbacks.c:224
        pNotificationRecord = <optimized out>
        pElement = <optimized out>
        pNextElement = 0x0
        pNotificationRecordList = <optimized out>
        _stop = <optimized out>
        pNotificationsTab = <optimized out>
        _bStop = 0
        _obj = <optimized out>
        area = {x = 0, y = 0, width = 167, height = 121}
        x1 = 0
        x2 = 167
        y1 = 0
        y2 = 121
        pCairoContext = <optimized out>
#12 0x00007ffff6bb949c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#13 0x00007ffff6ce5ef0 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#14 0x00007ffff7753750 in g_closure_invoke ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#15 0x00007ffff77659c0 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#16 0x00007ffff776d44a in g_signal_emit_valist ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#17 0x00007ffff776df22 in g_signal_emit ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#18 0x00007ffff6ce932c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#19 0x00007ffff6cf3f25 in gtk_widget_send_expose ()
   from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#20 0x00007ffff6bb927f in gtk_main_do_event ()
   from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#21 0x00007ffff67d5c10 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
No symbol table info available.
#22 0x00007ffff67d5046 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
No symbol table info available.
#23 0x00007ffff67d54e8 in gdk_window_process_all_updates ()
   from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
No symbol table info available.
#24 0x00007ffff6b23f74 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#25 0x00007ffff67b8b40 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
No symbol table info available.
#26 0x00007ffff748fe85 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#27 0x00007ffff74901c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#28 0x00007ffff749063a in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#29 0x00007ffff6bb84a5 in gtk_main ()
   from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#30 0x000000000040ef39 in main (argc=1, argv=0x7fffffffdf58)



Note:
(gdb) p save->vertex_store 
$1 = (struct vbo_save_vertex_store *) 0x0

  $ glxinfo| grep OpenGL
 OpenGL vendor string: Intel Open Source Technology Center
 OpenGL renderer string: Mesa DRI Intel(R) Ironlake Mobile 
 OpenGL version string: 2.1 Mesa 9.0.3
 OpenGL shading language version string: 1.20

I'm not able to reproduce this bug with a computer with a NVidia video card and NVidia drivers.
Comment 1 Brian Paul 2013-03-18 17:11:34 UTC
This sounds the same as fedora bug 918661:
 http://bugzilla.redhat.com/show_bug.cgi?id=918661

Can you see if the patch from that bug report helps?
Comment 2 Matthieu Baerts 2013-03-19 11:01:01 UTC
Hello Brian,

Thank you for this quick answer!

(In reply to comment #1)
> This sounds the same as fedora bug 918661:
>  http://bugzilla.redhat.com/show_bug.cgi?id=918661
> 
> Can you see if the patch from that bug report helps?

I confirm that this patch fixes the bug and there is no new visual bug, thank you for your help :)

Can we change the status to "Resolved" or is it due to another bug that has to be fixed before (to avoid (save->vertex_store) to be null)?
Comment 3 Brian Paul 2013-03-19 14:19:51 UTC
I updated the Red Hat bug report but I don't know how to close it.
I'm closing this bug though.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.