Re: FVWM: Oddities in 2.4.16 - UPDATE

From: Dominik Vogt <dominik.vogt_at_gmx.de>
Date: Thu, 15 Jul 2004 15:08:30 +0200

On Thu, Aug 28, 2003 at 09:25:40AM +0200, fvwm-workers wrote:
> On Wed, Aug 27, 2003 at 11:33:31AM -0600, Dameron, Gregg wrote:
> > > > > Setup: fvwm 2.4.16, fvwm-themes 0.6.2 on Solaris 8,
> > > > > dual-head non-Xinerama.
> > > > >
> > > > > Since upgrading from 2.4.7, and with no substantial changes to
> > > > > my config (other than converting deprecated single-letter
> > > > > variables to their longer counterparts), I am seeing two
> > > > > intermittent startup problems.
> > [...]
> > > > > 2) Failure to execute the StartFunction and InitFunction on
> > > > > *one* of the displays. Fvwm2 and FvwmTheme are running, my Key
> > > > > and Mouse bindings are all fine, but none of the Modules started
> > > > > in StartFunction are running, nor is the process I "Exec" in
> > > > > InitFunction. Happens on about one-in-ten logins.
> > > > > Ctrl-Alt-Escape doesn't help; restarting is required. (On the
> > > > > opposite display, everything is fine.) Any help is appreciated.
> > >
> > > Experimenting has given more info on this second problem:
> > >
> > > a) The problem is much more likely to occur when the CPU and disk are
> > > under load. Under heavy load, it happens *every* login.
> > > b) When the problem occurs, it's always on the fvwm instance that is
> > > started first (I start each instance separately with -s and -d).
> > > c) No one Module is the culprit.
> > > d) Running fvwm with -debug doesn't help, and doesn't reveal any
> > > errors.
> > > e) When the problem occurs, I always get at least one beep (but no
> > > error).
> > > f) The problem *never* occurs if I delay the start of the second
> > > instance (either with a short sleep, or wait until one of the first
> > > instance's Modules [in StartFunction] has a PID). This suggests the
> > > possibility that there is a concurrence problem [...]
> >
> >
> > Found it. The failure is at line 1726 of fvwm/functions.c, in routine
> > execute_complex_function:
> >
> > if (!GrabEm(CRS_NONE, GRAB_NORMAL))
> >
> > so StartFunction and/or InitFunction fails. I'm guessing both fvwm
> > instances are trying to grab the pointer, but one of them can't. I see
> > the comment above it, so I understand the reasoning. I'm just wondering
> > - should StartFunction and InitFunction perhaps be immune from pointer
> > grab failures?
>
> At least they should wait until the pointer can be grabbed.

I've committed a patch that protects startup/shutdown function
execution with a pointer grab.

Ciao

Dominik ^_^ ^_^

 --
Dominik Vogt, dominik.vogt_at_gmx.de
Reply-To: dominik.vogt_at_gmx.de


--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_fvwm.org.
To report problems, send mail to fvwm-owner_at_fvwm.org.
Received on Thu Jul 15 2004 - 08:15:16 BST

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:37:56 BST