Argh. Didn't finish writing this. Richard M Kreuter writes: Greetings, I believe it turns out to be a fluke that a 64-bit motifd works anywhere: the server passes out 32-bits of a pointer as external IDs for instances of a handful of types [1]. On a 64-bit machine, the instances' addresses might not fit in a 32-bit address, though. (In fact, on my FreeBSD/amd64 machine, when I run the example from the documentation, the first shell widget always gets created at #x8045d8900, so motifd hands out #x45d8900, and then attempting to create the second widget with the shell as parent crashes the server.) Seems like there are two options: A. Change the wire protocol to accomodate 64-bit integers. B. Synthesize 32-bit identifiers for instances of the offending types. Option B seems simpler, I think. Does anybody have any notion of how better to do this than to add a table mapping pointers to some kind of opaque IDs at the message layer? Thanks, Richard [1] I think the complete list is AcceleratorTable, Atom, FontList, TranslationTable, Widget, and sometimes XmString.