<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0">Hi Conrad,</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">I will see if I can change to POST.</p>
<p style="margin-top:0;margin-bottom:0">To explain a bit: Jalview (Java) application uses POST, we now have a Javascript version which for the moment is limited to sending GET requests, so I tweaked the code for that. I will see if I can persuade it to fake
 a POST instead and let you know what I find.</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Thanks,</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Mungo</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<div id="Signature">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif, Helvetica, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<span id="ms-rterangepaste-start"></span><a href="" style="font-family:Times" id="LPNoLP"><img width="1" height="2" alt="Email signature" style="user-select: none;" src="https://www.dundee.ac.uk/media/dundeewebsite/emailsignature/tiny.png"></a>
<table border="0" cellpadding="0" cellspacing="0" style="font-family:Times; border-collapse:collapse; border-width:0px">
<tbody>
<tr>
<td colspan="4" height="10"> </td>
</tr>
<tr>
<td style="font-size:10px; width:73px!important; max-width:73px!important"><a href="http://uod.ac.uk/sig-home" rel="nofollow" id="LPNoLP"><img width="73" height="73" alt="University of Dundee shield logo" style="display: block; user-select: none;" src="https://www.dundee.ac.uk/media/dundeewebsite/themes/brandnewhope/img/university-of-dundee-email-favicon.png"></a></td>
<td style="width:12px"> </td>
<td class="uod-03" style="border-left:1px solid rgb(67,101,226); width:11px"> </td>
<td width="430">
<p style="font-size:13px; color:rgb(67,101,226); line-height:20px; font-family:Calibri,sans-serif">
<strong style="letter-spacing:1.2px; font-size:14px">Mungo Carstairs</strong><br>
Jalview Computational Scientist</p>
<p style="font-size:13px; color:rgb(67,101,226); line-height:20px; font-family:Calibri,sans-serif">
The Barton Group<br>
Division of Computational Biology</p>
<p style="font-size:13px; color:rgb(67,101,226); line-height:20px; font-family:Calibri,sans-serif">
School of Life Sciences</p>
<p style="font-size:13px; color:rgb(67,101,226); line-height:20px; font-family:Calibri,sans-serif">
University of Dundee, Dundee, Scotland, UK</p>
<p style="font-size:13px; color:rgb(67,101,226); line-height:20px; font-family:Calibri,sans-serif">
<a href="http://www.jalview.org" class="OWAAutoLink" id="LPNoLP">www.jalview.org</a></p>
<p style="font-size:13px; color:rgb(67,101,226); line-height:20px; font-family:Calibri,sans-serif">
<a href="http://www.compbio.dundee.ac.uk" class="OWAAutoLink" id="LPNoLP">www.compbio.dundee.ac.uk</a> <br>
<a href="mailto:g.m.carstairs@dundee.ac.uk" style="text-decoration:none; color:rgb(67,101,226)" id="LPNoLP">g.m.carstairs@dundee.ac.uk</a></p>
</td>
</tr>
<tr>
<td colspan="4" height="10"></td>
</tr>
<tr>
<td colspan="4"><span style="font-size:12px; color:rgb(67,101,226); line-height:20px; font-family:Calibri,sans-serif"><a href="http://uod.ac.uk/sig-fb" id="LPNoLP"><img width="35" height="35" alt="University of Dundee Facebook" style="max-width: 32px; margin-right: 8px; height: auto !important; user-select: none;" src="https://www.dundee.ac.uk/media/dundeewebsite/themes/brandnewhope/img/baxter-blue-facebook.png"></a> <a href="http://uod.ac.uk/sig-tw" alt="University of Dundee Twitter" id="LPNoLP"><img width="35" height="35" alt="University of Dundee Twitter" style="max-width: 32px; margin-right: 8px; height: auto !important; user-select: none;" src="https://www.dundee.ac.uk/media/dundeewebsite/themes/brandnewhope/img/baxter-blue-twitter.png"></a> <a href="http://uod.ac.uk/sig-li" id="LPNoLP"><img width="35" height="35" alt="University of Dundee LinkedIn" style="max-width: 32px; margin-right: 8px; height: auto !important; user-select: none;" src="https://www.dundee.ac.uk/media/dundeewebsite/themes/brandnewhope/img/baxter-blue-linkedin.png"></a> <a href="http://uod.ac.uk/sig-yt" id="LPNoLP"><img width="35" height="35" alt="University of Dundee YouTube" style="max-width: 32px; margin-right: 8px; height: auto !important; user-select: none;" src="https://www.dundee.ac.uk/media/dundeewebsite/themes/brandnewhope/img/baxter-blue-youtube.png"></a> <a href="http://uod.ac.uk/sig-ig" id="LPNoLP"><img width="35" height="35" alt="University of Dundee Instagram" style="max-width: 32px; margin-right: 8px; height: auto !important; user-select: none;" src="https://www.dundee.ac.uk/media/dundeewebsite/themes/brandnewhope/img/baxter-blue-instagram.png"></a> <a href="http://uod.ac.uk/sig-sc" id="LPNoLP"><img width="35" height="35" alt="University of Dundee Snapchat" style="max-width: 32px; margin-right: 8px; height: auto !important; user-select: none;" src="https://www.dundee.ac.uk/media/dundeewebsite/themes/brandnewhope/img/baxter-blue-snapchat.png"></a> </span></td>
</tr>
<tr>
<td colspan="4"><span style="font-size:11px; color:rgb(136,136,136); font-family:Calibri,sans-serif; line-height:12px"><a href="http://uod.ac.uk/sig-strapline" style="text-decoration:none; color:rgb(67,101,226)" id="LPNoLP"><strong>We're Scottish University
 of the Year again!</strong></a><br>
The Times / Sunday Times Good University Guide 2016 and 2017</span></td>
</tr>
</tbody>
</table>
<span id="ms-rterangepaste-end"></span></div>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Conrad Huang <conrad@cgl.ucsf.edu><br>
<b>Sent:</b> 04 February 2019 21:21:12<br>
<b>To:</b> Mungo Carstairs (Staff); chimera-users@cgl.ucsf.edu<br>
<b>Subject:</b> Re: [Chimera-users] Help: 'broken pipe' error</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Hi, Mungo.<br>
<br>
I tried using the RESTserver on a recent daily build, and it opening <br>
4zhp worked fine.  Since RESTserver hasn't changed in a very long time, <br>
I suspect the results would be the same with 1.13.<br>
<br>
The way I tested it is to start the RESTserver in Chimera, and then go <br>
to a browser to visit "<a href="http://localhost:PORT/static/cmdline.html">http://localhost:PORT/static/cmdline.html</a>" where
<br>
PORT is the port number reported in the Reply Log.  A form is displayed <br>
in the browser and I type in "open cifID:4zhp", which runs the command <br>
and displays Chimera messages in the browser rather than the Reply Log.<br>
<br>
I did notice that your tests show messages like:<br>
<br>
> 127.0.0.1 - - [01/Feb/2019 10:32:03] "GET /run?command=list%20residues%20spec%20%230 HTTP/1.1" 200 -<br>
<br>
whereas mine show:<br>
<br>
> 127.0.0.1 - - [04/Feb/2019 12:02:46] "POST /run HTTP/1.1" 200 -<br>
<br>
That looks to me like you are sending requests using http GET, whereas <br>
my tests are using POST.  It /shouldn't/ make any difference, but would <br>
it be possible for you to test using POST to send requests to Chimera <br>
instead of GET?<br>
<br>
Conrad<br>
<br>
On 2/1/2019 2:43 AM, Mungo Carstairs (Staff) wrote:<br>
> Hi there,<br>
> <br>
> <br>
> I'm experimenting with Jalview /as Javascript/ talking to Chimera over <br>
> the latter's REST server.<br>
> <br>
> The first few 'list models' commands work fine, but when I send a <br>
> command 'open cifID:4zhp' I (usually but not always) get an error <br>
> '[Errno 32] Broken Pipe' in Chimera. Is there a clue in the stack traces <br>
> below as to the reason for this? Thanks.<br>
> <br>
> <br>
> Chimera 1.12 (build 41481) on OSX Sierra 10.12.6.<br>
> <br>
> <br>
> REST server on host 127.0.0.1 port 53135<br>
> 127.0.0.1 - - [01/Feb/2019 10:06:14] "GET <br>
> /run?command=list%20models%20type%20molecule HTTP/1.1" 200 -<br>
> 127.0.0.1 - - [01/Feb/2019 10:32:03] "GET <br>
> /run?command=list%20models%20type%20molecule HTTP/1.1" 200 -<br>
> 127.0.0.1 - - [01/Feb/2019 10:32:03] "GET <br>
> /run?command=list%20models%20type%20molecule HTTP/1.1" 200 -<br>
> 127.0.0.1 - - [01/Feb/2019 10:32:03] "GET <br>
> /run?command=open%20cifID%3A4zhp HTTP/1.1" 200 -<br>
> Traceback (most recent call last):<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/chimera/threadq.py", <br>
> line 50, in _checkThread<br>
>      callable()<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/RESTServer/__init__.py", <br>
> line 83, in run<br>
>      _run(q, h, args)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/RESTServer/__init__.py", <br>
> line 163, in _run<br>
>      replyobj.error(str(v) + '\n')<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/chimera/replyobj.py", line <br>
> 637, in error<br>
>      _replyStack[-1].error(s)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/RESTServer/__init__.py", <br>
> line 184, in writeLine<br>
>      self.write(s)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/RESTServer/__init__.py", <br>
> line 191, in write<br>
>      self.f.write(s)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/socket.py", <br>
> line 328, in write<br>
>      self.flush()<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/socket.py", <br>
> line 307, in flush<br>
>      self._sock.sendall(view[write_offset:write_offset+buffer_size])<br>
> error: [Errno 32] Broken pipe<br>
> thread callback:<br>
> error: [Errno 32] Broken pipe<br>
> <br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/socket.py", <br>
> line 307, in flush<br>
>      self._sock.sendall(view[write_offset:write_offset+buffer_size])<br>
> <br>
> See reply log for Python traceback.<br>
> <br>
> <br>
> ----------------------------------------<br>
> Exception happened during processing of request from ('127.0.0.1', 53326)<br>
> Traceback (most recent call last):<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/SocketServer.py", <br>
> line 295, in _handle_request_noblock<br>
>      self.process_request(request, client_address)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/SocketServer.py", <br>
> line 321, in process_request<br>
>      self.finish_request(request, client_address)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/SocketServer.py", <br>
> line 334, in finish_request<br>
>      self.RequestHandlerClass(request, client_address, self)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/SocketServer.py", <br>
> line 657, in __init__<br>
>      self.finish()<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/SocketServer.py", <br>
> line 716, in finish<br>
>      self.wfile.close()<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/socket.py", <br>
> line 283, in close<br>
>      self.flush()<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/socket.py", <br>
> line 307, in flush<br>
>      self._sock.sendall(view[write_offset:write_offset+buffer_size])<br>
> error: [Errno 32] Broken pipe<br>
> ----------------------------------------<br>
> 127.0.0.1 - - [01/Feb/2019 10:32:03] "GET <br>
> /run?command=list%20models%20type%20molecule HTTP/1.1" 200 -<br>
> 127.0.0.1 - - [01/Feb/2019 10:32:03] "GET <br>
> /run?command=list%20model%20spec%20%230%20attribute%20color HTTP/1.1" 200 -<br>
> 127.0.0.1 - - [01/Feb/2019 10:32:03] "GET <br>
> /run?command=list%20residues%20spec%20%230 HTTP/1.1" 200 -<br>
> Traceback (most recent call last):<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/chimera/threadq.py", <br>
> line 50, in _checkThread<br>
>      callable()<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/RESTServer/__init__.py", <br>
> line 83, in run<br>
>      _run(q, h, args)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/RESTServer/__init__.py", <br>
> line 159, in _run<br>
>      chimera.runCommand(cmd)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/chimera/__init__.py", line <br>
> 2750, in runCommand<br>
>      makeCommand(*args, **kw)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/Midas/midas_text.py", line <br>
> 69, in makeCommand<br>
>      f(c, args)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/ListInfo/ChimeraExtension.py",
<br>
> line 20, in command<br>
>      self.module("cmdline").process(cmdName, args)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/ListInfo/cmdline.py", line <br>
> 12, in process<br>
>      doList(args)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/ListInfo/cmdline.py", line <br>
> 543, in doList<br>
>      doExtensionFunc(func, otherArgs, **kwargs)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/Midas/midas_text.py", line <br>
> 451, in doExtensionFunc<br>
>      extFunc(*tuple(processedArgs), **kw)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/ListInfo/cmdline.py", line <br>
> 192, in listr<br>
>      replyobj.info(info)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/chimera/replyobj.py", line <br>
> 625, in info<br>
>      _replyStack[-1].info(s)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/RESTServer/__init__.py", <br>
> line 202, in message<br>
>      self.writeLine(s)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/RESTServer/__init__.py", <br>
> line 184, in writeLine<br>
>      self.write(s)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/share/RESTServer/__init__.py", <br>
> line 191, in write<br>
>      self.f.write(s)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/socket.py", <br>
> line 328, in write<br>
>      self.flush()<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/socket.py", <br>
> line 307, in flush<br>
>      self._sock.sendall(view[write_offset:write_offset+buffer_size])<br>
> error: [Errno 32] Broken pipe<br>
> thread callback:<br>
> error: [Errno 32] Broken pipe<br>
> <br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/socket.py", <br>
> line 307, in flush<br>
>      self._sock.sendall(view[write_offset:write_offset+buffer_size])<br>
> <br>
> See reply log for Python traceback.<br>
> <br>
> <br>
> ----------------------------------------<br>
> Exception happened during processing of request from ('127.0.0.1', 53329)<br>
> Traceback (most recent call last):<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/SocketServer.py", <br>
> line 295, in _handle_request_noblock<br>
>      self.process_request(request, client_address)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/SocketServer.py", <br>
> line 321, in process_request<br>
>      self.finish_request(request, client_address)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/SocketServer.py", <br>
> line 334, in finish_request<br>
>      self.RequestHandlerClass(request, client_address, self)<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/SocketServer.py", <br>
> line 657, in __init__<br>
>      self.finish()<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/SocketServer.py", <br>
> line 716, in finish<br>
>      self.wfile.close()<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/socket.py", <br>
> line 283, in close<br>
>      self.flush()<br>
>    File <br>
> "/Applications/Chimera.app/Contents/Resources/lib/python2.7/socket.py", <br>
> line 307, in flush<br>
>      self._sock.sendall(view[write_offset:write_offset+buffer_size])<br>
> error: [Errno 32] Broken pipe<br>
> ----------------------------------------<br>
> 127.0.0.1 - - [01/Feb/2019 10:32:03] "GET /run?command=focus HTTP/1.1" 200 -<br>
> 127.0.0.1 - - [01/Feb/2019 10:32:03] "GET <br>
> /run?command=list%20models%20type%20molecule HTTP/1.1" 200 -<br>
> 127.0.0.1 - - [01/Feb/2019 10:32:05] "GET <br>
> /run?command=color%20%238db520%20%230%3A2-98.A HTTP/1.1" 200 -<br>
> 127.0.0.1 - - [01/Feb/2019 10:32:05] "GET <br>
> /run?command=color%20%238db520%20%230%3A2-98.A HTTP/1.1" 200 -<br>
> <br>
> <br>
> Email signature<br>
> University of Dundee shield logo <<a href="http://uod.ac.uk/sig-home">http://uod.ac.uk/sig-home</a>>                  
<br>
> <br>
> *Mungo Carstairs*<br>
> Jalview Computational Scientist<br>
> <br>
> The Barton Group<br>
> Division of Computational Biology<br>
> <br>
> School of Life Sciences<br>
> <br>
> University of Dundee, Dundee, Scotland, UK<br>
> <br>
> <a href="http://www.jalview.org">www.jalview.org</a> <<a href="http://www.jalview.org">http://www.jalview.org</a>><br>
> <br>
> <a href="http://www.compbio.dundee.ac.uk">www.compbio.dundee.ac.uk</a> <<a href="http://www.compbio.dundee.ac.uk">http://www.compbio.dundee.ac.uk</a>><br>
> g.m.carstairs@dundee.ac.uk <<a href="mailto:g.m.carstairs@dundee.ac.uk">mailto:g.m.carstairs@dundee.ac.uk</a>><br>
> <br>
> University of Dundee Facebook <<a href="http://uod.ac.uk/sig-fb">http://uod.ac.uk/sig-fb</a>> University of
<br>
> Dundee Twitter <<a href="http://uod.ac.uk/sig-tw">http://uod.ac.uk/sig-tw</a>> University of Dundee LinkedIn
<br>
> <<a href="http://uod.ac.uk/sig-li">http://uod.ac.uk/sig-li</a>> University of Dundee YouTube
<br>
> <<a href="http://uod.ac.uk/sig-yt">http://uod.ac.uk/sig-yt</a>> University of Dundee Instagram
<br>
> <<a href="http://uod.ac.uk/sig-ig">http://uod.ac.uk/sig-ig</a>> University of Dundee Snapchat
<br>
> <<a href="http://uod.ac.uk/sig-sc">http://uod.ac.uk/sig-sc</a>><br>
> *We're Scottish University of the Year again!* <br>
> <<a href="http://uod.ac.uk/sig-strapline">http://uod.ac.uk/sig-strapline</a>><br>
> The Times / Sunday Times Good University Guide 2016 and 2017<br>
> <br>
> <br>
> The University of Dundee is a registered Scottish Charity, No: SC015096<br>
> <br>
> _______________________________________________<br>
> Chimera-users mailing list: Chimera-users@cgl.ucsf.edu<br>
> Manage subscription: <a href="http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users">
http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users</a><br>
> <br>
<br>
</div>
</span></font></div>
<br>
<span style="font-size:10pt;">The University of Dundee is a registered Scottish Charity, No: SC015096</span>
</body>
</html>