Floating point exception in wily when using Xft patch

  • From: Mark Johnathan Greenaway <mark@xxxxxxxxxxxx>
  • To: wilyfans@xxxxxxxxxxxxx
  • Date: Tue, 2 Mar 2004 21:54:18 +1100

I finally got around to applying the Xft patch for wily and getting it
to build, and it fails with a floating point exception (attempting to
divide by maxtab, which is 0):

markg@siouxsie:~/src/wily/wily-0.13.41/wily$ ./wily
XftFontOpenName('Nimbus Mono L:size=10') -> 0x80edc58
try
        rm /tmp/wilymarkg:0.0
        /tmp/wilymarkg:0.0: File exists
        Floating point exception

The backtrace is:
markg@siouxsie:~/src/wily/wily-0.13.41/wily$ gdb ./wily
GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-linux"...
(gdb) run
Starting program: /home/markg/src/wily/wily-0.13.41/wily/wily
XftFontOpenName('Nimbus Mono L:size=10') -> 0x80e96f0
try
        rm /tmp/wilymarkg:0.0
/tmp/wilymarkg:0.0: File exists
 
Program received signal SIGFPE, Arithmetic exception.
0x08052cab in columnate (totalwidth=0, tabwidth=0, f=0x809ea90, item=0x80fa0c8)
    at util.c:206
206             ntabs = biggest/tabwidth;
(gdb) bt
#0  0x08052cab in columnate (totalwidth=0, tabwidth=0, f=0x809ea90,
    item=0x80fa0c8) at util.c:206
#1  0x08055a67 in text_getdir (t=0x80dcb88, names=0x0) at text2.c:329
#2  0x08055b0e in text_refreshdir (t=0x80dcb88) at text2.c:347
#3  0x0804c912 in view_reshaped (v=0x80dd630, r=
        {min = {x = 0, y = 366}, max = {x = 576, y = 864}}) at vgeom.c:91
#4  0x08056ef4 in tile_reshaped (t=0x80f90d8) at tile.c:138
#5  0x080571d7 in list_reshaped (l=0x80eb3d0, tile=0x80f90d8) at tile.c:285
#6  0x08057000 in list_add (list=0x80eb3d0, tile=0x80f90d8) at tile.c:197
#7  0x08051750 in win_place (col=0x80eb3d0, tag=0x0, body=0x0) at win.c:74
#8  0x0805169a in win_new (path=0x0, tag=0x0, body=0x0) at win.c:50
#9  0x0804af95 in data_open (
    label=0x8085aa0 "/home/markg/src/wily/wily-0.13.41/wily/", create=false)
    at file.c:52
#10 0x0804ffb1 in args (argc=1, argv=0xbffff9d4, envp=0xbffff9dc) at wily.c:109
#11 0x08050249 in main (argc=0, argv=0x0, envp=0xbffff9dc) at wily.c:191
(gdb)

I did some digging, and found that the problem seems to stem from
XftTextExtent16 always returning 0 in all members of the XGlyphInfo
struct for all character values from 0 to 255 (I sat there and watched
it by setting appropriate breakpoints and hitting Enter a lot). This
happens in XFontStructtoSubfont in xtbinit.c.

I don't know enough about X and fonts and Xft to be able to understand
why this is. Could someone please give me a nudge in the right
direction?
-- 
Thanks in advance,
Mark

Other related posts:

  • » Floating point exception in wily when using Xft patch