<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>As a potential relief from the same problem, maybe we can address these.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The good news is, the patch to the pipelining serializer reduced the attribute errors from 100’s to 18.   What we probably could do is only use the patch for strings?   Not sure.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>A leftover attribute error is of the form:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>$ grep AttributeError pyjniusbuild2.txt |sort -u</p><p class=MsoNormal>     [exec] AttributeError: 'NoneType' object has no attribute 'setValue'</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Specifically, the one we haven’t addressed at all (attached file):</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>processSingleScene.pythonValidation:</p><p class=MsoNormal>     [echo] processSingleScene.python C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForWebAuthors\Chapter01TechnicalOverview\EmptySceneCoreProfile.future.py</p><p class=MsoNormal>     [echo] Loading X3D model as .py program, if successful then saving as round-trip .x3d version:</p><p class=MsoNormal>     [exec] Traceback (most recent call last):</p><p class=MsoNormal>     [exec]   File "C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForWebAuthors\Chapter01TechnicalOverview\EmptySceneCoreProfile.future.py", line 41, in <module></p><p class=MsoNormal>     [exec]     .setValue(MetadataBoolean().setName(SFString("BooleanData")).setValue(MFBool([True,False])))</p><p class=MsoNormal>     [exec] AttributeError: 'NoneType' object has no attribute 'setValue'</p><p class=MsoNormal>     [echo] =====================</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>After fixing that attribute error, we can address the “passed for a” errors which I hope will be simple.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>     [exec] jnius.JavaException: Invalid instance of 'org/web3d/x3d/jsail/X3DConcreteNode' passed for a 'org/web3d/x3d/sai/Rendering/X3DCoordinateNode'</p><p class=MsoNormal>     [exec] jnius.JavaException: Invalid instance of 'org/web3d/x3d/jsail/X3DConcreteNode' passed for a 'org/web3d/x3d/sai/Rendering/X3DCoordinateNode'</p><p class=MsoNormal>     [exec] org.web3d.x3d.sai.InvalidFieldException: ERROR_ILLEGAL_VALUE insufficient X3D profile='CADInterchange' for parent X3D model containing 'Background' node, add head statement <component name='EnvironmentalEffects' level='1'/></p><p class=MsoNormal>     [exec] org.web3d.x3d.sai.InvalidFieldException: ERROR_ILLEGAL_VALUE insufficient X3D profile='CADInterchange' for parent X3D model containing 'Background' node, add head statement <component name='EnvironmentalEffects' level='1'/></p><p class=MsoNormal>     [exec] org.web3d.x3d.sai.InvalidFieldException: ERROR_ILLEGAL_VALUE insufficient X3D profile='CADInterchange' for parent X3D model containing 'Background' node, add head statement <component name='EnvironmentalEffects' level='1'/></p><p class=MsoNormal>     [exec] org.web3d.x3d.sai.InvalidFieldException: ERROR_ILLEGAL_VALUE insufficient X3D profile='CADInterchange' for parent X3D model containing 'Background' node, add head statement <component name='EnvironmentalEffects' level='1'/></p><p class=MsoNormal>     [exec] jnius.JavaException: Invalid instance of 'org/web3d/x3d/jsail/X3DConcreteNode' passed for a 'org/web3d/x3d/sai/Core/X3DNode'</p><p class=MsoNormal>     [exec] jnius.JavaException: Invalid instance of 'org/web3d/x3d/jsail/X3DConcreteNode' passed for a 'org/web3d/x3d/sai/Shape/X3DMaterialNode'</p><p class=MsoNormal>     [exec] jnius.JavaException: Invalid instance of 'org/web3d/x3d/jsail/Core/MetadataStringObject' passed for a 'org/web3d/x3d/sai/Core/X3DChildNode'</p><p class=MsoNormal>     [exec] jnius.JavaException: Invalid instance of 'org/web3d/x3d/sai/Core/X3DNode' passed for a 'org/web3d/x3d/sai/Core/X3DChildNode'</p><p class=MsoNormal>     [exec] jnius.JavaException: Invalid instance of 'org/web3d/x3d/jsail/X3DConcreteNode' passed for a 'org/web3d/x3d/sai/Core/X3DChildNode'</p><p class=MsoNormal><br>And the Java exceptions</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>$ grep Exception pyjniusbuild2.txt|grep -v Stack|sort -u|grep -v /sai/</p><p class=MsoNormal>     [exec] jnius.JavaException: JVM exception occurred: Invalid setContainerFieldOverride() value='proxy', legal values for Inline are containerField_ALTERNATE_VALUES='"children" "watchList"'</p><p class=MsoNormal>     [exec] jnius.JavaException: JVM exception occurred: Invalid setContainerFieldOverride() value='proxy', legal values for TimeSensor are containerField_ALTERNATE_VALUES='"children"'</p><p class=MsoNormal>     [exec] jnius.JavaException: No constructor matching your arguments, available: ['([I)V', '(Lorg/web3d/x3d/jsail/fields/SFImageObject;)V', '()V']</p><p class=MsoNormal>     [exec] jnius.JavaException: No constructor matching your arguments, available: ['(Lorg/web3d/x3d/jsail/fields/SFImageObject;)V', '([I)V', '()V']</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Still plenty to munch on before addressing pyjnius source code.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I believe we should address problems there’s not a workaround for before addressing pyjnius.   Do you want to possibly address the errors created by the non-pipelining serializer, if any?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I think we need some inspiration, like how to build pyjnius properly before pursuing pyjnius.</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>