This article is from the FAQ, by with numerous contributions by others.
This is due to a programming error in the Mjolner System interface to the X
toolkit. The error does not seem to influence programs linked under X11
release 5, but (at least) X11R6 on Linux encounters it.
To fix the error have your system administrator change some files:
1. In the file ~beta/Xt/v1.8/xtlib.bet, the definition of the pattern
argList should be changed to:
argList: cStruct
(# byteSize::< (# do 100->value #);
max: (# exit R.range div 2 #);
extend:
(# size: @integer;
enter size
do (if size=0 then R.range->size
else size-R.range->size;
if);
size->R.extend;
#);
set: @
(# number: @integer;
cStr: @integer;
value: @integer;
enter (number,cstr,value)
do (* Cannot check ranges since no GC's may occur.
* The user needs to do the bookkeeping himself
* using 'max' and 'extend'.
* The reason for this is that 'value' may be
* the computed address of an integer.
*)
cstr->R[number*2-1];
value->R[number*2]
#);
get: @
(# number: @integer;
enter number
exit R[number*2]
#);
getName: @
(# number: @integer;
t: ^text;
enter number
do r[2*number-1]->CStringToText->t[];
exit t[]
#);
#);
--- IntegerResourceGet: dopart ---
do (1,resourceName, @@value)->private.wargs.set;
(Thewidget,private.wargs[],1)->XtGetValues;
--- AncestorSensitiveGet: dopart ---
do (1,xtnancestorsensitive,@@value)->private.wargs.set;
(Thewidget,private.wargs[],1)->XtGetValues;
--- FloatResourceGet: descriptor ---
(# status,res: @integer
do (1,resourceName,@@value)->private.wargs.set;
(theWidget,private.wargs[],1)->XtGetValues;
resolution->res;
(@@value,res)->getQuotFromFloat->value
#)
--- MotifStringResourceGetText: descriptor ---
(# S: @MotifString;
do (1,resourceName,@@S.value)->Private.Wargs.Set;
(TheWidget,Private.Wargs[],1)->XtGetValues;
S.getText->t[];
S.destroy;
#)
--- MotifStringResourceGet: descriptor ---
(#
do (1,resourceName,@@value)->private.wargs.set;
(thewidget,private.wargs[],1)->XtGetValues;
#)
--- ProcResourceGet: descriptor ---
(#
do (1,resourceName,@@p)->private.wargs.set;
(Thewidget,private.wargs[],1)->XtGetValues;
#)
--- RowColumnLabelStringGetText: descriptor ---
(# S: @MotifString;
do (1,resourceName,@@S.value)->Private.Wargs.Set;
(TheWidget,Private.Wargs[],1)->XtGetValues;
S.getText->t[];
S.destroy;
#)
--- RowColumnLabelStringGet: descriptor ---
(#
do (1,resourceName,@@value)->private.wargs.set;
(thewidget,private.wargs[],1)->XtGetValues;
#)
 
Continue to: