Revisited: firefox and xemacs locking up/crashing "in pairs"???

Palle Girgensohn girgen at pingpong.net
Sun Mar 28 16:39:00 PST 2004


Hi,

Remember this old thread? It's been a while, I've been running firebird 
0.6.1, rock stable, since higher versions crash.

I just updated firefox again, to 0.8_4, to see if this has changed, and I 
think I have pinned down what causes the error, although I still can't 
understand why.

It is the bitmapped fonts from the XFree86-75dpi | 100dpi packages, that 
firefox cannot stand. Removing those directories from the system's root 
fonts.cache-1 file makes the problem go away.

Details:

Firefox >= 0.7 crashes often, and sometimes xemacs freezes as this happens.

I have a standard X setup (well right now the X server is 3.3.99 snap, but 
it wasn't before, and this has nothing to do with it). I use xfs for 
serving all fonts, but this seems also to be beside the point - AFAIKT, 
firefox uses fontconfig/freetype2 and not X for font rendering, right?

Fresh FreeBSD 4 stable. Latest versions from the ports collection, tried 
rebuilding and force install the X font packages from ports, didn't help.

When installing fontconfig, it runs fc-cache -f --system-only, and this 
creates a /usr/X11R6/lib/fonts/fonts.cache-1. This file contains, among 
others, the lines
"75dpi" 0 ".dir"
"100dpi" 0 ".dir"

Now, removing these two lines from /usr/X11R6/lib/fonts/fonts.cache-1 makes 
firefox a nice boy, no more crashing.


This small html file crashes firefox for me. Truss(1) informs me that the 
Times font is taken from the 100dpi folder.

-----
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Hi</title>
    <style type="text/css">
      BODY {
        font-family: "Times", sans-serif;
      }
    </style>
  </head>

  <body>
    <h1>Hi</h1>
    <p>
      Hello world
    </p>
  </body>
</html>
----

Altering "Times" to something else, like "Verdana" helps, of course, since 
Verdana  corresponds to a scalable font file.

Any ideas about this? A workaround, using some simple fonts.conf magic, is 
obvious, but why is this happening, and is it only me?  I have the same 
problem in two different locations, office and home. At the office, X11R6 
is NFS-exported, and the problem happens to everybody.

mozilla 1.6 fetches the fonts the same way, according to truss, but does 
not crash... fire(bird|fox) version 0.7 and up all show the same fault. 
firebird <= 0.6.1 are OK.

Regards,
Palle

sigreturn(0xbfbfd304)                            ERR#32 'Broken pipe'
open("/usr/X11R6/lib/X11/fonts/100dpi/timR12.pcf.gz",0x0,00) = 33 (0x21)
fcntl(0x21,0x3,0x0)                              = 0 (0x0)
fcntl(0x21,0x4,0x4)                              = 0 (0x0)
fstat(33,0xbfbfd3e0)                             = 0 (0x0)
mmap(0x0,18937,0x1,0x2,33,0x0)                   = 1242542080 (0x4a0fb000)
fstat(33,0xbfbfd320)                             = 0 (0x0)
fcntl(0x21,0x3,0x0)                              = 4 (0x4)
fcntl(0x21,0x4,0x0)                              = 0 (0x0)
close(33)                                        = 0 (0x0)
munmap(0x4a0fb000,0x49f9)                        = 0 (0x0)
SIGNAL 27
SIGNAL 27
gettimeofday(0x488f8c08,0x0)                     = 0 (0x0)
sigprocmask(0x3,0x488f8c78,0x0)                  = 0 (0x0)
poll(0x8068000,0x1,0x0)                          = 0 (0x0)
sigreturn(0xbfbfd2b4)                            ERR#-5 'Unknown error: -5'
open("/usr/X11R6/lib/X11/fonts/100dpi/timR12.pcf.gz",0x0,00) = 33 (0x21)
fcntl(0x21,0x3,0x0)                              = 0 (0x0)
fcntl(0x21,0x4,0x4)                              = 0 (0x0)
fstat(33,0xbfbfd3e0)                             = 0 (0x0)
mmap(0x0,18937,0x1,0x2,33,0x0)                   = 1242542080 (0x4a0fb000)
fstat(33,0xbfbfd320)                             = 0 (0x0)
fcntl(0x21,0x3,0x0)                              = 4 (0x4)
fcntl(0x21,0x4,0x0)                              = 0 (0x0)
close(33)                                        = 0 (0x0)
munmap(0x4a0fb000,0x49f9)                        = 0 (0x0)
sigprocmask(0x3,0x488f8c78,0x0)                  = 0 (0x0)
unlink(0x81b6ac0)                                = 0 (0x0)
setitimer(0x2,0xbfbfd600,0x0)                    = 0 (0x0)
close(3)                                         = 0 (0x0)
close(5)                                         = 0 (0x0)
fcntl(0x0,0x3,0x0)                               = 2 (0x2)
fcntl(0x0,0x4,0x2)                               = 0 (0x0)
fcntl(0x1,0x3,0x0)                               = 2 (0x2)
fcntl(0x1,0x4,0x2)                               = 0 (0x0)
fcntl(0x2,0x3,0x0)                               = 2 (0x2)
fcntl(0x2,0x4,0x2)                               = 0 (0x0)
fcntl(0x7,0x3,0x0)                               = 6 (0x6)
fcntl(0x7,0x4,0x2)                               = 0 (0x0)
fcntl(0xc,0x3,0x0)                               = 4 (0x4)
fcntl(0xc,0x4,0x0)                               = 0 (0x0)
fcntl(0xd,0x3,0x0)                               = 4 (0x4)
fcntl(0xd,0x4,0x0)                               = 0 (0x0)
fcntl(0xe,0x3,0x0)                               = 4 (0x4)
fcntl(0xe,0x4,0x0)                               = 0 (0x0)
fcntl(0xf,0x3,0x0)                               = 4 (0x4)
fcntl(0xf,0x4,0x0)                               = 0 (0x0)
fcntl(0x10,0x3,0x0)                              = 4 (0x4)
fcntl(0x10,0x4,0x0)                              = 0 (0x0)
fcntl(0x11,0x3,0x0)                              = 4 (0x4)
fcntl(0x11,0x4,0x0)                              = 0 (0x0)
fcntl(0x12,0x3,0x0)                              = 4 (0x4)
fcntl(0x12,0x4,0x0)                              = 0 (0x0)
fcntl(0x13,0x3,0x0)                              = 4 (0x4)
fcntl(0x13,0x4,0x0)                              = 0 (0x0)
fcntl(0x14,0x3,0x0)                              = 4 (0x4)
fcntl(0x14,0x4,0x0)                              = 0 (0x0)
fcntl(0x15,0x3,0x0)                              = 4 (0x4)
fcntl(0x15,0x4,0x0)                              = 0 (0x0)
fcntl(0x16,0x3,0x0)                              = 4 (0x4)
fcntl(0x16,0x4,0x0)                              = 0 (0x0)
fcntl(0x17,0x3,0x0)                              = 6 (0x6)
fcntl(0x17,0x4,0x2)                              = 0 (0x0)
fcntl(0x18,0x3,0x0)                              = 6 (0x6)
fcntl(0x18,0x4,0x2)                              = 0 (0x0)
fcntl(0x19,0x3,0x0)                              = 6 (0x6)
fcntl(0x19,0x4,0x2)                              = 0 (0x0)
fcntl(0x1a,0x3,0x0)                              = 6 (0x6)
fcntl(0x1a,0x4,0x2)                              = 0 (0x0)
fcntl(0x1b,0x3,0x0)                              = 6 (0x6)
fcntl(0x1b,0x4,0x2)                              = 0 (0x0)
fcntl(0x1f,0x3,0x0)                              = 4 (0x4)
fcntl(0x1f,0x4,0x0)                              = 0 (0x0)
fcntl(0x20,0x3,0x0)                              = 6 (0x6)
fcntl(0x20,0x4,0x2)                              = 0 (0x0)
exit(0xb)                                       process exit, rval = 2816
[1]+  Exit 11                 firefox
Profiling timer expired




More information about the freebsd-gnome mailing list