On Thu, Apr 28, 2011 at 08:15:03AM +0200, Jesús J. Guerrero Botella wrote:
> El día 28 de abril de 2011 01:49, Thomas Adam <tho...@fvwm.org> escribió:
> > On Thu, Apr 28, 2011 at 12:09:10AM +0200, Jesús J. Guerrero Botella wrote:
> >> Hello.
> >>
> >> I am experiencing an odd problem when I use FvwmButtons in conjunction
> >> with RootTransparent based colorsets. If I specify a global one for
> >> the panel everything seems ok. The problem starts when I want to use a
> >> different (also transparent) colorset in a given cell. Then, on
> >> Restart, FvwmButtons doesn't die, instead it starts consuming cpu time
> >> like mad, and I can see that a new FvwmButtons piles up in the htop
> >> list.
> >>
> >> I have been able to reproduce this problem with the attached config,
> >> which I think is minimal enough.
> >>
> >> The process is as follows:
> >> 1.- use the attached config
> >> 2.- make sure the first line points to a valid image, otherwise the
> >> transparency won't work, and the bug won't show up
> >> 3.- start fvwm
> >> 4.- restart many times
> >> 5.- keep an eye in htop, top or whatever you use
> >>
> >> Can anyone else reproduce this on fvwm 2.6.1/2.7?
> >
> > Does the patch attached help?
> 
> Yes, Thomas. It seems to completely fix the issue I was having. Thank you.

This isn't anything new -- this has always had the ability to crop up, and
I'm surprised it hasn't sooner, especially in 2.5.X.  The problem was that
the DeadPipeCleanup() happens when we exit -- which FVWM has doing, both at
restart and exit of FVWM directly [1] which invoked DeadPipeCleanup().
Unfortunately, because of your "unique" button, we kept the grab open to the
XServer whilst we cleaned up, which is not what we want to do in this case.
We might still want to grab if we need to reparented swallowed applications
though.

So I'll let this patch float around for a bit.  If you could give it
some more testing though, with different FvwmButtons configurations, I'd
appreciate that.

I don't really want to commit anything until the migtation to Git has been
more formalised.

-- Thomas Adam

[1]  Remember that modules are destroyed across restarts, their
     communicating pipes closed.

Reply via email to