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

2010-11-29 Thread Dick St. Peters
Nalin Dahyabhai writes:
> On Mon, Nov 29, 2010 at 04:37:05PM -0500, Dick St. Peters wrote:
> > 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.
> 
> It looks to me as though ltrace just doesn't "know" how many arguments
> memmove() takes, and this can be fixed with a quick change to
> /etc/ltrace.conf.  I went ahead and opened bug #658311 about it.

Thank you for the explanation.  I'm relieved that there is one.

I didn't know ltrace got the arg counts and types from a conf file,
but I see /etc/ltrace.conf is mentioned in the ltrace man page.

Now I can go back to pursuing why /usr/bin/Xorg dies.

--
Dick St. Peters, stpet...@netheaven.com 
Gatekeeper, NetHeaven, Saratoga Springs, NY
-- 
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines


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

2010-11-29 Thread Nalin Dahyabhai
On Mon, Nov 29, 2010 at 04:37:05PM -0500, Dick St. Peters wrote:
> 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.

It looks to me as though ltrace just doesn't "know" how many arguments
memmove() takes, and this can be fixed with a quick change to
/etc/ltrace.conf.  I went ahead and opened bug #658311 about it.

HTH,

Nalin
-- 
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines


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

2010-11-29 Thread stan
On Mon, 29 Nov 2010 16:37:05 -0500
stpet...@netheaven.com (Dick St. Peters) wrote:

> 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.

I know nothing about X, but if it is written in C++ it is possible that
the function has been overridden in a class.  You would have to look in
the source to see if this is true.  i.e. the memmove you are looking at
might not be the generic C memmove as documented in man memmove.
-- 
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines


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

2010-11-29 Thread Dick St. Peters
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, stpet...@netheaven.com 
Gatekeeper, NetHeaven, Saratoga Springs, NY
-- 
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines