Can someone explain what this means? I don't have a clue... not even when it's happening. I'd be happy to supply code, but I wouldn't even know where to start. 

Thanks.

More on the message:

```
com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript computed expression
Error while executing JavaScript computed expression
Erreur d'interpréteur de script, ligne=1, colonne=17 : [TypeError]     
Exception lors de l'appel de la méthode NotesXspDocument.getItemValueString(string)
Notes-Object of type org.openntf.domino.impl.Document is used across threads! 
This Thread: Thread[Thread-8,5,main] correct Thread: Thread[Thread-11,5,main]
Notes-Object of type org.openntf.domino.impl.Document is used across threads! 
This Thread: Thread[Thread-8,5,main] correct Thread: Thread[Thread-11,5,main]

java.lang.IllegalStateException: Notes-Object of type org.openntf.domino.impl.Document is used across threads! 
This Thread: Thread[Thread-8,5,main] correct Thread: Thread[Thread-11,5,main]

```

The document itself opens normally. The error occurs when I open a home-made value picker, that uses a jsonRpcService control.

And more:

I found the place where the NotesXspDocument.getItemValueString(string) was executed. It turned out to be in a DataContext variable that I could do without easily. The DataContext couldn't reload its value from the dominoDocument1 object (beats me why). Result: the Error 500 regarding the Thread stuff is no longer there, but I got a different one in exchange.

It only occurs when I use a Dojo dialog box, and an RPC control.

The new error: Error 400 Bad request.

Caused by: com.ibm.commons.util.io.json.JsonException: Chaîne littérale de classe com.ibm.jscript.types
.FBSUndefined inconnue
 at com.ibm.commons.util.io.json.JsonGenerator$Generator.outLiteral(JsonGenerator.java:169)
 at com.ibm.commons.util.io.json.JsonGenerator$Generator.outObject(JsonGenerator.java:214)

Update (June 16th)
------------------

Even more info, now somewhere else in our code:

```
<xp:this.rendered><![CDATA[#{javascript:dominoDocument1.getItemValueString("Form")=="MProcessus"}]]></xp:this.rendered>

```

As far as I can see, the same error occurs when saving dominoDocument1 and one value was changed.

Update (June 26th)
------------------

A virtually identical message is produced when using the code below (sporadically). It happens on the line that computes isCurrentVersion, see the arrow.

```
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://www.ibm.com/xsp/custom" dojoParseOnLoad="true"
    dojoTheme="true" xmlns:xe="http://www.ibm.com/xsp/coreex">
    <xp:this.data>
        <xp:dominoDocument var="dominoDocument1" formName="MProcessus">
            <xp:this.postOpenDocument>...</xp:this.postOpenDocument>
            <xp:this.querySaveDocument>...</xp:this.querySaveDocument>
            <xp:this.postSaveDocument>...</xp:this.postSaveDocument>
        </xp:dominoDocument>
    </xp:this.data>
    <xp:this.resources>
        ...
    </xp:this.resources>
    <xp:this.beforePageLoad>...</xp:this.beforePageLoad>
    <xp:this.afterPageLoad>...</xp:this.afterPageLoad>
    <xp:this.afterRestoreView>...</xp:this.afterRestoreView>
    <xp:panel style="margin: 0 auto;position:relative" styleClass="fixedWidth" id="Document">
        <xp:table style="width: 100%" id="DocumentTable">
            <xp:tr>
                <xp:td style="width:#{javascript:return UserData.getScreenWidth();}px" align="left">
                    <xe:switchFacet id="switchFacet2">
                        <xe:this.selectedFacet><![CDATA[#{viewScope.buttonsFacet}]]></xe:this.selectedFacet>
                        <xe:this.facets>
                            <xc:ccDocButtons xp:key="Doc" dialogAction="dbAction" dialogMail="dbMail"
                                isModel="#{javascript:viewScope.isModel}" isEditable="#{javascript:dominoDocument1.isEditable()}"
                                isEditor="#{javascript:viewScope.isEditor}">
-->                             <xc:this.isCurrentVersion><![CDATA[#{javascript:dominoDocument1.getItemValueString("VersionCourante")=="TRUE"}]]></xc:this.isCurrentVersion>
                                <xc:this.isOriginalVersion><![CDATA[#{javascript:!dominoDocument1.getItemValueInteger("aAIndice")}]]></xc:this.isOriginalVersion>
                            </xc:ccDocButtons>
                            <xc:ccActionButtons xp:key="Action" dialogAction="dbAction" dialogMail="dbMail"></xc:ccActionButtons>
                        </xe:this.facets>
                    </xe:switchFacet>
                </xp:td>
            </xp:tr>

```

Inside ccDocButtons, isCurrentVersion is used like this:

```
    <xp:image url="/actEnregPlus.jpg" id="image15" alt="Enregistrer comme nouvelle version"
        title="Enregistrer comme nouvelle version" styleClass="clickable">
        <xp:this.rendered><![CDATA[#{javascript:compositeData.isEditable && !UserData.isReadOnly() && compositeData.isCurrentVersion  && !compositeData.isOriginalVersion && !compositeData.isModel}]]></xp:this.rendered>

```