[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

too many contacts? part III (longish)



Dear Sirs:

        I am still semi clueless to what the problem is :

        To sum it up, the tree editor (every node of the tree is a
contact) which worked fine with clue-1-13, does not run correctly with
clue1-15.

        The original problem:
        ====================

        Read in a large tree (creates and tries to map many nodes) and
the server crashes.



        A server crash can also be reproduced with by loading several small
trees.

        My initial inclination was that the problem might be related to the
number windows mapped.

        I wrote a clx program that created and mapped a window for
every button-press.  I generated up to 1485 windows at various speeds,
i.e. varying times between button-presses.  This only slowed down the
server.  Afterthought revealed that since the program worked fine with
clue-1-13, neither the server or clx _should_ be a fault.

        So, I decided to reproduce the clx program using clue, mapping
contacts with every button press.  After various it seemed that
"crashing the client" (apparently rendering the client insensitive to
input) was a function of how fast you create contacts
-- observed from one button-press maps one client.  If you pressed the
button slow enough, you could create indefinite numbers of contacts.

        Further experimentation, since traces did not provide any
seeable cause, just the usual jazz:

 5112 MapWindow (8) length 8
 5113 CreateWindow (1) length 44
 5114 ChangeProperty (18) length 28
 5115 MapSubwindows (9) length 8
 5116 MapWindow (8) length 8

        which looked for the most part correct, as far as I could
tell.

        Experimentation with the number of clients created per
button-press revealed that I could create no more than 44 contacts at
one time.  This number comes off of both the sun2 and sun3 X11R3
servers.  A request for more than 44 contacts would result in the
mapping of 44 contacts, and the inablit to map contacts during the
life time of the program.  Likewise two button-presses, each mapping
25 contacts, will yield the same result.  So what was previously
misconstrued as crashing the client may have just been inability to
map contacts.

        Is 44 a magic number for any one else?  Why would this appear
in clue-1-15 and not in clue-1-13.  How do I fix this, or better yet
what are some straws I can grasp at?

        If someone can duplicate my "44 max contacts" problem, I could
know it's not just something peculiar to our stuff.  I can send the
code that generated 44 as a max # if anyone's willing to try it out.

        Note, I still cannot quite isolate what causes the X11R3
server to crash, but I assume the number of contacts has some hand in
this.

        Thanx.

        Forrest

        NIST