memmove() with 5 arguments? (was F14 X server problem)

Dick St. Peters stpeters at NetHeaven.com
Mon Nov 29 21:37:05 UTC 2010


On Sun, 28 Nov 2010 19:33:54 -0500
I started this topic by saying:
> I need to run X with the fvwm window manager, but the F14 X server
> doesn't play nice with fvwm - or with twm.  When fvwm or twm calls
> XCreateFontSet(), the X server dies with a SIGSEGV.

> To get around this, I have copied the F13 /usr/bin/Xorg server binary
> and /usr/lib/xorg/modules directory contents to my F14 system, and
> they work just fine with the F14 fvwm, F14 X libraries, and F14 fonts.
> While this workaround works, it's not exactly a good long term fix.

> Note that this workaround means the problem is with the F14 X server
> or its loadable modules, not the F14 fvwm.

> When twm is used, it calls XCreateFontSet() with a base_font_name_list
> argument different from that in the fvwm XCreateFontSet() call, and
> the F14 server dies, so the problem is not the font asked for by fvwm.

This gets stranger and stranger ...

Before trying to dig into the X server code, I wanted some clues about
where to look, so I put this into root's .xserverrc:

    #!/bin/sh
    exec /usr/bin/ltrace /usr/bin/Xorg :0

I deleted root's .xinitrc, .fvwmrc, and .fvwm directory and, as root
(only root can ltrace /usr/bin/Xorg) I ran:

    xinit fvwm 2>/tmp/Xorg.out

The ltrace output in /tmp/Xorg.out has 176 calls to memmove(), all
with five arguments, like this example:

    memmove(0xa352c50, 0xa3535e0, 1648, 0x806892f, 0x40001c)

Can anyone shed some light on what is going on here?  The first three
arguments appear to be the usual three memmove() arguments: dest, src,
and count.  The extra two aren't documented anywhere I can find, and
memmove() has always been a three-argument function.

To further confuse things, memmove() isn't the only call with too many
arguments.  clock_gettime() is supposed to have two arguments, but
it's called 694 times with five arguments.  There may well be other
calls with strange argument counts, but the output has 371800 lines,
and I'm not up to examining all of them.

--
Dick St. Peters, stpeters at NetHeaven.com 
Gatekeeper, NetHeaven, Saratoga Springs, NY


More information about the users mailing list