After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 133749 - Infinite loop in pango_attr_iterator_next
Infinite loop in pango_attr_iterator_next
Status: RESOLVED FIXED
Product: pango
Classification: Platform
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: pango-maint
pango-maint
Depends on:
Blocks:
 
 
Reported: 2004-02-07 19:32 UTC by Mariano Suárez-Alvarez
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Mariano Suárez-Alvarez 2004-02-07 19:32:42 UTC
I think pango_attr_iterator_next is going into an infinite loop. Reverting
the change done by 

    Thu Feb  5 16:30:46 2004  Owen Taylor  <otaylor@redhat.com>
                                                                          
                                        
        Fix problem with empty markup tags (#128102, Christian Persch)
                                                                          
                                        
        * pango/pango-context.c (itemize_state_process_run): Assert
        that the run is non-empty.
                                                                          
                                        
        * pango/pango-attributes.c (pango_attr_list_change):
        Just ignore empty attributes.
                                                                          
                                        
        * pango/pango-attributes.c (pango_attr_iterator_next):
        Skip empty attributes.

seems to fix it.
Comment 1 Owen Taylor 2004-02-08 00:02:44 UTC
How are you triggering this infinite loop?
Comment 2 Mariano Suárez-Alvarez 2004-02-08 00:13:36 UTC
Running gdm triggered it. If you can tell me what to look for, I can
do that attaching a gdb to it...
Comment 3 Jan Schmidt 2004-02-08 14:05:07 UTC
Here's a trace from gst-editor that is doing it too: 

0x40c227eb in pango_attr_iterator_next (iterator=0x82cc738) at
pango-attributes.c:1280
1280          if (((PangoAttribute
*)iterator->next_attribute->data)->end_index > iterator->start_index)
(gdb) bt
  • #0 pango_attr_iterator_next
    at pango-attributes.c line 1280
  • #1 pango_attr_list_get_iterator
    at pango-attributes.c line 1210
  • #2 pango_layout_check_lines
    at pango-layout.c line 2960
  • #3 pango_layout_get_extents_internal
    at pango-layout.c line 1884
  • #4 pango_layout_get_extents
    at pango-layout.c line 2009
  • #5 pango_layout_get_pixel_size
    at pango-layout.c line 2096
  • #6 gnome_canvas_text_set_property
    at gnome-canvas-text.c line 1089
  • #7 g_object_set_valist
    at gobject.c line 724
  • #8 gnome_canvas_item_construct
    at gnome-canvas.c line 295
  • #9 gnome_canvas_item_new
    at gnome-canvas.c line 203

The arguments gst-editor is using for gnome_canvas_item_new are:
224       item->title = gnome_canvas_item_new(GNOME_CANVAS_GROUP (citem),
225                                          
gnome_canvas_text_get_type(),
226                                           "font", "Sans",
227                                           "fill-color", "black",
228                                           NULL);
Comment 4 Kjartan Maraas 2004-02-09 00:23:33 UTC
I'm seeing this too. Doing 'exec jhbuild run gnome-session' in my
.Xclients and logging in through GDM.
Comment 5 Owen Taylor 2004-02-09 14:56:10 UTC
Could you test the change I just checked in?

Mon Feb  9 09:52:24 2004  Owen Taylor  <otaylor@redhat.com>
 
        * pango/pango-attributes.c (pango_attr_iterator_next): Fix
        infinite loop introduced with last change. (#133749,
        reported by Mariano Suárez-Alvarez)