From: Guido S. <__g...@we...> - 2005-05-30 16:41:07
|
Those changes break it for me: 19-May-2005 ~~~~~~~~~~~ Clean up of icon theme handling (Stephen Watson). Sympton when trying to open a SaveBox: no SaveBox, 100% CPU ad infinitum 18-May-2005 is OK. (gtk-2.6.4 pygtk-2.6.2) |
From: Stephen W. <st...@ke...> - 2005-05-30 16:46:48
|
Guido Schimmels <__g...@we...> wrote: > > Those changes break it for me: > > 19-May-2005 > ~~~~~~~~~~~ > Clean up of icon theme handling (Stephen Watson). > > > Sympton when trying to open a SaveBox: > no SaveBox, 100% CPU ad infinitum Running what? > 18-May-2005 is OK. > > (gtk-2.6.4 pygtk-2.6.2) Archive works with gtk 2.4 and pygtk 2.4 Any body else with 2.6? -- Stephen Watson http://www.kerofin.demon.co.uk/ If you read this on a mailing list, send any reply back to the list and not to me. Not even CC. You would make a good dalek |
From: Guido S. <__g...@we...> - 2005-05-30 18:41:37
|
On Mon, 30 May 2005 17:46:44 +0100 Stephen Watson <st...@ke...> wrote: > Guido Schimmels <__g...@we...> wrote: > > > > > Those changes break it for me: > > > > 19-May-2005 > > ~~~~~~~~~~~ > > Clean up of icon theme handling (Stephen Watson). > > > > > > Sympton when trying to open a SaveBox: > > no SaveBox, 100% CPU ad infinitum > > Running what? Edit, Archive, anything... |
From: Ken H. <ke...@ha...> - 2005-05-30 19:19:23
|
On Mon, May 30, 2005 9:46 am, Stephen Watson said: > Guido Schimmels <__g...@we...> wrote: > >> >> Those changes break it for me: >> >> 19-May-2005 >> ~~~~~~~~~~~ >> Clean up of icon theme handling (Stephen Watson). >> >> >> Sympton when trying to open a SaveBox: >> no SaveBox, 100% CPU ad infinitum > > Running what? > >> 18-May-2005 is OK. >> >> (gtk-2.6.4 pygtk-2.6.2) > > Archive works with gtk 2.4 and pygtk 2.4 Any body else with 2.6? Yup. No problems here. gtk 2.6.7, pygtk 2.6.1 |
From: Stephen W. <st...@ke...> - 2005-05-30 19:30:48
|
"Ken Hayber" <ke...@ha...> wrote: > On Mon, May 30, 2005 9:46 am, Stephen Watson said: > > Guido Schimmels <__g...@we...> wrote: > > > >> > >> Those changes break it for me: > >> > >> 19-May-2005 > >> ~~~~~~~~~~~ > >> Clean up of icon theme handling (Stephen Watson). > >> > >> > >> Sympton when trying to open a SaveBox: > >> no SaveBox, 100% CPU ad infinitum > > > > Running what? > > > >> 18-May-2005 is OK. > >> > >> (gtk-2.6.4 pygtk-2.6.2) > > > > Archive works with gtk 2.4 and pygtk 2.4 Any body else with 2.6? > > Yup. No problems here. gtk 2.6.7, pygtk 2.6.1 It might be theme related then. -- Stephen Watson http://www.kerofin.demon.co.uk/ If you read this on a mailing list, send any reply back to the list and not to me. Not even CC. I'm really glad that worked. Those would have been terrible last words. |
From: Ken H. <ke...@ha...> - 2005-05-30 19:57:53
Attachments:
ken.vcf
|
Stephen Watson wrote: >"Ken Hayber" <ke...@ha...> wrote: > > > >>On Mon, May 30, 2005 9:46 am, Stephen Watson said: >> >> >>>Guido Schimmels <__g...@we...> wrote: >>> >>> >>> >>>>Those changes break it for me: >>>> >>>>19-May-2005 >>>>~~~~~~~~~~~ >>>>Clean up of icon theme handling (Stephen Watson). >>>> >>>> >>>>Sympton when trying to open a SaveBox: >>>> no SaveBox, 100% CPU ad infinitum >>>> >>>> >>>Running what? >>> >>> >>> >>>>18-May-2005 is OK. >>>> >>>>(gtk-2.6.4 pygtk-2.6.2) >>>> >>>> >>>Archive works with gtk 2.4 and pygtk 2.4 Any body else with 2.6? >>> >>> >>Yup. No problems here. gtk 2.6.7, pygtk 2.6.1 >> >> > >It might be theme related then. > > Oops, I spoke too soon. I had a slightly older version. Updated to the latest CVS and I get the following: *** glibc detected *** double free or corruption (fasttop): 0x081c3e28 *** (Archive) *** glibc detected *** double free or corruption (fasttop): 0x083241c8 *** (Edit Save as) I don't get the 100% cpu thing. The app just dies. |
From: Ken H. <ke...@ha...> - 2005-05-30 20:08:54
Attachments:
ken.vcf
|
Ken Hayber wrote: > Stephen Watson wrote: > >> "Ken Hayber" <ke...@ha...> wrote: >> >> >> >>> On Mon, May 30, 2005 9:46 am, Stephen Watson said: >>> >>> >>>> Guido Schimmels <__g...@we...> wrote: >>>> >>>> >>>> >>>>> Those changes break it for me: >>>>> >>>>> 19-May-2005 >>>>> ~~~~~~~~~~~ >>>>> Clean up of icon theme handling (Stephen Watson). >>>>> >>>>> >>>>> Sympton when trying to open a SaveBox: >>>>> no SaveBox, 100% CPU ad infinitum >>>>> >>>> >>>> Running what? >>>> >>>> >>>> >>>>> 18-May-2005 is OK. >>>>> >>>>> (gtk-2.6.4 pygtk-2.6.2) >>>>> >>>> >>>> Archive works with gtk 2.4 and pygtk 2.4 Any body else with 2.6? >>>> >>> >>> Yup. No problems here. gtk 2.6.7, pygtk 2.6.1 >>> >> >> >> It might be theme related then. >> >> > Oops, I spoke too soon. I had a slightly older version. Updated to > the latest CVS and I get the following: > > *** glibc detected *** double free or corruption (fasttop): 0x081c3e28 > *** (Archive) > *** glibc detected *** double free or corruption (fasttop): 0x083241c8 > *** (Edit Save as) > > I don't get the 100% cpu thing. The app just dies. > I commented out this line in icon_theme.py and it doesn't crash anymore (but the icon is broken) # self.gtk_theme.set_custom_theme(name) |
From: Ken H. <ke...@ha...> - 2005-05-30 20:22:12
Attachments:
ken.vcf
|
Ken Hayber wrote: > Ken Hayber wrote: > >> Stephen Watson wrote: >> >>> <snip> >> >> Oops, I spoke too soon. I had a slightly older version. Updated to >> the latest CVS and I get the following: >> >> *** glibc detected *** double free or corruption (fasttop): >> 0x081c3e28 *** (Archive) >> *** glibc detected *** double free or corruption (fasttop): >> 0x083241c8 *** (Edit Save as) >> >> I don't get the 100% cpu thing. The app just dies. >> > I commented out this line in icon_theme.py and it doesn't crash > anymore (but the icon is broken) > # self.gtk_theme.set_custom_theme(name) > Sorry, that was a red herring. It appears to be the line info.free() that causes the problem I'm seeing. BTW: by hardcoding 'ROX' as the theme name at the end of this module, I don't get my current theme displayed. I get the 'ROX' default theme. |
From: Stephen W. <st...@ke...> - 2005-05-30 20:57:06
|
Ken Hayber <ke...@ha...> wrote: > BTW: by hardcoding 'ROX' as the theme name at the end of this module, I > don't get my current theme displayed. I get the 'ROX' default theme. That was the old behaviour... We need a way to have ROX-Session record the current theme name. -- Stephen Watson http://www.kerofin.demon.co.uk/ If you read this on a mailing list, send any reply back to the list and not to me. Not even CC. I'm really glad that worked. Those would have been terrible last words. |
From: Guido S. <__g...@we...> - 2005-05-31 22:02:12
|
On Mon, 30 May 2005 20:30:44 +0100 Stephen Watson <st...@ke...> wrote: > "Ken Hayber" <ke...@ha...> wrote: > > > On Mon, May 30, 2005 9:46 am, Stephen Watson said: > > > Guido Schimmels <__g...@we...> wrote: > > > > > >> > > >> Those changes break it for me: > > >> > > >> 19-May-2005 > > >> ~~~~~~~~~~~ > > >> Clean up of icon theme handling (Stephen Watson). > > >> > > >> > > >> Sympton when trying to open a SaveBox: > > >> no SaveBox, 100% CPU ad infinitum > > > > > > Running what? > > > > > >> 18-May-2005 is OK. > > >> > > >> (gtk-2.6.4 pygtk-2.6.2) > > > > > > Archive works with gtk 2.4 and pygtk 2.4 Any body else with 2.6? > > > > Yup. No problems here. gtk 2.6.7, pygtk 2.6.1 > > It might be theme related then. No, I think I got it. In fact removing info.free() (good catch, Ken!) is the proper fix. This doesn't come at the expence of a leak, but is perfectly alright. And this is why: From the pygtk gtk-doc reference: <quote> class gtk.IconInfo(gobject.GBoxed): .... +-- gobject.GBoxed Description gobject.GBoxed is an abstract base class that encapsulates an opaque chunk of data to provide an object-oriented interface and a type that is registered with the GLIB type system. A boxed type is registered with functions that provide for the copying and freeing of the underlying data structure - this allows PyGTK to encapsulate these as Python objects. </quote> So gtk.IconInfo registers callbacks with the python interpreter. When the object is unreferenced gtk.IconInfo.free() is always implicitly been called. That fits perfectly with my investigation. I added a gc.collect() after info.free(), then *precisly on function exit* it would segfault. (Ken found out it's a double-free() - makes sense) This raises the question why the pygtk devs have implemented gtk.IconInfo.free() in the first place. When would you call it - won't it always wreak havoc? Probably there is a way to cancel gobject unboxing for a particular object instance? Anyway, the docs should contain a clear warning. |
From: Stephen W. <st...@ke...> - 2005-05-31 22:17:47
|
Guido Schimmels <__g...@we...> wrote: > This raises the question why the pygtk devs have implemented gtk.IconInfo.free() in the first place. > When would you call it - won't it always wreak havoc? > Probably there is a way to cancel gobject unboxing for a particular object instance? > Anyway, the docs should contain a clear warning. What the docs actually say, at http://www.moeraki.com/pygtkreference/pygtk2reference/class-gtkicontheme.html#method-gtkicontheme--lookup-icon is that you *should* use gtk.IconInfo.free(). Anybody care to pass this one on to the pygtk maintainers? This bit is a note to myself: when you wake up, and are sober, fix this. -- Stephen Watson http://www.kerofin.demon.co.uk/ If you read this on a mailing list, send any reply back to the list and not to me. Not even CC. Lots of planets have a north |
From: Ken H. <ke...@ha...> - 2005-06-01 00:28:57
|
On Tue, May 31, 2005 3:17 pm, Stephen Watson said: > Guido Schimmels <__g...@we...> wrote: > >> This raises the question why the pygtk devs have implemented > gtk.IconInfo.free() in the first place. >> When would you call it - won't it always wreak havoc? >> Probably there is a way to cancel gobject unboxing for a particular >> object > instance? >> Anyway, the docs should contain a clear warning. > > What the docs actually say, at > http://www.moeraki.com/pygtkreference/pygtk2reference/class-gtkicontheme.html#method-gtkicontheme--lookup-icon > is that you *should* use gtk.IconInfo.free(). Well as I read it, it is just a straight copy/edit from http://developer.gnome.org/doc/API/2.0/gtk/GtkIconTheme.html#gtk-icon-theme-lookup-icon I agree more with Guido that it either is a bug, or it should not exist in pygtk due to garbage collection. >Anybody care to pass this one on to the pygtk maintainers? Consider it (http://bugzilla.gnome.org/show_bug.cgi?id=306095) reported. |
From: Ken H. <ke...@ha...> - 2005-06-01 13:39:24
Attachments:
ken.vcf
|
Ken Hayber wrote: >On Tue, May 31, 2005 3:17 pm, Stephen Watson said: > > >>Guido Schimmels <__g...@we...> wrote: >> >> >>>Anyway, the docs should contain a clear warning. >>> >>> >>What the docs actually say, at >>http://www.moeraki.com/pygtkreference/pygtk2reference/class-gtkicontheme.html#method-gtkicontheme--lookup-icon >>is that you *should* use gtk.IconInfo.free(). >> >> > >Well as I read it, it is just a straight copy/edit from >http://developer.gnome.org/doc/API/2.0/gtk/GtkIconTheme.html#gtk-icon-theme-lookup-icon > >I agree more with Guido that it either is a bug, or it should not exist in >pygtk due to garbage collection. > > > >>Anybody care to pass this one on to the pygtk maintainers? >> >> > >Consider it (http://bugzilla.gnome.org/show_bug.cgi?id=306095) reported. >tps://lists.sourceforge.net/lists/listinfo/rox-devel > > FYI - http://bugzilla.gnome.org/show_bug.cgi?id=306095 pygtk | gtk | Ver: 2.6.x John Finlay changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW everconfirmed|0 |1 ------- Additional Comments From John Finlay 2005-06-01 06:06 ------- Seems like the free() method is not needed and should not be used. This likely applies to other boxed types as well e.g. IconSource. |
From: Ken H. <ke...@ha...> - 2005-07-30 15:13:00
|
Ken Hayber wrote: > Ken Hayber wrote: > >> On Tue, May 31, 2005 3:17 pm, Stephen Watson said: >> >> >>> Guido Schimmels <__g...@we...> wrote: >>> >>> >>>> Anyway, the docs should contain a clear warning. >>>> >>> >>> What the docs actually say, at >>> http://www.moeraki.com/pygtkreference/pygtk2reference/class-gtkicontheme.html#method-gtkicontheme--lookup-icon >>> >>> is that you *should* use gtk.IconInfo.free(). >>> >> >> >> Well as I read it, it is just a straight copy/edit from >> http://developer.gnome.org/doc/API/2.0/gtk/GtkIconTheme.html#gtk-icon-theme-lookup-icon >> >> >> I agree more with Guido that it either is a bug, or it should not >> exist in >> pygtk due to garbage collection. >> >> >> >>> Anybody care to pass this one on to the pygtk maintainers? >>> >> >> >> Consider it (http://bugzilla.gnome.org/show_bug.cgi?id=306095) reported. >> tps://lists.sourceforge.net/lists/listinfo/rox-devel >> >> > FYI - > > http://bugzilla.gnome.org/show_bug.cgi?id=306095 > pygtk | gtk | Ver: 2.6.x > > John Finlay changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > > Status|UNCONFIRMED |NEW > everconfirmed|0 |1 > > > > ------- Additional Comments From John Finlay 2005-06-01 06:06 ------- > Seems like the free() method is not needed and should not be used. This > likely > applies to other boxed types as well e.g. IconSource. > > > Fixed! ------- Additional Comments From Gustavo Carneiro 2005-07-30 15:07 ------- fixed in cvs: * gtk/gtk.override (_wrap_gtk_icon_source_free) (_wrap_gtk_requisition_free, _wrap_gtk_tree_iter_free) (_wrap_gtk_tree_row_reference_free, _wrap_gtk_border_free): Override free() methods of boxed types to make them do nothing and issue a deprecation warning. Fixes Bug 306095: In pygtk 2.6.x calling free() on GtkIconInfo object causes a double free or corruption error. |
From: Ken H. <ke...@ha...> - 2005-05-30 21:41:58
Attachments:
ken.vcf
|
Stephen Watson wrote: >Ken Hayber <ke...@ha...> wrote: > > > >>BTW: by hardcoding 'ROX' as the theme name at the end of this module, I >>don't get my current theme displayed. I get the 'ROX' default theme. >> >> > >That was the old behaviour... We need a way to have ROX-Session record the >current theme name. > > > Well, there's dbus and .config/ROX-Session/Settings.xml. Why not just parse the latter - assuming you don't want to add a dbus requirement to ROX-Lib2? |
From: Stephen W. <st...@ke...> - 2005-05-30 22:04:27
|
Ken Hayber <ke...@ha...> wrote: > Stephen Watson wrote: > > >Ken Hayber <ke...@ha...> wrote: > > > > > > > >>BTW: by hardcoding 'ROX' as the theme name at the end of this module, I > >>don't get my current theme displayed. I get the 'ROX' default theme. > >> > >> > > > >That was the old behaviour... We need a way to have ROX-Session record the > >current theme name. > > > > > > > Well, there's dbus and .config/ROX-Session/Settings.xml. Why not just > parse the latter - assuming you don't want to add a dbus requirement to > ROX-Lib2? It's not ROX-Lib2 I'm thinking of but the filer. Adding a dbus dependancy before it reaches 1.0 is something we want to avoid. We also want to avoid two programs reading one config file because of synchonization issues. -- Stephen Watson http://www.kerofin.demon.co.uk/ If you read this on a mailing list, send any reply back to the list and not to me. Not even CC. Strange as I seem I'm getting stranger by the minute |