[25878] in Athena Bugs

home help back first fref pref prev next nref lref last post

Re: linux 9.3.8: gconf race condition

daemon@ATHENA.MIT.EDU (Jacob Morzinski)
Tue Jul 27 21:19:16 2004

Date: Tue, 27 Jul 2004 21:18:29 -0400 (EDT)
From: Jacob Morzinski <jmorzins@mit.edu>
To: Greg Hudson <ghudson@mit.edu>
In-Reply-To: <1090645864.16991.50.camel@egyptian-gods.mit.edu>
Message-ID: <Pine.GSO.4.55L.0407272054520.3050@multics.mit.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
cc: bugs@mit.edu
Errors-To: bugs-bounces@mit.edu

On Sat, 24 Jul 2004, Greg Hudson wrote:
> Thanks for doing research on this.  I've known about the bug for a while
> but have not been able to make any headway on it.

I think I have a minimal test case to reproduce this.
On machines or accounts where the problem shows up, you can do
the following steps to see the problem.  (I did this testing as
user "sipbtest" on the machine opus.mit.edu.)

Log in with a "terminal-style" session.  (Option F3, from xlogin).
Run:
   twm &
      because windowmanagers are a good thing.
   gconftool-2 /desktop/gnome/font_rendering/dpi -s 60 -t float
      which will cause gnome-terminals to use a very small font.
   gnome-terminal &
      and observe that it uses machine-local fonts.
   gnome-settings-daemon &
      I don't know what this command does.
   gnome-terminal &
      and observe that it uses the very small font set above.


When you are done, run
   gconftool-2 /desktop/gnome/font_rendering/dpi -s 96 -t float
to return the account's fonts to their default DPI.


My guess is that the race conditionm is caused by various gnome
applications starting up before gnome-settings-daemon has had a
chance to do whatever magic it is responsible for.


> It seems especially odd that new windows get the right font even though
> they are put up by the same gnome-terminal process.

Linux and Solaris seem to have dramatic differences in how they
deal with Gnome fonts.  In Linux, each new gnome-terminal window
gets fresh font information when it opens.  It doesn't matter
whether you choose "new window" from an existing gnome-terminal's
menu, or start a new gnome-terminal process from the shell... the
result is that the fresh window gets fresh font information.
In Solaris, all the gnome-terminals act like a single collective
process.  It doesn't matter whether you choose "new window" from
an existing gnome-terminal's menu, or start a new gnome-terminal
process from the shll... the result is that new windows use
exactly the same font information as existing gnome-terminals
have been using.  The only way to get fresh font information
is if there is no existing gnome-terminal.


I still have no idea where the gnome-terminal is getting its data
before gnome-settngs-daemon is run.  There's a bug in the OLC
queue that has curious paralels to this situation, which is part
of what is driving my interest here.  (A user gets HUGE fonts for
his terminal and for his gnome-panel and gnome-menus when he logs
in.  If he kills windows and re-creates them, the fonts return to
normal size for the duration of his login.  They go back go HUGE
when he logs out and in.  It only happens with his private
workstation.  It's user "bbohr" in olcr.)

-Jacob Morzinski

home help back first fref pref prev next nref lref last post