Bug#928498: gitg: Crash with assertion failed

Bernhard √úbelacker bernhardu at mailbox.org
Mon May 6 23:34:42 BST 2019


Control: reassign 928498 gtksourceview3 3.24.9-2
Control: tags + 928498 upstream fixed-upstream patch
Control: affects 928498 gitg gedit



Dear Maintainer,
this crash seems to be described in upstream
bugs [1] and [2].

And upstream seems to have a fix commited
to the 3.24 branch [3] too.

A package libgtksourceview-3.0-1 built with the patch
does not crash gitg anymore.

Kind regards,
Bernhard


[1] https://gitlab.gnome.org/GNOME/gtksourceview/issues/54
[2] https://gitlab.gnome.org/GNOME/gtksourceview/issues/30
[3] https://gitlab.gnome.org/GNOME/gtksourceview/commit/06a9d3751c808870dc72e470700693d01f4fc284
-------------- next part --------------

# Buster amd64 qemu VM 2019-05-06


apt update
apt dist-upgrade


apt install systemd-coredump xserver-xorg lightdm openbox gdb fakeroot gitg gitg-dbgsym libglib2.0-0-dbgsym libgtk-3-0-dbgsym libgtksourceview-3.0-1-dbgsym
apt build-dep gtksourceview3


reboot


mkdir /home/benutzer/source/gtksourceview3/orig -p
cd    /home/benutzer/source/gtksourceview3/orig
apt source gtksourceview3
cd





mkdir xbmc
cd xbmc
git clone https://github.com/xbmc/xbmc.git
cd xbmc
export DISPLAY=:0
gitg
# click on "Krypton"





benutzer at debian:~/xbmc/xbmc$ gitg
**
GtkSourceView:ERROR:gtksourcecontextengine.c:5543:update_syntax: assertion failed: (g_slist_length (ce->priv->invalid) <= 1)
Abgebrochen (Speicherabzug geschrieben)



root at debian:~# coredumpctl list
TIME                            PID   UID   GID SIG COREFILE  EXE
Tue 2019-05-07 00:05:33 CEST    951  1000  1000   6 present   /usr/bin/gitg



root at debian:~# coredumpctl gdb 951
           PID: 951 (gitg)
           UID: 1000 (benutzer)
           GID: 1000 (benutzer)
        Signal: 6 (ABRT)
     Timestamp: Tue 2019-05-07 00:05:32 CEST (1min 6s ago)
  Command Line: gitg
    Executable: /usr/bin/gitg
 Control Group: /user.slice/user-1000.slice/session-5.scope
          Unit: session-5.scope
         Slice: user-1000.slice
       Session: 5
     Owner UID: 1000 (benutzer)
       Boot ID: f41413a2789c4ca899d7db4111d58cd7
    Machine ID: 32f43b50ac8c4b21941bc0b02f8e7811
      Hostname: debian
       Storage: /var/lib/systemd/coredump/core.gitg.1000.f41413a2789c4ca899d7db4111d58cd7.951.1557180332000000.lz4
       Message: Process 951 (gitg) of user 1000 dumped core.
                
                Stack trace of thread 951:
                #0  0x00007f92a38887bb raise (libc.so.6)
                #1  0x00007f92a3873535 abort (libc.so.6)
                #2  0x00007f92a4786dc3 n/a (libglib-2.0.so.0)
                #3  0x00007f92a47e068a g_assertion_message_expr (libglib-2.0.so.0)
                #4  0x00007f92a472b444 n/a (libgtksourceview-3.0.so.1)
                #5  0x00007f92a472b5ab n/a (libgtksourceview-3.0.so.1)
                #6  0x00007f92a3f00c08 n/a (libgdk-3.so.0)
                #7  0x00007f92a47b8dd8 g_main_context_dispatch (libglib-2.0.so.0)
                #8  0x00007f92a47b91c8 n/a (libglib-2.0.so.0)
                #9  0x00007f92a47b925c g_main_context_iteration (libglib-2.0.so.0)
                #10 0x00007f92a3d9699d g_application_run (libgio-2.0.so.0)
                #11 0x000055893e723906 gitg_main_main (gitg)
                #12 0x00007f92a387509b __libc_start_main (libc.so.6)
                #13 0x000055893e6cfe5a _start (gitg)
                
                Stack trace of thread 953:
                #0  0x00007f92a393f819 __poll (libc.so.6)
                #1  0x00007f92a47b9136 n/a (libglib-2.0.so.0)
                #2  0x00007f92a47b94c2 g_main_loop_run (libglib-2.0.so.0)
                #3  0x00007f92a3dcff66 n/a (libgio-2.0.so.0)
                #4  0x00007f92a47e1425 n/a (libglib-2.0.so.0)
                #5  0x00007f92a344bfa3 start_thread (libpthread.so.0)
                #6  0x00007f92a394a4cf __clone (libc.so.6)
                
                Stack trace of thread 954:
                #0  0x00007f92a393f819 __poll (libc.so.6)
                #1  0x00007f92a47b9136 n/a (libglib-2.0.so.0)
                #2  0x00007f92a47b925c g_main_context_iteration (libglib-2.0.so.0)
                #3  0x00007f929d652ffd n/a (libdconfsettings.so)
                #4  0x00007f92a47e1425 n/a (libglib-2.0.so.0)
                #5  0x00007f92a344bfa3 start_thread (libpthread.so.0)
                #6  0x00007f92a394a4cf __clone (libc.so.6)
                
                Stack trace of thread 952:
                #0  0x00007f92a393f819 __poll (libc.so.6)
                #1  0x00007f92a47b9136 n/a (libglib-2.0.so.0)
                #2  0x00007f92a47b925c g_main_context_iteration (libglib-2.0.so.0)
                #3  0x00007f92a47b92a1 n/a (libglib-2.0.so.0)
                #4  0x00007f92a47e1425 n/a (libglib-2.0.so.0)
                #5  0x00007f92a344bfa3 start_thread (libpthread.so.0)
                #6  0x00007f92a394a4cf __clone (libc.so.6)
                
                Stack trace of thread 959:
                #0  0x00007f92a3944f59 syscall (libc.so.6)
                #1  0x00007f92a48030ba g_cond_wait_until (libglib-2.0.so.0)
                #2  0x00007f92a478b091 n/a (libglib-2.0.so.0)
                #3  0x00007f92a478b651 g_async_queue_timeout_pop (libglib-2.0.so.0)
                #4  0x00007f92a47e1e61 n/a (libglib-2.0.so.0)
                #5  0x00007f92a47e1425 n/a (libglib-2.0.so.0)
                #6  0x00007f92a344bfa3 start_thread (libpthread.so.0)
                #7  0x00007f92a394a4cf __clone (libc.so.6)

GNU gdb (Debian 8.2.1-2) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/gitg...(no debugging symbols found)...done.
[New LWP 951]
[New LWP 953]
[New LWP 954]
[New LWP 952]
[New LWP 959]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `gitg'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
[Current thread is 1 (Thread 0x7f929ebcf200 (LWP 951))]
(gdb) set width 0
(gdb) set pagination off
(gdb) bt
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f92a3873535 in __GI_abort () at abort.c:79
#2  0x00007f92a4786dc3 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f92a47e068a in g_assertion_message_expr () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f92a472b444 in ?? () from /usr/lib/x86_64-linux-gnu/libgtksourceview-3.0.so.1
#5  0x00007f92a472b5ab in ?? () from /usr/lib/x86_64-linux-gnu/libgtksourceview-3.0.so.1
#6  0x00007f92a3f00c08 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#7  0x00007f92a47b8dd8 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007f92a47b91c8 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007f92a47b925c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007f92a3d9699d in g_application_run () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#11 0x000055893e723906 in gitg_main_main ()
#12 0x00007f92a387509b in __libc_start_main (main=0x55893e6cfe20 <main>, argc=1, argv=0x7ffcb5ff8b88, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcb5ff8b78) at ../csu/libc-start.c:308
#13 0x000055893e6cfe5a in _start ()



Core was generated by `gitg'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
[Current thread is 1 (Thread 0x7f929ebcf200 (LWP 951))]
(gdb) set width 0
(gdb) set pagination off
(gdb) bt
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f92a3873535 in __GI_abort () at abort.c:79
#2  0x00007f92a4786dc3 in g_assertion_message (domain=<optimized out>, file=<optimized out>, line=<optimized out>, func=0x7f92a474a178 <__func__.60215> "update_syntax", message=<optimized out>) at ../../../glib/gtestutils.c:2596
#3  0x00007f92a47e068a in g_assertion_message_expr (domain=domain at entry=0x7f92a473c15d "GtkSourceView", file=file at entry=0x7f92a4748ac7 "gtksourcecontextengine.c", line=line at entry=5543, func=func at entry=0x7f92a474a178 <__func__.60215> "update_syntax", expr=expr at entry=0x7f92a4749838 "g_slist_length (ce->priv->invalid) <= 1") at ../../../glib/gtestutils.c:2619
#4  0x00007f92a472b444 in update_syntax (ce=ce at entry=0x55893f14eb50, end=end at entry=0x0, time=time at entry=10) at gtksourcecontextengine.c:5543
#5  0x00007f92a472b5ab in first_update_callback (ce=0x55893f14eb50) at gtksourcecontextengine.c:2375
#6  0x00007f92a3f00c08 in gdk_threads_dispatch (data=0x55893f82ad60) at ../../../../gdk/gdk.c:770
#7  0x00007f92a47b8dd8 in g_main_dispatch (context=0x55893e995270) at ../../../glib/gmain.c:3182
#8  g_main_context_dispatch (context=context at entry=0x55893e995270) at ../../../glib/gmain.c:3847
#9  0x00007f92a47b91c8 in g_main_context_iterate (context=context at entry=0x55893e995270, block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at ../../../glib/gmain.c:3920
#10 0x00007f92a47b925c in g_main_context_iteration (context=context at entry=0x55893e995270, may_block=may_block at entry=1) at ../../../glib/gmain.c:3981
#11 0x00007f92a3d9699d in g_application_run (application=0x55893e993140, argc=<optimized out>, argv=0x7ffcb5ff8b88) at ../../../gio/gapplication.c:2470
#12 0x000055893e723906 in gitg_main_main (args=0x7ffcb5ff8b88, args_length1=1) at ../gitg/gitg.vala:42
#13 0x00007f92a387509b in __libc_start_main (main=0x55893e6cfe20 <main>, argc=1, argv=0x7ffcb5ff8b88, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcb5ff8b78) at ../csu/libc-start.c:308
#14 0x000055893e6cfe5a in _start () at ../gitg/gitg.vala:27


(gdb) bt full
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0, 94047969085408, 94047969085580, 94047969085280, 94047969085580, 0, 0, 140267786319180, 0, 32, 2048, 2064, 18446744073709551536, 140267785894488, 2048, 5}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007f92a3873535 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0xfefefefefefefeff, sa_sigaction = 0xfefefefefefefeff}, sa_mask = {__val = {18374497943492231169, 0, 124, 94047963083632, 6763159771703646976, 140267800911008, 140267801864027, 140267801885432, 140267524980736, 94047963083632, 0, 0, 6763159771703646976, 140267801053895, 94047963083632, 125}}, sa_flags = -1534554624, sa_restorer = 0x7ffcb5ff85a0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007f92a4786dc3 in g_assertion_message (domain=<optimized out>, file=<optimized out>, line=<optimized out>, func=0x7f92a474a178 <__func__.60215> "update_syntax", message=<optimized out>) at ../../../glib/gtestutils.c:2596
        lstr = "5543\000\177\000\000\000\233\233\307\372\221\333]\340\205\377\265\374\177\000\000\070\230t\244\222\177\000"
        s = 0x55893f6e7370 "\200\244\275?\211U"
#3  0x00007f92a47e068a in g_assertion_message_expr (domain=domain at entry=0x7f92a473c15d "GtkSourceView", file=file at entry=0x7f92a4748ac7 "gtksourcecontextengine.c", line=line at entry=5543, func=func at entry=0x7f92a474a178 <__func__.60215> "update_syntax", expr=expr at entry=0x7f92a4749838 "g_slist_length (ce->priv->invalid) <= 1") at ../../../glib/gtestutils.c:2619
        s = 0x55893fee3b10 "assertion failed: (g_slist_length (ce->priv->invalid) <= 1)"
#4  0x00007f92a472b444 in update_syntax (ce=ce at entry=0x55893f14eb50, end=end at entry=0x0, time=time at entry=10) at gtksourcecontextengine.c:5543
        buffer = <optimized out>
        start_iter = {dummy1 = 0x5589403d68c0, dummy2 = 0x55893fd43c60, dummy3 = 3, dummy4 = 1, dummy5 = 1, dummy6 = -1, dummy7 = -387174087, dummy8 = 1747667398, dummy9 = 0x55893ff71e30, dummy10 = 0x55893ff71e30, dummy11 = 3, dummy12 = 1, dummy13 = 0, dummy14 = 0x0}
        end_iter = {dummy1 = 0x5589403d68c0, dummy2 = 0x55893fbfa240, dummy3 = -1, dummy4 = 12, dummy5 = 8190, dummy6 = -1, dummy7 = -387174087, dummy8 = 1747667398, dummy9 = 0x55893ec22b00, dummy10 = 0x7f9249f06040, dummy11 = -1, dummy12 = 0, dummy13 = 0, dummy14 = 0x0}
        line_start = {dummy1 = 0x5589403d68c0, dummy2 = 0x55893fbfa240, dummy3 = 0, dummy4 = 0, dummy5 = 8178, dummy6 = -1, dummy7 = -387174087, dummy8 = 1747668007, dummy9 = 0x0, dummy10 = 0x0, dummy11 = -10000, dummy12 = -10000, dummy13 = 0, dummy14 = 0x0}
        line_end = {dummy1 = 0x5589403d68c0, dummy2 = 0x55893fbfa240, dummy3 = -1, dummy4 = 12, dummy5 = 8190, dummy6 = -1, dummy7 = -387174087, dummy8 = 1747668011, dummy9 = 0x55893ec22b00, dummy10 = 0x7f9249f06040, dummy11 = -1, dummy12 = 0, dummy13 = 0, dummy14 = 0x0}
        state = <optimized out>
        invalid = <optimized out>
        start_offset = <optimized out>
        end_offset = <optimized out>
        line_start_offset = <optimized out>
        line_end_offset = <optimized out>
        analyzed_end = 8190
        first_line = <optimized out>
        timer = 0x55893fbb9bb0
        __func__ = "update_syntax"
#5  0x00007f92a472b5ab in first_update_callback (ce=0x55893f14eb50) at gtksourcecontextengine.c:2375
        __func__ = "first_update_callback"
        _g_boolean_var_ = <optimized out>
#6  0x00007f92a3f00c08 in gdk_threads_dispatch (data=0x55893f82ad60) at ../../../../gdk/gdk.c:770
        dispatch = 0x55893f82ad60
        ret = 0
#7  0x00007f92a47b8dd8 in g_main_dispatch (context=0x55893e995270) at ../../../glib/gmain.c:3182
        dispatch = 0x7f92a47b5780 <g_idle_dispatch>
        prev_source = 0x0
        was_in_call = 0
        user_data = 0x55893f82ad60
        callback = 0x7f92a3f00be0 <gdk_threads_dispatch>
        cb_funcs = <optimized out>
        cb_data = 0x5589402cbec0
        need_destroy = <optimized out>
        source = 0x558940118100
        current = 0x55893ea28c70
        i = 10
        current = <optimized out>
        i = <optimized out>
        __FUNCTION__ = "g_main_dispatch"
        source = <optimized out>
        _g_boolean_var_ = <optimized out>
        was_in_call = <optimized out>
        user_data = <optimized out>
        callback = <optimized out>
        cb_funcs = <optimized out>
        cb_data = <optimized out>
        need_destroy = <optimized out>
        dispatch = <optimized out>
        prev_source = <optimized out>
        _g_boolean_var_ = <optimized out>
#8  g_main_context_dispatch (context=context at entry=0x55893e995270) at ../../../glib/gmain.c:3847
No locals.
#9  0x00007f92a47b91c8 in g_main_context_iterate (context=context at entry=0x55893e995270, block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at ../../../glib/gmain.c:3920
        max_priority = 100
        timeout = 0
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = 3
        fds = 0x55893eb14270
#10 0x00007f92a47b925c in g_main_context_iteration (context=context at entry=0x55893e995270, may_block=may_block at entry=1) at ../../../glib/gmain.c:3981
        retval = <optimized out>
#11 0x00007f92a3d9699d in g_application_run (application=0x55893e993140, argc=<optimized out>, argv=0x7ffcb5ff8b88) at ../../../gio/gapplication.c:2470
        arguments = 0x55893e992c40
        status = 0
        context = 0x55893e995270
        acquired_context = 1
        __FUNCTION__ = "g_application_run"
#12 0x000055893e723906 in gitg_main_main (args=0x7ffcb5ff8b88, args_length1=1) at ../gitg/gitg.vala:42
        result = 0
        _tmp0_ = <optimized out>
        _tmp1_ = <optimized out>
        _tmp2_ = 0x0
        app = 0x55893e993140
        _tmp3_ = 0x55893e993140
#13 0x00007f92a387509b in __libc_start_main (main=0x55893e6cfe20 <main>, argc=1, argv=0x7ffcb5ff8b88, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcb5ff8b78) at ../csu/libc-start.c:308
        self = <optimized out>
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -1223258922303324389, 94047946210864, 140723361909632, 0, 0, -4905251883535794405, -4958138184831697125}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7ffcb5ff8b98, 0x7f92a4a06190}, data = {prev = 0x0, cleanup = 0x0, canceltype = -1241543784}}}
        not_first_call = <optimized out>
#14 0x000055893e6cfe5a in _start () at ../gitg/gitg.vala:27
No symbol table info available.




set width 0
set pagination off
bt




########



cd /home/benutzer/source/gtksourceview3
cp orig try1 -a
cd try1/gtksourceview3-3.24.9
wget https://gitlab.gnome.org/GNOME/gtksourceview/commit/06a9d3751c808870dc72e470700693d01f4fc284.patch -O ../06a9d3751c808870dc72e470700693d01f4fc284.patch
patch -p1 < ../06a9d3751c808870dc72e470700693d01f4fc284.patch
dpkg-buildpackage -b

dpkg -i /home/benutzer/source/gtksourceview3/try1/{libgtksourceview-3.0-1_3.24.9-2_amd64.deb,libgtksourceview-3.0-1-dbgsym_3.24.9-2_amd64.deb,libgtksourceview-3.0-common_3.24.9-2_all.deb}





https://gitlab.gnome.org/GNOME/gtksourceview/issues/54
https://gitlab.gnome.org/GNOME/gtksourceview/issues/30

https://gitlab.gnome.org/GNOME/gtksourceview/commit/54e48e9c45e0ccef4d8fd8f5b9a8660aa6b0ae0b    # master
https://gitlab.gnome.org/GNOME/gtksourceview/commit/06a9d3751c808870dc72e470700693d01f4fc284    # 3.24





More information about the pkg-gnome-maintainers mailing list