brossard%litsun.epfl.ch@MITVMA.MIT.EDU (Alain Brossard) (11/01/89)
[Sent: Wed. 01/Nov./89 Time: 09:45]
I have been tracing a bug with awm or Xlib and it is taking a
lot more time than I have. I hope somebody else has fixed it:
I have the following in my .Xressource file:
awm.icon.labels: off
Which basically says to use text icons rather than bitmap icons.
Except that it doesn't always work. I finally established the following:
1- start awm and icons are ok
2- create xterm window: icon ok
3- kill xterm window
4- create xterm window: icon are bitmaps from now on.
I decided to pursue point 4 and find what had changed rather than
follow point 3 and try to find what it did wrong.
In file awm.c, in function RegisterWindow(), there is the following
call:
if (cp = (XGetDefault(dpy, clh.res_class, "wm_option.icon.labels")))
tmp->attrs = SetOptFlag(tmp->attrs, AT_ICONLABEL, Pred(cp));
After having killed one xterm window, XGetDefault suddenly
returns true with cp pointing to "on" while before it always returned
false. A check on dpy and clh.res_class revealed no changes so I traced
XGetDefault and we find the following:
XrmGetResource(dpy->db, temp, "Program.Name", &type, &result);
None of the variables of XGetDefault have changed so I tried to
use dbx on XrmGetResource, again no change on any of the variable so
I followed the call to:
result = XrmQGetResource(db, names, classes, &fromType, pValue);
Which is suddenly true, XrmQGetResource() calls GetEntry
which is recursive with a big macro inside. I traced the first 3 levels
of recursion without seeing any changes and ran out of time.
Has somebody seen this problem before? And hopefully is there
a fix?
I'm using X11R3, patch level 10 on SunOS 3.5 on a SUN 3/60.
At this point I can only advance two guesses:
1- memory corruption or
2- some kind of pointer screwup on the kill window.
I don't know whether the problem is in Xlib or in awm, but I
would guess it is in awm since it is XGetDefault which returns the
wrong result.
Alain Brossard
brossard@litsun.epfl.chbrossard%litsun.epfl.ch@MITVMA.MIT.EDU (Alain Brossard) (11/01/89)
[Sent: Wed. 01/Nov./89 Time: 10:31]
I have been tracing a bug with awm or Xlib and it is taking a
lot more time than I have. I hope somebody else has fixed it:
I have the following in my .Xressource file:
awm.icon.labels: off
Which basically says to use text icons rather than bitmap icons.
Except that it doesn't always work. I finally established the following:
1- start awm and icons are ok
2- create xterm window: icon ok
3- kill xterm window
4- create xterm window: icon are bitmaps from now on.
I decided to pursue point 4 and find what had changed rather than
follow point 3 and try to find what it did wrong.
In file awm.c, in function RegisterWindow(), there is the following
call:
if (cp = (XGetDefault(dpy, clh.res_class, "wm_option.icon.labels")))
tmp->attrs = SetOptFlag(tmp->attrs, AT_ICONLABEL, Pred(cp));
After having killed one xterm window, XGetDefault suddenly
returns true with cp pointing to "on" while before it always returned
false. A check on dpy and clh.res_class revealed no changes so I traced
XGetDefault and we find the following:
XrmGetResource(dpy->db, temp, "Program.Name", &type, &result);
None of the variables of XGetDefault have changed so I tried to
use dbx on XrmGetResource, again no change on any of the variable so
I followed the call to:
result = XrmQGetResource(db, names, classes, &fromType, pValue);
Which is suddenly true, XrmQGetResource() calls GetEntry
which is recursive with a big macro inside. I traced the first 3 levels
of recursion without seeing any changes and ran out of time.
Has somebody seen this problem before? And hopefully is there
a fix?
I'm using X11R3, patch level 10 on SunOS 3.5 on a SUN 3/60.
At this point I can only advance two guesses:
1- memory corruption or
2- some kind of pointer screwup on the kill window.
I don't know whether the problem is in Xlib or in awm, but I
would guess it is in awm since it is XGetDefault which returns the
wrong result.
Alain Brossard
brossard@litsun.epfl.chbrossard%litsun2.epfl.ch@MITVMA.MIT.EDU (Alain Brossard) (11/08/89)
[Sent: Wed. 08/Nov./89 Time: 10:48] > I have been tracing a bug with awm or Xlib and it is taking a > lot more time than I have. Since I haven't had any replies to my earlier posting, (am I the only who has this problem?) does anybody know where I can get the newest copy of awm, keeping in mind that in Europe we don't have access to ftp to the states. I don't mind going through an archive server, but then half the times if not more bitnet munches uuencoded files so... Alain Brossard PS Here is a reposting of my original query just in case: I have the following in my .Xressource file: awm.icon.labels: off Which basically says to use text icons rather than bitmap icons. Except that it doesn't always work. I finally established the following: 1- start awm and icons are ok 2- create xterm window: icon ok 3- kill xterm window 4- create xterm window: icon are bitmaps from now on. I decided to pursue point 4 and find what had changed rather than follow point 3 and try to find what it did wrong. In file awm.c, in function RegisterWindow(), there is the following call: if (cp = (XGetDefault(dpy, clh.res_class, "wm_option.icon.labels"))) tmp->attrs = SetOptFlag(tmp->attrs, AT_ICONLABEL, Pred(cp)); After having killed one xterm window, XGetDefault suddenly returns true with cp pointing to "on" while before it always returned false. A check on dpy and clh.res_class revealed no changes so I traced XGetDefault and we find the following: XrmGetResource(dpy->db, temp, "Program.Name", &type, &result); None of the variables of XGetDefault have changed so I tried to use dbx on XrmGetResource, again no change on any of the variable so I followed the call to: result = XrmQGetResource(db, names, classes, &fromType, pValue); Which is suddenly true, XrmQGetResource() calls GetEntry which is recursive with a big macro inside. I traced the first 3 levels of recursion without seeing any changes and ran out of time. Has somebody seen this problem before? And hopefully is there a fix? I'm using X11R3, patch level 10 on SunOS 3.5 on a SUN 3/60. At this point I can only advance two guesses: 1- memory corruption or 2- some kind of pointer screwup on the kill window. I don't know whether the problem is in Xlib or in awm, but I would guess it is in awm since it is XGetDefault which returns the wrong result. Alain Brossard brossard@litsun.epfl.ch