tom@ICASE.EDU (Tom Crockett) (12/14/88)
X Window System Bug Report
xbugs@expo.lcs.mit.edu
VERSION:
R3 + fixes 1-2 + Purdue-speedups
CLIENT MACHINE and OPERATING SYSTEM:
Sun 3/50 running SunOS 3.5
DISPLAY:
Sun BW2
WINDOW MANAGER:
awm
AREA:
awm from R3 contrib distribution + patch08
SYNOPSIS:
Awm aborts when using the -e option to initiate an X session.
DESCRIPTION:
The command "xinit awm -e .xinitrc" or anything roughtly equivalent fails
due to awm dumping core. This is only observed to occur if awm is used to
start all other initial clients on the display. If any other clients
create windows before "awm -e" is invoked, the problem is not seen. The
problem is also seen using "xdm" if "awm -e" is used to start the
remaining clients.
REPEAT BY:
Try "xinit awm -e .xinitrc". It always fails on our system. Other users
with different configurations report that they do not see the problem.
However, it seems likely that the bug still exists, but is not causing a
fatal error on those systems.
SAMPLE FIX:
The code seems to be making a poor assumption about what will be returned
from XQueryTree in the case when there are no children of the root window.
The following patch took care of the problem for us.
*** /tmp/awm.c Tue Dec 13 11:09:15 1988
--- awm.c Tue Dec 13 11:10:42 1988
***************
*** 383,389 ****
XSelectInput(dpy, kiddies[i], event_mask);
}
}
! if( *kiddies )
XFree(kiddies);
}
/*
--- 383,389 ----
XSelectInput(dpy, kiddies[i], event_mask);
}
}
! if (nkids)
XFree(kiddies);
}
/*