<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">This is actually applicable to any Python code, but is especially relevant to extensions that save data in Chimera sessions: the Python bytecode compiler has a limitation of a maximum of a 16 bit offset in a jump instruction. This means that you don't want to have 64K worth of characters in a single conditional block of code (i.e. if/else, loops, try/except). Otherwise you will get the somewhat opaque:<DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>SystemError: com_backpatch: offset too large</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>So if you have data structures that may be potentially large when written to a session file, try to place their definitions in the session file outside of conditional blocks.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>--Eric</DIV><BR><DIV> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="5" style="font: 16.0px Helvetica"><SPAN class="Apple-converted-space"> </SPAN>Eric Pettersen</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="5" style="font: 16.0px Helvetica"><SPAN class="Apple-converted-space"> </SPAN>UCSF Computer Graphics Lab</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="5" style="font: 16.0px Helvetica"><SPAN class="Apple-converted-space"> </SPAN><A href="mailto:pett@cgl.ucsf.edu">pett@cgl.ucsf.edu</A></FONT></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="5" style="font: 16.0px Helvetica"><SPAN class="Apple-converted-space"> </SPAN><A href="http://www.cgl.ucsf.edu">http://www.cgl.ucsf.edu</A></FONT></P> <BR class="Apple-interchange-newline"> </DIV><BR></BODY></HTML>