Public bug reported:

mate-panel sees intermittent crashes (https://github.com/mate-
desktop/mate-panel/issues/1356) which seems to be due to a bug in gtk3
that was recently fixed upstream
(https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6660).

Note that while in my case the crash happens with mate-panel, it appears
to be affecting more than that - e.g. the upstream MR mentions
xfce4-panel.

Could this upstream fix perhaps be backported to 24.04? It applies
cleanly to 3.24.41-4ubuntu1.3.

For the time being, I've just rebuilt gtk+3.0 locally with the patch
applied.

Details:

Ubuntu 24.04.2 LTS
xorg + nvidia 570.153.02
libgtk-3-0t64:amd64 3.24.41-4ubuntu1.3
mate-panel:amd64 1.27.1-2build3 (and 1.28.0+git20241125-aquos)

Here's an example backtrace from a mate-panel crash caused by the
gtk_drag_finish bug (note the mate-panel version shown below is slightly
newer than exists in 24.04; rebuilt several months ago in a failed
attempt to fix the issue):

Core was generated by `mate-panel'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000728dd2b9ac24 in gtk_drag_finish (context=0x648e8ebea550, success=0, 
del=0, time=0) at ../../../gtk/gtkdnd.c:961

warning: 961    ../../../gtk/gtkdnd.c: No such file or directory
[Current thread is 1 (Thread 0x728dd1102ac0 (LWP 361159))]
...
Thread 1 (Thread 0x728dd1102ac0 (LWP 361159)):
#0  0x0000728dd2b9ac24 in gtk_drag_finish (context=0x648e8ebea550, success=0, 
del=0, time=0) at ../../../gtk/gtkdnd.c:961
        __inst = 0x648e8ebea550
        __t = 0x648e8e86c7c0 [GdkDragContext]
        __r = <optimized out>
        _g_boolean_var_14 = <optimized out>
        target = 0x0
        __func__ = "gtk_drag_finish"
#1  0x0000728dd2ba0193 in gtk_drag_drop_finished (info=0x648e8ebea550, 
result=GTK_DRAG_RESULT_TIMEOUT_EXPIRED, time=0) at ../../../gtk/gtkdnd.c:2582
        success = 0
#2  0x0000728dd2ba03ad in gtk_drag_drop (info=0x648e8f43dcf0, time=0) at 
../../../gtk/gtkdnd.c:2659
#3  0x0000728dd2738c6d in gdk_threads_dispatch (data=0x0) at 
../../../gdk/gdk.c:769
        dispatch = 0x0
        ret = 0
#4  0x0000728dd22a3532 in g_timeout_dispatch 
(source=source@entry=0x648e8f3062a0, callback=<optimized out>, 
user_data=<optimized out>) at ../../../glib/gmain.c:4989
        timeout_source = 0x648e8f3062a0
        again = <optimized out>
#5  0x0000728dd22a249e in g_main_dispatch (context=0x648e8e7fb5d0) at 
../../../glib/gmain.c:3344
        dispatch = 0x728dd22a3500 <g_timeout_dispatch>
        prev_source = 0x0
        begin_time_nsec = 0
        was_in_call = 0
        user_data = 0x648e8f43dcf0
        callback = 0x728dd2738c40 <gdk_threads_dispatch>
        cb_funcs = <optimized out>
        cb_data = 0x648e8e7f4640
        need_destroy = <optimized out>
        source = 0x648e8f3062a0
        current = 0x648e8e828f10
        i = 3535405997
        __func__ = "g_main_dispatch"
#6  0x0000728dd2301737 in g_main_context_dispatch_unlocked 
(context=0x648e8e7fb5d0) at ../../../glib/gmain.c:4152
#7  g_main_context_iterate_unlocked.isra.0 (context=0x648e8e7fb5d0, 
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at 
../../../glib/gmain.c:4217
        max_priority = 2147483647
        timeout = 101348
        some_ready = 1
        nfds = 5
        allocated_nfds = <optimized out>
        fds = 0x648e8f40afc0
#8  0x0000728dd22a2f87 in g_main_loop_run (loop=0x648e8eac92f0) at 
../../../glib/gmain.c:4419
        self = <optimized out>
        __func__ = "g_main_loop_run"
#9  0x0000728dd29febc5 in gtk_main () at ../../../gtk/gtkmain.c:1329
        loop = 0x648e8eac92f0
#10 0x0000648e89155e1d in main (argc=<optimized out>, argv=<optimized out>) at 
/usr/src/mate-panel-1.28.0+git20241125-aquos/mate-panel/main.c:223
        desktopfile = <optimized out>
        context = <optimized out>
        error = 0x0
        display = <optimized out>
        screen = 0x648e8e7ea110 [GdkX11Screen]
        css = 0x648e8e922590 [GtkCssProvider]
        provider = 0x648e8e922590
        resource = 0x648e891aab30 "/org/mate/panel/theme/mate-panel.css"
        priority = 1

** Affects: gtk+3.0 (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to gtk+3.0 in Ubuntu.
https://bugs.launchpad.net/bugs/2114689

Title:
  Crash in gtk_drag_finish() in 24.04; fix merged upstream

Status in gtk+3.0 package in Ubuntu:
  New

Bug description:
  mate-panel sees intermittent crashes (https://github.com/mate-
  desktop/mate-panel/issues/1356) which seems to be due to a bug in gtk3
  that was recently fixed upstream
  (https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6660).

  Note that while in my case the crash happens with mate-panel, it
  appears to be affecting more than that - e.g. the upstream MR mentions
  xfce4-panel.

  Could this upstream fix perhaps be backported to 24.04? It applies
  cleanly to 3.24.41-4ubuntu1.3.

  For the time being, I've just rebuilt gtk+3.0 locally with the patch
  applied.

  Details:

  Ubuntu 24.04.2 LTS
  xorg + nvidia 570.153.02
  libgtk-3-0t64:amd64 3.24.41-4ubuntu1.3
  mate-panel:amd64 1.27.1-2build3 (and 1.28.0+git20241125-aquos)

  Here's an example backtrace from a mate-panel crash caused by the
  gtk_drag_finish bug (note the mate-panel version shown below is
  slightly newer than exists in 24.04; rebuilt several months ago in a
  failed attempt to fix the issue):

  Core was generated by `mate-panel'.
  Program terminated with signal SIGSEGV, Segmentation fault.
  #0  0x0000728dd2b9ac24 in gtk_drag_finish (context=0x648e8ebea550, success=0, 
del=0, time=0) at ../../../gtk/gtkdnd.c:961

  warning: 961  ../../../gtk/gtkdnd.c: No such file or directory
  [Current thread is 1 (Thread 0x728dd1102ac0 (LWP 361159))]
  ...
  Thread 1 (Thread 0x728dd1102ac0 (LWP 361159)):
  #0  0x0000728dd2b9ac24 in gtk_drag_finish (context=0x648e8ebea550, success=0, 
del=0, time=0) at ../../../gtk/gtkdnd.c:961
          __inst = 0x648e8ebea550
          __t = 0x648e8e86c7c0 [GdkDragContext]
          __r = <optimized out>
          _g_boolean_var_14 = <optimized out>
          target = 0x0
          __func__ = "gtk_drag_finish"
  #1  0x0000728dd2ba0193 in gtk_drag_drop_finished (info=0x648e8ebea550, 
result=GTK_DRAG_RESULT_TIMEOUT_EXPIRED, time=0) at ../../../gtk/gtkdnd.c:2582
          success = 0
  #2  0x0000728dd2ba03ad in gtk_drag_drop (info=0x648e8f43dcf0, time=0) at 
../../../gtk/gtkdnd.c:2659
  #3  0x0000728dd2738c6d in gdk_threads_dispatch (data=0x0) at 
../../../gdk/gdk.c:769
          dispatch = 0x0
          ret = 0
  #4  0x0000728dd22a3532 in g_timeout_dispatch 
(source=source@entry=0x648e8f3062a0, callback=<optimized out>, 
user_data=<optimized out>) at ../../../glib/gmain.c:4989
          timeout_source = 0x648e8f3062a0
          again = <optimized out>
  #5  0x0000728dd22a249e in g_main_dispatch (context=0x648e8e7fb5d0) at 
../../../glib/gmain.c:3344
          dispatch = 0x728dd22a3500 <g_timeout_dispatch>
          prev_source = 0x0
          begin_time_nsec = 0
          was_in_call = 0
          user_data = 0x648e8f43dcf0
          callback = 0x728dd2738c40 <gdk_threads_dispatch>
          cb_funcs = <optimized out>
          cb_data = 0x648e8e7f4640
          need_destroy = <optimized out>
          source = 0x648e8f3062a0
          current = 0x648e8e828f10
          i = 3535405997
          __func__ = "g_main_dispatch"
  #6  0x0000728dd2301737 in g_main_context_dispatch_unlocked 
(context=0x648e8e7fb5d0) at ../../../glib/gmain.c:4152
  #7  g_main_context_iterate_unlocked.isra.0 (context=0x648e8e7fb5d0, 
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at 
../../../glib/gmain.c:4217
          max_priority = 2147483647
          timeout = 101348
          some_ready = 1
          nfds = 5
          allocated_nfds = <optimized out>
          fds = 0x648e8f40afc0
  #8  0x0000728dd22a2f87 in g_main_loop_run (loop=0x648e8eac92f0) at 
../../../glib/gmain.c:4419
          self = <optimized out>
          __func__ = "g_main_loop_run"
  #9  0x0000728dd29febc5 in gtk_main () at ../../../gtk/gtkmain.c:1329
          loop = 0x648e8eac92f0
  #10 0x0000648e89155e1d in main (argc=<optimized out>, argv=<optimized out>) 
at /usr/src/mate-panel-1.28.0+git20241125-aquos/mate-panel/main.c:223
          desktopfile = <optimized out>
          context = <optimized out>
          error = 0x0
          display = <optimized out>
          screen = 0x648e8e7ea110 [GdkX11Screen]
          css = 0x648e8e922590 [GtkCssProvider]
          provider = 0x648e8e922590
          resource = 0x648e891aab30 "/org/mate/panel/theme/mate-panel.css"
          priority = 1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gtk+3.0/+bug/2114689/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to