GNOME Bugzilla – Bug 478175
Typo in /usr/share/gedit-2/taglist/HTML.tags.gz cause gedit crash
Last modified: 2019-03-23 20:47:26 UTC
[ From http://bugs.debian.org/443108 by LI Daobing ] "$ zgrep -C 1 -n begin /usr/share/gedit-2/taglist/HTML.tags.gz | head -12 93394- <Tag name="HTML version"> 93395: <begin>version=</begin> 93396- </Tag> -- 94526- <Tag name="HTML version" xml:lang="af"> 94527: <begin>version=</begin> 94528- </Tag> -- 95658- <Tag name="HTML version" xml:lang="am"> 95659: <begin>version=</begin> 95660- </Tag> -- $ all these `begin' should be `Begin', which can cause gedit crash when insrt `HTML version' tag into a txt. following is the crash information. sys:1: GtkWarning: real_set_mark: assertion `_gtk_text_iter_get_btree (where) == tree' failed sys:1: GtkWarning: Invalid text buffer iterator: either the iterator is uninitialized, or the characters/pixbufs/widgets in the buffer have been modified since the iterator was created. You must use marks, character numbers, or line numbers to preserve a position across buffer modifications. You can apply tags and insert marks without invalidating your iterators, but any mutation that affects 'indexable' buffer contents (contents that can be referred to by character offset) will invalidate all outstanding iterators Gtk-ERROR **: file /tmp/buildd/gtk+2.0-2.10.13/gtk/gtktextbtree.c: line 1535 (_gtk_text_btree_find_line_top): should not be reached aborting..." Partial backtrace:
+ Trace 163848
Thread 1 (Thread 0xb6d956b0 (LWP 2980))
Apart from the typo in the tags xml file, the crash is due to the following silly error in the parser, which causes the parser to not drop invalid tags... - if ((tag->begin == NULL) && (tag->end = NULL)) + if ((tag->begin == NULL) && (tag->end == NULL)) I've fixed both the parser and the lang file now. Thanks a lot for the report!