25 March 2014

568. PyMol troubles in Jessie -- no solutions [update]

I and linux are not on speaking terms at the moment. My main issue right now is that the routing that I set up a long time ago (http://verahill.blogspot.com.au/2012/02/debian-testing-wheezy-64-configuring.html) no longer works properly -- yes, I can see the subnets, but the routing table is wrong, and traffic is routed over the wrong physical interface which leads to a significant slowdown.

In addition, pymol is unusable on my laptop which is running debian jessie. I'm not the only one with pymol related issues either -- follow the thread at the end of http://verahill.blogspot.com.au/p/miscellaneous.html and you will see another example of pymol troubles, troubles which I accidentally reproduced in the virtual machine later in this post. Anyway, these are unsolved issues but I post them here in case other people are wondering whether they are the only ones. I might even muster the courage to submit a bug report to debian although the first issue is definitely present in upstreams...and I think that the second one is as well. Unfortunately, pymol isn't quite free software and the online support doesn't appear to be as good as for many traditional FOSS packages.

Either way, here are some observations:

On a physical machine (Lenovo Thinkpad SL410 running Jessie:
UPDATE 26/3/2014: this works now after doing a full upgrade/dist-upgrade. Not sure what did it -- no obvious package that would've fixed it. The issue below with gallium remains though.

Version 1.7.0.0 on Linux niobium 3.11-2-amd64 #1 SMP Debian 3.11.10-1 (2013-12-04) x86_64 GNU/Linux.
Detected OpenGL version 2.0 or greater. Shaders available. Detected GLSL version 1.20. OpenGL graphics engine: GL_VENDOR: Intel Open Source Technology Center GL_RENDERER: Mesa DRI Mobile Intel GM45 Express Chipset GL_VERSION: 2.1 Mesa 9.2.2 Adjusting settings to improve performance for Intel cards. Detected 2 CPU cores. Enabled multithreaded rendering.

Building the upstreams version doesn't solve the issue.

inxi -G:
Graphics: Card: Intel Mobile 4 Series Integrated Graphics Controller X.Org: 1.15.0 drivers: intel (unloaded: fbdev,vesa) Resolution: 1366x768@60.0hz GLX Renderer: Mesa DRI Mobile Intel GM45 Express GLX Version: 2.1 Mesa 9.2.2

In a debian testing virtual machine (virtual box) running jessie:
Default DE seems to be Xfce. Before installing gnome i.e. in Xfce:
X Error of failed request: 0 Major opcode of failed request: 155 (GLX) Minor opcode of failed request: 26 (X_GLXMakeContextCurrent) Serial number of failed request: 49 Current serial number in output stream: 49 PyMOL: abrupt program termination.
After installing gnome:
Detected OpenGL version 2.0 or greater. Shaders available. Detected GLSL version 1.30. OpenGL graphics engine: GL_VENDOR: VMware, Inc. GL_RENDERER: Gallium 0.4 on llvmpipe (LLVM 3.3, 128 bits) GL_VERSION: 2.1 Mesa 9.2.2 pure virtual method called
and a normal window is opened:
While it says v 1.6.x it is version 1.7.0.0 and it says so in the terminal output -- just not in the fancy figure.


However, on loading any structure (e.g. xyz or pdb -- even as small as methane):
OpenGL version 2.0 or greater. Shaders available. Detected GLSL version 1.30. OpenGL graphics engine: GL_VENDOR: VMware, Inc. GL_RENDERER: Gallium 0.4 on llvmpipe (LLVM 3.3, 128 bits) GL_VERSION: 2.1 Mesa 9.2.2 CmdLoad: "/home/me/Downloads/methane.pdb" loaded as "methane". Segmentation fault
Running catchsegv gives a lot of output -- see bottom of this post.

I next installed the guest additions from the debian repos using
sudo apt-get install virtualbox-guest-*
(the guest additions that are installable via virtualbox itself fail to build on kernel 3.13) and rebooted.

At this point pymol shows
me@debian:~$ pymol ~/Downloads/methane.pdb OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table OpenGL Warning: glVertexArrayRangeNV not found in mesa table OpenGL Warning: glCombinerInputNV not found in mesa table OpenGL Warning: glCombinerOutputNV not found in mesa table OpenGL Warning: glCombinerParameterfNV not found in mesa table OpenGL Warning: glCombinerParameterfvNV not found in mesa table OpenGL Warning: glCombinerParameteriNV not found in mesa table OpenGL Warning: glCombinerParameterivNV not found in mesa table OpenGL Warning: glFinalCombinerInputNV not found in mesa table OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table OpenGL Warning: glDeleteFencesNV not found in mesa table OpenGL Warning: glFinishFenceNV not found in mesa table OpenGL Warning: glGenFencesNV not found in mesa table OpenGL Warning: glGetFenceivNV not found in mesa table OpenGL Warning: glIsFenceNV not found in mesa table OpenGL Warning: glSetFenceNV not found in mesa table OpenGL Warning: glTestFenceNV not found in mesa table PyMOL(TM) Molecular Graphics System, Version 1.7.0.0. Copyright (c) Schrodinger, LLC. All Rights Reserved. Created by Warren L. DeLano, Ph.D. PyMOL is user-supported open-source software. Although some versions are freely available, PyMOL is not in the public domain. If PyMOL is helpful in your work or study, then please volunteer support for our ongoing efforts to create open and affordable scientific software by purchasing a PyMOL Maintenance and/or Support subscription. More information can be found at "http://www.pymol.org". Enter "help" for a list of commands. Enter "help " for information on a specific command. Hit ESC anytime to toggle between text and graphics. Detected OpenGL version 2.0 or greater. Shaders available. Detected GLSL version 4.20. OpenGL Warning: No pincher, please call crStateSetCurrentPointers() in your SPU OpenGL graphics engine: GL_VENDOR: Humper GL_RENDERER: Chromium GL_VERSION: 2.1 Chromium 1.9 CmdLoad: "/home/me/Downloads/methane.pdb" loaded as "methane". OpenGL Warning: No pincher, please call crStateSetCurrentPointers() in your SPU
and the molecule shows up briefly before the window goes black, which constitutes a bit of progress.

Closing the program gives
PyMOL: normal program termination. Segmentation fault

catchsegv output using the gallium driver
PyMOL(TM) Molecular Graphics System, Version 1.7.0.0. Copyright (c) Schrodinger, LLC. All Rights Reserved. Created by Warren L. DeLano, Ph.D. PyMOL is user-supported open-source software. Although some versions are freely available, PyMOL is not in the public domain. If PyMOL is helpful in your work or study, then please volunteer support for our ongoing efforts to create open and affordable scientific software by purchasing a PyMOL Maintenance and/or Support subscription. More information can be found at "http://www.pymol.org". Enter "help" for a list of commands. Enter "help " for information on a specific command. Hit ESC anytime to toggle between text and graphics. Detected OpenGL version 2.0 or greater. Shaders available. Detected GLSL version 1.30. OpenGL graphics engine: GL_VENDOR: VMware, Inc. GL_RENDERER: Gallium 0.4 on llvmpipe (LLVM 3.3, 128 bits) GL_VERSION: 2.1 Mesa 9.2.2 ExecutiveLoad: "methane.xyz" loaded as "methane", through state 1. Segmentation fault *** Segmentation fault Register dump: RAX: 0000000002214e08 RBX: 000000000000ffff RCX: 0000000000000000 RDX: 00007f1db5b69640 RSI: 00000000ffffffff RDI: 00007fff4c2e7d60 RBP: 00007fff4c0e7d80 R8 : 0000000000000000 R9 : 0000000000000000 R10: 0000000002088a50 R11: 000000000208c940 R12: 000000000248b650 R13: 00007f1dafad70fc R14: 00007fff4c0e7c94 R15: 0000000000000000 RSP: 00007fff4c0e7c10 RIP: 00007f1daf8f4202 EFLAGS: 00010206 CS: 0033 FS: 0000 GS: 0000 Trap: 0000000e Error: 00000006 OldMask: 00000000 CR2: 4c2eb110 FPUCW: 0000037f FPUSW: 00000000 TAG: 00000000 RIP: 00000000 RDP: 00000000 ST(0) 0000 0000000000000000 ST(1) 0000 0000000000000000 ST(2) 0000 0000000000000000 ST(3) 0000 0000000000000000 ST(4) 0000 0000000000000000 ST(5) 0000 0000000000000000 ST(6) 0000 0000000000000000 ST(7) 0000 0000000000000000 mxcsr: 9ffb XMM0: 00000000000000000000000000000000 XMM1: 00000000000000000000000000000000 XMM2: 00000000000000000000000000000000 XMM3: 00000000000000000000000000000000 XMM4: 00000000000000000000000000000000 XMM5: 00000000000000000000000000000000 XMM6: 00000000000000000000000000000000 XMM7: 00000000000000000000000000000000 XMM8: 00000000000000000000000000000000 XMM9: 00000000000000000000000000000000 XMM10: 00000000000000000000000000000000 XMM11: 00000000000000000000000000000000 XMM12: 00000000000000000000000000000000 XMM13: 00000000000000000000000000000000 XMM14: 00000000000000000000000000000000 XMM15: 00000000000000000000000000000000 Backtrace: /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x2ed202)[0x7f1daf8f4202] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x2e8dfe)[0x7f1daf8efdfe] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x2f1a69)[0x7f1daf8f8a69] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x338f6f)[0x7f1daf93ff6f] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x33a059)[0x7f1daf941059] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(llvmpipe_update_fs+0x99d)[0x7f1daf945bbd] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(llvmpipe_update_derived+0x1a0)[0x7f1daf93e9c0] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(lp_setup_update_state+0xe8)[0x7f1daf938d08] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x33726b)[0x7f1daf93e26b] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x208c40)[0x7f1daf80fc40] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x20908e)[0x7f1daf81008e] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x201f94)[0x7f1daf808f94] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x2049fa)[0x7f1daf80b9fa] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x200235)[0x7f1daf807235] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x2010e4)[0x7f1daf8080e4] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x2f7285)[0x7f1daf8fe285] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x2f7454)[0x7f1daf8fe454] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x212b21)[0x7f1daf819b21] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x20b916)[0x7f1daf812916] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x20bd96)[0x7f1daf812d96] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x326a72)[0x7f1daf92da72] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x14fb1c)[0x7f1daf756b1c] /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x1294c4)[0x7f1daf7304c4] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(+0xf3bb9)[0x7f1db4c16bb9] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(CGORenderGL+0x745)[0x7f1db4c359b5] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(+0x1a5b7c)[0x7f1db4cc8b7c] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(CoordSetRender+0x323)[0x7f1db4d56253] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(+0x1e5203)[0x7f1db4d08203] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(SceneRenderAllObject+0xc1)[0x7f1db4beb291] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(+0xc8898)[0x7f1db4beb898] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(DoRendering+0x204)[0x7f1db4bebe54] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(SceneRender+0x13c7)[0x7f1db4bf2a77] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(OrthoDoDraw+0x104c)[0x7f1db4c918ec] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(ExecutiveDrawNow+0xc1)[0x7f1db4df4ab1] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(PyMOL_DrawWithoutLock+0x16e)[0x7f1db4e5a73e] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(+0x3233a0)[0x7f1db4e463a0] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(+0x3241fc)[0x7f1db4e471fc] /usr/lib/x86_64-linux-gnu/libglut.so.3(+0x22834)[0x7f1db3cd7834] /usr/lib/x86_64-linux-gnu/libglut.so.3(fgEnumWindows+0x39)[0x7f1db3cdb279] /usr/lib/x86_64-linux-gnu/libglut.so.3(glutMainLoopEvent+0x11c)[0x7f1db3cd7d7c] /usr/lib/x86_64-linux-gnu/libglut.so.3(glutMainLoop+0xa1)[0x7f1db3cd8671] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(+0x324b30)[0x7f1db4e47b30] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(main_shared+0x88)[0x7f1db4e48698] /usr/lib/python2.7/dist-packages/pymol/_cmd.so(+0x3039b4)[0x7f1db4e269b4] python2.7(PyEval_EvalFrameEx+0x42d)[0x51f18d] python2.7(PyEval_EvalCodeEx+0x2ac)[0x53bd7c] python2.7(PyEval_EvalFrameEx+0x7f6)[0x51f556] python2.7(PyEval_EvalCodeEx+0x2ac)[0x53bd7c] python2.7(PyEval_EvalCode+0x32)[0x5b0b62] python2.7(PyEval_EvalFrameEx+0x4f5c)[0x523cbc] python2.7(PyEval_EvalCodeEx+0x2ac)[0x53bd7c] python2.7(PyEval_EvalFrameEx+0x7f6)[0x51f556] python2.7[0x4e738a] python2.7(PyObject_Call+0x36)[0x55f4c6] python2.7[0x41e910] python2.7(Py_Main+0x898)[0x44bfba] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f1db57e7b45] python2.7[0x57b33e] Memory map: 00400000-006bc000 r-xp 00000000 08:01 274159 /usr/bin/python2.7 008bc000-008bd000 r--p 002bc000 08:01 274159 /usr/bin/python2.7 008bd000-00932000 rw-p 002bd000 08:01 274159 /usr/bin/python2.7 00932000-00944000 rw-p 00000000 00:00 0 01316000-02a92000 rw-p 00000000 00:00 0 [heap] 7f1da4000000-7f1da465c000 rw-p 00000000 00:00 0 7f1da465c000-7f1da8000000 ---p 00000000 00:00 0 7f1da8e6b000-7f1da8eeb000 rw-p 00000000 00:00 0 7f1da913e000-7f1da917e000 rw-p 00000000 00:00 0 7f1da917e000-7f1da91fe000 rwxp 00000000 00:00 0 7f1da91fe000-7f1da936b000 rw-p 00000000 00:00 0 7f1da936b000-7f1da9373000 r-xp 00000000 08:01 274422 /usr/lib/python2.7/lib-dynload/_ssl.x86_64-linux-gnu.so 7f1da9373000-7f1da9572000 ---p 00008000 08:01 274422 /usr/lib/python2.7/lib-dynload/_ssl.x86_64-linux-gnu.so 7f1da9572000-7f1da9573000 r--p 00007000 08:01 274422 /usr/lib/python2.7/lib-dynload/_ssl.x86_64-linux-gnu.so 7f1da9573000-7f1da9574000 rw-p 00008000 08:01 274422 /usr/lib/python2.7/lib-dynload/_ssl.x86_64-linux-gnu.so 7f1da9574000-7f1da9580000 r-xp 00000000 08:01 521244 /lib/x86_64-linux-gnu/libnss_files-2.18.so 7f1da9580000-7f1da977f000 ---p 0000c000 08:01 521244 /lib/x86_64-linux-gnu/libnss_files-2.18.so 7f1da977f000-7f1da9780000 r--p 0000b000 08:01 521244 /lib/x86_64-linux-gnu/libnss_files-2.18.so 7f1da9780000-7f1da9781000 rw-p 0000c000 08:01 521244 /lib/x86_64-linux-gnu/libnss_files-2.18.so 7f1da9781000-7f1da978b000 r-xp 00000000 08:01 521253 /lib/x86_64-linux-gnu/libnss_nis-2.18.so 7f1da978b000-7f1da998a000 ---p 0000a000 08:01 521253 /lib/x86_64-linux-gnu/libnss_nis-2.18.so 7f1da998a000-7f1da998b000 r--p 00009000 08:01 521253 /lib/x86_64-linux-gnu/libnss_nis-2.18.so 7f1da998b000-7f1da998c000 rw-p 0000a000 08:01 521253 /lib/x86_64-linux-gnu/libnss_nis-2.18.so 7f1da998c000-7f1da9993000 r-xp 00000000 08:01 521246 /lib/x86_64-linux-gnu/libnss_compat-2.18.so 7f1da9993000-7f1da9b92000 ---p 00007000 08:01 521246 /lib/x86_64-linux-gnu/libnss_compat-2.18.so 7f1da9b92000-7f1da9b93000 r--p 00006000 08:01 521246 /lib/x86_64-linux-gnu/libnss_compat-2.18.so 7f1da9b93000-7f1da9b94000 rw-p 00007000 08:01 521246 /lib/x86_64-linux-gnu/libnss_compat-2.18.so 7f1da9b94000-7f1da9b95000 ---p 00000000 00:00 0 7f1da9b95000-7f1daa415000 rw-p 00000000 00:00 0 [stack:5355] 7f1daa415000-7f1daa595000 rwxp 00000000 00:00 0 7f1daa595000-7f1daa615000 rw-p 00000000 00:00 0 7f1daa615000-7f1daa616000 ---p 00000000 00:00 0 7f1daa616000-7f1daae16000 rw-p 00000000 00:00 0 [stack:5354] 7f1daae16000-7f1daae1f000 r-xp 00000000 08:01 270355 /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0 7f1daae1f000-7f1dab01e000 ---p 00009000 08:01 270355 /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0 7f1dab01e000-7f1dab01f000 r--p 00008000 08:01 270355 /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0 7f1dab01f000-7f1dab020000 rw-p 00009000 08:01 270355 /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0 7f1dab020000-7f1dab022000 r-xp 00000000 08:01 277479 /usr/lib/x86_64-linux-gnu/libXss.so.1.0.0 7f1dab022000-7f1dab222000 ---p 00002000 08:01 277479 /usr/lib/x86_64-linux-gnu/libXss.so.1.0.0 7f1dab222000-7f1dab223000 rw-p 00002000 08:01 277479 /usr/lib/x86_64-linux-gnu/libXss.so.1.0.0 7f1dab223000-7f1dab25d000 r-xp 00000000 08:01 270332 /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0 7f1dab25d000-7f1dab45c000 ---p 0003a000 08:01 270332 /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0 7f1dab45c000-7f1dab45e000 r--p 00039000 08:01 270332 /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0 7f1dab45e000-7f1dab45f000 rw-p 0003b000 08:01 270332 /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0 7f1dab45f000-7f1dab473000 r-xp 00000000 08:01 275893 /usr/lib/x86_64-linux-gnu/libXft.so.2.3.1 7f1dab473000-7f1dab673000 ---p 00014000 08:01 275893 /usr/lib/x86_64-linux-gnu/libXft.so.2.3.1 7f1dab673000-7f1dab674000 rw-p 00014000 08:01 275893 /usr/lib/x86_64-linux-gnu/libXft.so.2.3.1 7f1dab674000-7f1dab689000 r-xp 00000000 08:01 521239 /lib/x86_64-linux-gnu/libnsl-2.18.so 7f1dab689000-7f1dab888000 ---p 00015000 08:01 521239 /lib/x86_64-linux-gnu/libnsl-2.18.so 7f1dab888000-7f1dab889000 r--p 00014000 08:01 521239 /lib/x86_64-linux-gnu/libnsl-2.18.so 7f1dab889000-7f1dab88a000 rw-p 00015000 08:01 521239 /lib/x86_64-linux-gnu/libnsl-2.18.so 7f1dab88a000-7f1dab88c000 rw-p 00000000 00:00 0 7f1dab88c000-7f1dab9a5000 r-xp 00000000 08:01 299562 /usr/lib/x86_64-linux-gnu/libtcl8.5.so 7f1dab9a5000-7f1dabba5000 ---p 00119000 08:01 299562 /usr/lib/x86_64-linux-gnu/libtcl8.5.so 7f1dabba5000-7f1dabba9000 r--p 00119000 08:01 299562 /usr/lib/x86_64-linux-gnu/libtcl8.5.so 7f1dabba9000-7f1dabbb0000 rw-p 0011d000 08:01 299562 /usr/lib/x86_64-linux-gnu/libtcl8.5.so 7f1dabbb0000-7f1dabbb1000 rw-p 00000000 00:00 0 7f1dabbb1000-7f1dabcdd000 r-xp 00000000 08:01 299568 /usr/lib/x86_64-linux-gnu/libtk8.5.so 7f1dabcdd000-7f1dabedc000 ---p 0012c000 08:01 299568 /usr/lib/x86_64-linux-gnu/libtk8.5.so 7f1dabedc000-7f1dabeea000 r--p 0012b000 08:01 299568 /usr/lib/x86_64-linux-gnu/libtk8.5.so 7f1dabeea000-7f1dabefb000 rw-p 00139000 08:01 299568 /usr/lib/x86_64-linux-gnu/libtk8.5.so 7f1dabefb000-7f1dabefc000 rw-p 00000000 00:00 0 7f1dabefc000-7f1dac003000 r-xp 00000000 08:01 299629 /usr/lib/libBLT.2.4.so.8.5 7f1dac003000-7f1dac203000 ---p 00107000 08:01 299629 /usr/lib/libBLT.2.4.so.8.5 7f1dac203000-7f1dac204000 r--p 00107000 08:01 299629 /usr/lib/libBLT.2.4.so.8.5 7f1dac204000-7f1dac221000 rw-p 00108000 08:01 299629 /usr/lib/libBLT.2.4.so.8.5 7f1dac221000-7f1dac222000 rw-p 00000000 00:00 0 7f1dac222000-7f1dac22e000 r-xp 00000000 08:01 299653 /usr/lib/python2.7/lib-dynload/_tkinter.so 7f1dac22e000-7f1dac42d000 ---p 0000c000 08:01 299653 /usr/lib/python2.7/lib-dynload/_tkinter.so 7f1dac42d000-7f1dac42e000 r--p 0000b000 08:01 299653 /usr/lib/python2.7/lib-dynload/_tkinter.so 7f1dac42e000-7f1dac430000 rw-p 0000c000 08:01 299653 /usr/lib/python2.7/lib-dynload/_tkinter.so 7f1dac430000-7f1dac4b0000 rw-p 00000000 00:00 0 7f1dac4b0000-7f1dacf30000 rwxp 00000000 00:00 0 7f1dacf30000-7f1dad031000 rw-p 00000000 00:00 0 7f1dad032000-7f1dad132000 rwxp 00000000 00:00 0 7f1dad132000-7f1dad93f000 rw-p 00000000 00:00 0 7f1dad93f000-7f1dad976000 r-xp 00000000 08:01 278421 /usr/lib/x86_64-linux-gnu/libtxc_dxtn_s2tc.so.0.0.0 7f1dad976000-7f1dadb75000 ---p 00037000 08:01 278421 /usr/lib/x86_64-linux-gnu/libtxc_dxtn_s2tc.so.0.0.0 7f1dadb75000-7f1dadb76000 r--p 00036000 08:01 278421 /usr/lib/x86_64-linux-gnu/libtxc_dxtn_s2tc.so.0.0.0 7f1dadb76000-7f1dadb77000 rw-p 00037000 08:01 278421 /usr/lib/x86_64-linux-gnu/libtxc_dxtn_s2tc.so.0.0.0 7f1dadb77000-7f1daf0ac000 r-xp 00000000 08:01 270279 /usr/lib/x86_64-linux-gnu/libLLVM-3.3.so.1 7f1daf0ac000-7f1daf1c3000 rw-p 01535000 08:01 270279 /usr/lib/x86_64-linux-gnu/libLLVM-3.3.so.1 7f1daf1c3000-7f1daf1d5000 rw-p 00000000 00:00 0 7f1daf1d5000-7f1daf1dc000 r-xp 00000000 08:01 265205 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 7f1daf1dc000-7f1daf3db000 ---p 00007000 08:01 265205 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 7f1daf3db000-7f1daf3dc000 r--p 00006000 08:01 265205 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 7f1daf3dc000-7f1daf3dd000 rw-p 00007000 08:01 265205 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 7f1daf3dd000-7f1daf404000 r-xp 00000000 08:01 521410 /lib/x86_64-linux-gnu/libexpat.so.1.6.0 7f1daf404000-7f1daf604000 ---p 00027000 08:01 521410 /lib/x86_64-linux-gnu/libexpat.so.1.6.0 7f1daf604000-7f1daf606000 r--p 00027000 08:01 521410 /lib/x86_64-linux-gnu/libexpat.so.1.6.0 7f1daf606000-7f1daf607000 rw-p 00029000 08:01 521410 /lib/x86_64-linux-gnu/libexpat.so.1.6.0 7f1daf607000-7f1dafb63000 r-xp 00000000 08:01 401825 /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so 7f1dafb63000-7f1dafd63000 ---p 0055c000 08:01 401825 /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so 7f1dafd63000-7f1dafd80000 r--p 0055c000 08:01 401825 /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so 7f1dafd80000-7f1dafd8a000 rw-p 00579000 08:01 401825 /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so 7f1dafd8a000-7f1daffb0000 rw-p 00000000 00:00 0 7f1daffb7000-7f1db03b1000 rw-p 00000000 00:00 0 7f1db03b1000-7f1db0575000 r-xp 00000000 08:01 265863 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 7f1db0575000-7f1db0775000 ---p 001c4000 08:01 265863 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 7f1db0775000-7f1db0790000 r--p 001c4000 08:01 265863 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 7f1db0790000-7f1db079f000 rw-p 001df000 08:01 265863 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 7f1db079f000-7f1db07a3000 rw-p 00000000 00:00 0 7f1db07a3000-7f1db07f8000 r-xp 00000000 08:01 265878 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 7f1db07f8000-7f1db09f8000 ---p 00055000 08:01 265878 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 7f1db09f8000-7f1db09fb000 r--p 00055000 08:01 265878 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 7f1db09fb000-7f1db0a02000 rw-p 00058000 08:01 265878 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 7f1db0a02000-7f1db0a06000 r-xp 00000000 08:01 274397 /usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so 7f1db0a06000-7f1db0c05000 ---p 00004000 08:01 274397 /usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so 7f1db0c05000-7f1db0c06000 r--p 00003000 08:01 274397 /usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so 7f1db0c06000-7f1db0c07000 rw-p 00004000 08:01 274397 /usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so 7f1db0c07000-7f1db0d08000 rw-p 00000000 00:00 0 7f1db0d08000-7f1db0d0c000 r-xp 00000000 08:01 521455 /lib/x86_64-linux-gnu/libuuid.so.1.3.0 7f1db0d0c000-7f1db0f0b000 ---p 00004000 08:01 521455 /lib/x86_64-linux-gnu/libuuid.so.1.3.0 7f1db0f0b000-7f1db0f0c000 r--p 00003000 08:01 521455 /lib/x86_64-linux-gnu/libuuid.so.1.3.0 7f1db0f0c000-7f1db0f0d000 rw-p 00004000 08:01 521455 /lib/x86_64-linux-gnu/libuuid.so.1.3.0 7f1db0f0d000-7f1db0f24000 r-xp 00000000 08:01 271415 /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0 7f1db0f24000-7f1db1123000 ---p 00017000 08:01 271415 /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0 7f1db1123000-7f1db1125000 rw-p 00016000 08:01 271415 /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0 7f1db1125000-7f1db1128000 rw-p 00000000 00:00 0 7f1db1128000-7f1db112f000 r-xp 00000000 08:01 271417 /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1 7f1db112f000-7f1db132e000 ---p 00007000 08:01 271417 /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1 7f1db132e000-7f1db132f000 rw-p 00006000 08:01 271417 /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1 7f1db132f000-7f1db1334000 r-xp 00000000 08:01 270065 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0 7f1db1334000-7f1db1533000 ---p 00005000 08:01 270065 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0 7f1db1533000-7f1db1534000 rw-p 00004000 08:01 270065 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0 7f1db1534000-7f1db1537000 r-xp 00000000 08:01 270059 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0 7f1db1537000-7f1db1736000 ---p 00003000 08:01 270059 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0 7f1db1736000-7f1db1737000 r--p 00002000 08:01 270059 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0 7f1db1737000-7f1db1738000 rw-p 00003000 08:01 270059 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0 7f1db1738000-7f1db1797000 r-xp 00000000 08:01 271512 /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0 7f1db1797000-7f1db1997000 ---p 0005f000 08:01 271512 /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0 7f1db1997000-7f1db1998000 r--p 0005f000 08:01 271512 /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0 7f1db1998000-7f1db199d000 rw-p 00060000 08:01 271512 /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0 7f1db199d000-7f1db199e000 rw-p 00000000 00:00 0 7f1db199e000-7f1db19a5000 r-xp 00000000 08:01 521242 /lib/x86_64-linux-gnu/librt-2.18.so 7f1db19a5000-7f1db1ba4000 ---p 00007000 08:01 521242 /lib/x86_64-linux-gnu/librt-2.18.so 7f1db1ba4000-7f1db1ba5000 r--p 00006000 08:01 521242 /lib/x86_64-linux-gnu/librt-2.18.so 7f1db1ba5000-7f1db1ba6000 rw-p 00007000 08:01 521242 /lib/x86_64-linux-gnu/librt-2.18.so 7f1db1ba6000-7f1db1bb1000 r-xp 00000000 08:01 270264 /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0 7f1db1bb1000-7f1db1db0000 ---p 0000b000 08:01 270264 /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0 7f1db1db0000-7f1db1db1000 r--p 0000a000 08:01 270264 /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0 7f1db1db1000-7f1db1db2000 rw-p 0000b000 08:01 270264 /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0 7f1db1db2000-7f1db1db7000 r-xp 00000000 08:01 270342 /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0 7f1db1db7000-7f1db1fb6000 ---p 00005000 08:01 270342 /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0 7f1db1fb6000-7f1db1fb7000 r--p 00004000 08:01 270342 /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0 7f1db1fb7000-7f1db1fb8000 rw-p 00005000 08:01 270342 /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0 7f1db1fb8000-7f1db1fd6000 r-xp 00000000 08:01 270070 /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0 7f1db1fd6000-7f1db21d5000 ---p 0001e000 08:01 270070 /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0 7f1db21d5000-7f1db21d6000 r--p 0001d000 08:01 270070 /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0 7f1db21d6000-7f1db21d7000 rw-p 0001e000 08:01 270070 /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0 7f1db21d7000-7f1db21da000 r-xp 00000000 08:01 270293 /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0.0.0 7f1db21da000-7f1db23da000 ---p 00003000 08:01 270293 /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0.0.0 7f1db23da000-7f1db23db000 r--p 00003000 08:01 270293 /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0.0.0 7f1db23db000-7f1db23dc000 rw-p 00004000 08:01 270293 /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0.0.0 7f1db23dc000-7f1db23f1000 r-xp 00000000 08:01 270334 /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0.0.0 7f1db23f1000-7f1db25f0000 ---p 00015000 08:01 270334 /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0.0.0 7f1db25f0000-7f1db25f2000 r--p 00014000 08:01 270334 /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0.0.0 7f1db25f2000-7f1db25f3000 rw-p 00016000 08:01 270334 /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0.0.0 7f1db25f3000-7f1db25f4000 r-xp 00000000 08:01 270305 /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0 7f1db25f4000-7f1db27f3000 ---p 00001000 08:01 270305 /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0 7f1db27f3000-7f1db27f4000 r--p 00000000 08:01 270305 /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0 7f1db27f4000-7f1db27f5000 rw-p 00001000 08:01 270305 /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0 7f1db27f5000-7f1db27fa000 r-xp 00000000 08:01 270336 /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0 7f1db27fa000-7f1db29f9000 ---p 00005000 08:01 270336 /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0 7f1db29f9000-7f1db29fa000 r--p 00004000 08:01 270336 /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0 7f1db29fa000-7f1db29fb000 rw-p 00005000 08:01 270336 /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0 7f1db29fb000-7f1db29fd000 r-xp 00000000 08:01 270338 /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0 7f1db29fd000-7f1db2bfc000 ---p 00002000 08:01 270338 /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0 7f1db2bfc000-7f1db2bfd000 r--p 00001000 08:01 270338 /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0 7f1db2bfd000-7f1db2bfe000 rw-p 00002000 08:01 270338 /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0 7f1db2bfe000-7f1db2c1f000 r-xp 00000000 08:01 270266 /usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0 7f1db2c1f000-7f1db2e1f000 ---p 00021000 08:01 270266 /usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0 7f1db2e1f000-7f1db2e22000 r--p 00021000 08:01 270266 /usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0 7f1db2e22000-7f1db2e23000 rw-p 00024000 08:01 270266 /usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0 7f1db2e23000-7f1db2e24000 rw-p 00000000 00:00 0 7f1db2e24000-7f1db2f59000 r-xp 00000000 08:01 270078 /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 7f1db2f59000-7f1db3159000 ---p 00135000 08:01 270078 /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 7f1db3159000-7f1db315a000 r--p 00135000 08:01 270078 /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 7f1db315a000-7f1db315f000 rw-p 00136000 08:01 270078 /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 7f1db315f000-7f1db3170000 r-xp 00000000 08:01 270340 /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0 7f1db3170000-7f1db336f000 ---p 00011000 08:01 270340 /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0 7f1db336f000-7f1db3370000 r--p 00010000 08:01 270340 /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0 7f1db3370000-7f1db3371000 rw-p 00011000 08:01 270340 /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0 7f1db3371000-7f1db3380000 r-xp 00000000 08:01 270932 /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0 7f1db3380000-7f1db357f000 ---p 0000f000 08:01 270932 /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0 7f1db357f000-7f1db3580000 r--p 0000e000 08:01 270932 /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0 7f1db3580000-7f1db3581000 rw-p 0000f000 08:01 270932 /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0 7f1db3581000-7f1db3599000 r-xp 00000000 08:01 272833 /usr/lib/x86_64-linux-gnu/libXmu.so.6.2.0 7f1db3599000-7f1db3799000 ---p 00018000 08:01 272833 /usr/lib/x86_64-linux-gnu/libXmu.so.6.2.0 7f1db3799000-7f1db379b000 rw-p 00018000 08:01 272833 /usr/lib/x86_64-linux-gnu/libXmu.so.6.2.0 7f1db379b000-7f1db37b0000 r-xp 00000000 08:01 521230 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f1db37b0000-7f1db39b0000 ---p 00015000 08:01 521230 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f1db39b0000-7f1db39b1000 rw-p 00015000 08:01 521230 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f1db39b1000-7f1db3a96000 r-xp 00000000 08:01 265853 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19 7f1db3a96000-7f1db3c96000 ---p 000e5000 08:01 265853 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19 7f1db3c96000-7f1db3c9e000 r--p 000e5000 08:01 265853 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19 7f1db3c9e000-7f1db3ca0000 rw-p 000ed000 08:01 265853 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19 7f1db3ca0000-7f1db3cb5000 rw-p 00000000 00:00 0 7f1db3cb5000-7f1db3cf7000 r-xp 00000000 08:01 299556 /usr/lib/x86_64-linux-gnu/libglut.so.3.9.0 7f1db3cf7000-7f1db3ef7000 ---p 00042000 08:01 299556 /usr/lib/x86_64-linux-gnu/libglut.so.3.9.0 7f1db3ef7000-7f1db3efb000 r--p 00042000 08:01 299556 /usr/lib/x86_64-linux-gnu/libglut.so.3.9.0 7f1db3efb000-7f1db3f00000 rw-p 00046000 08:01 299556 /usr/lib/x86_64-linux-gnu/libglut.so.3.9.0 7f1db3f00000-7f1db3f6c000 r-xp 00000000 08:01 272794 /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1 7f1db3f6c000-7f1db416c000 ---p 0006c000 08:01 272794 /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1 7f1db416c000-7f1db416d000 r--p 0006c000 08:01 272794 /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1 7f1db416d000-7f1db416e000 rw-p 0006d000 08:01 272794 /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1 7f1db416e000-7f1db41c8000 r-xp 00000000 08:01 270344 /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0 7f1db41c8000-7f1db43c8000 ---p 0005a000 08:01 270344 /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0 7f1db43c8000-7f1db43ca000 r--p 0005a000 08:01 270344 /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0 7f1db43ca000-7f1db43cb000 rw-p 0005c000 08:01 270344 /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0 7f1db43cb000-7f1db43cc000 rw-p 00000000 00:00 0 7f1db43cc000-7f1db444d000 r-xp 00000000 08:01 273938 /usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0 7f1db444d000-7f1db464d000 ---p 00081000 08:01 273938 /usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0 7f1db464d000-7f1db4653000 rw-p 00081000 08:01 273938 /usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0 7f1db4653000-7f1db4658000 rw-p 00000000 00:00 0 7f1db4658000-7f1db46f6000 r-xp 00000000 08:01 270326 /usr/lib/x86_64-linux-gnu/libfreetype.so.6.11.1 7f1db46f6000-7f1db48f5000 ---p 0009e000 08:01 270326 /usr/lib/x86_64-linux-gnu/libfreetype.so.6.11.1 7f1db48f5000-7f1db48fb000 r--p 0009d000 08:01 270326 /usr/lib/x86_64-linux-gnu/libfreetype.so.6.11.1 7f1db48fb000-7f1db48fc000 rw-p 000a3000 08:01 270326 /usr/lib/x86_64-linux-gnu/libfreetype.so.6.11.1 7f1db48fc000-7f1db4922000 r-xp 00000000 08:01 525952 /lib/x86_64-linux-gnu/libpng12.so.0.50.0 7f1db4922000-7f1db4b21000 ---p 00026000 08:01 525952 /lib/x86_64-linux-gnu/libpng12.so.0.50.0 7f1db4b21000-7f1db4b22000 r--p 00025000 08:01 525952 /lib/x86_64-linux-gnu/libpng12.so.0.50.0 7f1db4b22000-7f1db4b23000 rw-p 00026000 08:01 525952 /lib/x86_64-linux-gnu/libpng12.so.0.50.0 7f1db4b23000-7f1db4f84000 r-xp 00000000 08:01 300014 /usr/lib/python2.7/dist-packages/pymol/_cmd.so 7f1db4f84000-7f1db5184000 ---p 00461000 08:01 300014 /usr/lib/python2.7/dist-packages/pymol/_cmd.so 7f1db5184000-7f1db5193000 r--p 00461000 08:01 300014 /usr/lib/python2.7/dist-packages/pymol/_cmd.so 7f1db5193000-7f1db55bd000 rw-p 00470000 08:01 300014 /usr/lib/python2.7/dist-packages/pymol/_cmd.so 7f1db55bd000-7f1db5601000 rw-p 00000000 00:00 0 7f1db5601000-7f1db57c6000 r--p 00000000 08:01 260609 /usr/lib/locale/locale-archive 7f1db57c6000-7f1db5966000 r-xp 00000000 08:01 521248 /lib/x86_64-linux-gnu/libc-2.18.so 7f1db5966000-7f1db5b65000 ---p 001a0000 08:01 521248 /lib/x86_64-linux-gnu/libc-2.18.so 7f1db5b65000-7f1db5b69000 r--p 0019f000 08:01 521248 /lib/x86_64-linux-gnu/libc-2.18.so 7f1db5b69000-7f1db5b6b000 rw-p 001a3000 08:01 521248 /lib/x86_64-linux-gnu/libc-2.18.so 7f1db5b6b000-7f1db5b6f000 rw-p 00000000 00:00 0 7f1db5b6f000-7f1db5c70000 r-xp 00000000 08:01 521245 /lib/x86_64-linux-gnu/libm-2.18.so 7f1db5c70000-7f1db5e70000 ---p 00101000 08:01 521245 /lib/x86_64-linux-gnu/libm-2.18.so 7f1db5e70000-7f1db5e71000 r--p 00101000 08:01 521245 /lib/x86_64-linux-gnu/libm-2.18.so 7f1db5e71000-7f1db5e72000 rw-p 00102000 08:01 521245 /lib/x86_64-linux-gnu/libm-2.18.so 7f1db5e72000-7f1db5e89000 r-xp 00000000 08:01 521435 /lib/x86_64-linux-gnu/libz.so.1.2.8 7f1db5e89000-7f1db6088000 ---p 00017000 08:01 521435 /lib/x86_64-linux-gnu/libz.so.1.2.8 7f1db6088000-7f1db6089000 r--p 00016000 08:01 521435 /lib/x86_64-linux-gnu/libz.so.1.2.8 7f1db6089000-7f1db608a000 rw-p 00017000 08:01 521435 /lib/x86_64-linux-gnu/libz.so.1.2.8 7f1db608a000-7f1db608c000 r-xp 00000000 08:01 521236 /lib/x86_64-linux-gnu/libutil-2.18.so 7f1db608c000-7f1db628b000 ---p 00002000 08:01 521236 /lib/x86_64-linux-gnu/libutil-2.18.so 7f1db628b000-7f1db628c000 r--p 00001000 08:01 521236 /lib/x86_64-linux-gnu/libutil-2.18.so 7f1db628c000-7f1db628d000 rw-p 00002000 08:01 521236 /lib/x86_64-linux-gnu/libutil-2.18.so 7f1db628d000-7f1db6290000 r-xp 00000000 08:01 521240 /lib/x86_64-linux-gnu/libdl-2.18.so 7f1db6290000-7f1db648f000 ---p 00003000 08:01 521240 /lib/x86_64-linux-gnu/libdl-2.18.so 7f1db648f000-7f1db6490000 r--p 00002000 08:01 521240 /lib/x86_64-linux-gnu/libdl-2.18.so 7f1db6490000-7f1db6491000 rw-p 00003000 08:01 521240 /lib/x86_64-linux-gnu/libdl-2.18.so 7f1db6491000-7f1db64a9000 r-xp 00000000 08:01 521234 /lib/x86_64-linux-gnu/libpthread-2.18.so 7f1db64a9000-7f1db66a8000 ---p 00018000 08:01 521234 /lib/x86_64-linux-gnu/libpthread-2.18.so 7f1db66a8000-7f1db66a9000 r--p 00017000 08:01 521234 /lib/x86_64-linux-gnu/libpthread-2.18.so 7f1db66a9000-7f1db66aa000 rw-p 00018000 08:01 521234 /lib/x86_64-linux-gnu/libpthread-2.18.so 7f1db66aa000-7f1db66ae000 rw-p 00000000 00:00 0 7f1db66ae000-7f1db66b2000 r-xp 00000000 08:01 521254 /lib/x86_64-linux-gnu/libSegFault.so 7f1db66b2000-7f1db68b1000 ---p 00004000 08:01 521254 /lib/x86_64-linux-gnu/libSegFault.so 7f1db68b1000-7f1db68b2000 r--p 00003000 08:01 521254 /lib/x86_64-linux-gnu/libSegFault.so 7f1db68b2000-7f1db68b3000 rw-p 00004000 08:01 521254 /lib/x86_64-linux-gnu/libSegFault.so 7f1db68b3000-7f1db68d3000 r-xp 00000000 08:01 521238 /lib/x86_64-linux-gnu/ld-2.18.so 7f1db6902000-7f1db69c2000 rw-p 00000000 00:00 0 7f1db69f3000-7f1db6ab8000 rw-p 00000000 00:00 0 7f1db6acf000-7f1db6ad2000 rw-p 00000000 00:00 0 7f1db6ad2000-7f1db6ad3000 r--p 0001f000 08:01 521238 /lib/x86_64-linux-gnu/ld-2.18.so 7f1db6ad3000-7f1db6ad4000 rw-p 00020000 08:01 521238 /lib/x86_64-linux-gnu/ld-2.18.so 7f1db6ad4000-7f1db6ad5000 rw-p 00000000 00:00 0 7fff4c0d5000-7fff4c0f6000 rw-p 00000000 00:00 0 7fff4c178000-7fff4c17a000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]

20 March 2014

567. Testing daisychain slurm script

I'm using stampede.TACC for jobs that need significantly longer than 48 hours to run. Luckily, John Fonner at the Texas Advanced Computing Centre has been kind enough to prepare a SLURM script that circumvents that through daisychaining jobs.

Note that you should under no circumstances do this unless you've been specifically allowed to do so by your cluster manager. 

If you get clearance, you submit the script and it will run in the background and resubmit scripts until the job is done.


To get the daisychain script, do

mkdir ~/tmp
cd ~/tmp
git clone https://github.com/johnfonner/daisychain.git

This will pull the latest version of daisychain.slurm. Rename it to e.g. edited.slurm

General editing of the slurm script:

1.
 Replace all instances of
 
~/.daisychain

with
 
~/daisychain_$baseSlurmJobName

to avoid conflicts when several jobs are running concurrently

2.
To run the script on your own system which you've set up like shown in this post, change

loginNode="login1"

to

loginNode="localhost"

If you're using stampede.TACC, stick to login1.  

3. For gaussian jobs on stampede.TACC  
A.
put

module load gaussian

before

if [ "$thisJobNumber" -eq "1" ]; then

B
Set up your restart job scripts. For example, if the job section of your slurm script looks like this
mkdir $SCRATCH/gaussian_tmp export GAUSS_SCRDIR=$SCRATCH/gaussian_tmp if [ "$thisJobNumber" -eq "1" ]; then #first job echo "Starting First Job:" g09 < freq.g09in > output_$thisJobNumber else #continuation echo "Starting Continuation Job:" g09 < freq_restart.g09in > output_$thisJobNumber fi
with freq.g09in looking like
%nprocshared=16 %rwf=/scratch/0XXXX/XXXX/gaussian_tmp/ajob.rwf %Mem=2000000000 %Chk=/home1/0XXX/XXXX/myjob/ajob.chk #P rpbe1pbe/GEN 5D Freq() SCF=(MaxCycle=256 ) Punch=(MO) Pop=()
with freq.g09in being something along the lines of
%nprocshared=16 %Mem=2000000000 %rwf=/scratch/0XXX/XXXX/gaussian_tmp/ajob.rwf %Chk=/home1/0XXXX/XXXX/myjob/ajob.chk #P restart
(note that the above example is a bit special since it 1) saves the .rwf (which is huge) and 2) is restarting a frequency job. For a simple geoopt job it's enough to restart from the .chk file.

Testing at home
I set up a home system with slurm as shown here: http://verahill.blogspot.com.au/2014/03/565-setting-up-slurm-on-debian-wheezy.html

First edit the daisychain.slurm script as shown above. Note that your slurm script must end with .slurm for the script to recognise it as a slurm script. You can get around this by editing your script and specifying a job script name.

Specifically, change the run time to
#SBATCH -t 00:00:10 # Run time (hh:mm:ss)
comment out the partition name
##SBATCH -p normal
and change the job section to
#-------------------Job Goes Here-------------------------- if [ "$thisJobNumber" -eq "1" ]; then echo "Starting First Job:" sh sleeptest.sh else echo "Starting Continuation Job:" sh sleeptest_2.sh fi #----------------------------------------------------------

Next set up key-based log in for localhost (if you haven't got a keypair, use ssh-keygen:

cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
ssh localhost
  exit

Create two  job files. sleeptest.sh:
echo "first job" date sleep 65 date
and
echo "second job" date sleep 9 echo "Do nothing"

Submit using
sbatch test.slurm

Make sure to change
#SBATCH -J testx          # Job name
for each job so that you can have several running concurrently.

15 March 2014

566. Briefly: Annoying warnings when plotting using gnuplot and octave on wheezy March 2014.

Note: I'm not going to give a proper fix for this, but rather a work-around -- and one which isn't very good at that.

When using gnuplot or plotting in octave on wheezy I keep getting the following warnings.
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-ukai.conf", line 16: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-ukai.conf", line 16: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-ukai.conf", line 16: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-ukai.conf", line 16: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-ukai.conf", line 16: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-uming.conf", line 16: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-uming.conf", line 16: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-uming.conf", line 16: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-uming.conf", line 16: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-uming.conf", line 16: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-uming.conf", line 28: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-uming.conf", line 28: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-uming.conf", line 28: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-uming.conf", line 28: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/41-arphic-uming.conf", line 28: Having multiple  in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/64-arphic-uming.conf", line 8: Having multiple values in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/64-arphic-uming.conf", line 21: Having multiple values in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/64-arphic-uming.conf", line 34: Having multiple values in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/64-arphic-uming.conf", line 47: Having multiple values in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/65-droid-sans-fonts.conf", line 103: Having multiple values in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/65-droid-sans-fonts.conf", line 138: Having multiple values in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/90-fonts-baekmuk.conf", line 10: Having multiple values in  isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/90-fonts-baekmuk.conf", line 23: Having multiple values in  isn't supported and may not work as expected

My 'solution' was a bit radical -- I had already set up a system with apt-pinning (http://verahill.blogspot.com.au/2014/03/562-pulling-in-glibc-214-from-testing.html) so I figured that pulling in the fonts from testing couldn't hurt, assuming there were no dependencies to worry about.

So I did:
sudo apt-get install -t testing fonts-arphic-uming
and this worked fine.

The old 41-arphic-uming.conf:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

<!--
  Serif faces
 -->
        <alias>
                <family>AR PL ShanHeiSun Uni</family>
                <family>AR PL ShanHeiSun Uni MBE</family>
                <family>AR PL UMing CN</family>
                <family>AR PL UMing HK</family>
                <family>AR PL UMing TW</family>
                <family>AR PL UMing TW MBE</family>
                <default><family>serif</family></default>
        </alias>
<!--
  Monospace faces
 -->
        <alias>
                <family>AR PL ShanHeiSun Uni</family>
                <family>AR PL ShanHeiSun Uni MBE</family>
                <family>AR PL UMing CN</family>
                <family>AR PL UMing HK</family>
                <family>AR PL UMing TW</family>
                <family>AR PL UMing TW MBE</family>
                <default><family>monospace</family></default>
        </alias>
</fontconfig>
The new 41-arphic-uming.conf:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

<!--
  Serif faces
 -->
        <alias>
                <family>AR PL ShanHeiSun Uni</family>
                <default><family>serif</family></default>
        </alias>
        <alias>
                <family>AR PL ShanHeiSun Uni MBE</family>
                <default><family>serif</family></default>
        </alias>
        <alias>
                <family>AR PL UMing CN</family>
                <default><family>serif</family></default>
        </alias>
        <alias>
                <family>AR PL UMing HK</family>
                <default><family>serif</family></default>
        </alias>
        <alias>
                <family>AR PL UMing TW</family>
                <default><family>serif</family></default>
        </alias>
        <alias>
                <family>AR PL UMing TW MBE</family>
                <default><family>serif</family></default>
        </alias>
<!--
  Monospace faces
 -->
        <alias>
                <family>AR PL ShanHeiSun Uni</family>
                <default><family>monospace</family></default>
        </alias>
        <alias>
                <family>AR PL ShanHeiSun Uni MBE</family>
                <default><family>monospace</family></default>
        </alias>
        <alias>
                <family>AR PL UMing CN</family>
                <default><family>monospace</family></default>
        </alias>
        <alias>
                <family>AR PL UMing HK</family>
                <default><family>monospace</family></default>
        </alias>
        <alias>
                <family>AR PL UMing TW</family>
                <default><family>monospace</family></default>
        </alias>
        <alias>
                <family>AR PL UMing TW MBE</family>
                <default><family>monospace</family></default>
        </alias>
</fontconfig>
It just remained to pull in the rest of the offending fonts:
sudo apt-get install -t testing fonts-arphic-ukai fonts-droid fonts-baekmuk

14 March 2014

565. Setting up slurm on debian wheezy (very basic)

I have a problem: I've got access to stampede.tacc in Texas which is using slurm as the queue manager. And while I've got SGE figured out (use it on my own cluster, my collaborator's cluster and it's used on the university cluster) I'm having some conceptual issues with SLURM.

I don't have any problems writing slurm scripts -- it's similar enough to SGE. But nowhere do I see anyone use -cwd or any equivalent in their slurm scripts. Either that is because you don't have to, or it's just an oversight in all of the examples that I've seen.

Learning by doing has also been an issue -- whenever I submit a test job it takes many, many hours before it's run. That's no way to learn.

Either way, it's time for me to become more familiar with slurm, so I've decided to set it up on a dedicated box.

I look at this post while setting it up: http://paolobertasi.wordpress.com/2011/05/24/how-to-install-slurm-on-debian/

NOTE: I set up a single node. This won't deal with getting nodes to communicate, configuring master and submit nodes, or anything lik that.

NOTE: the package slurm is a completely different program (network monitor). You need slurm-llnl

I also wonder whether the name has got anything to with this Slurm...


Installation

sudo apt-get install slurm-llnl
Setting up munge (0.5.10-1) ... Not starting munge (no keys found). Please run /usr/sbin/create-munge-key Setting up slurm-llnl-basic-plugins (2.3.4-2+b1) ... Setting up slurm-llnl (2.3.4-2+b1) ... Not starting slurm-llnl slurm.conf was not found in /etc/slurm-llnl Please follow the instructions in /usr/share/doc/slurm-llnl/README.Debian.gz

Open the local file file:///usr/share/doc/slurm-llnl/slurm-llnl-configurator.html in a web browser and fill out the form. I got the following slurm.conf, which I put in /etc/slurm-llnl/ 
slurm.conf
# slurm.conf file generated by configurator.html. # Put this file on all nodes of your cluster. # See the slurm.conf man page for more information. # ControlMachine=ecce64bit #ControlAddr= #BackupController= #BackupAddr= # AuthType=auth/munge CacheGroups=0 #CheckpointType=checkpoint/none CryptoType=crypto/munge #DisableRootJobs=NO #EnforcePartLimits=NO #Epilog= #PrologSlurmctld= #FirstJobId=1 JobCheckpointDir=/var/lib/slurm-llnl/checkpoint #JobCredentialPrivateKey= #JobCredentialPublicCertificate= #JobFileAppend=0 #JobRequeue=1 #KillOnBadExit=0 #Licenses=foo*4,bar #MailProg=/usr/bin/mail #MaxJobCount=5000 #MaxTasksPerNode=128 MpiDefault=none #MpiParams=ports=#-# #PluginDir= #PlugStackConfig= #PrivateData=jobs ProctrackType=proctrack/pgid #Prolog= #PrologSlurmctld= #PropagatePrioProcess=0 #PropagateResourceLimits= #PropagateResourceLimitsExcept= ReturnToService=1 #SallocDefaultCommand= SlurmctldPidFile=/var/run/slurm-llnl/slurmctld.pid SlurmctldPort=6817 SlurmdPidFile=/var/run/slurm-llnl/slurmd.pid SlurmdPort=6818 SlurmdSpoolDir=/var/lib/slurm-llnl/slurmd SlurmUser=verahill #SrunEpilog= #SrunProlog= StateSaveLocation=/var/lib/slurm-llnl/slurmctld SwitchType=switch/none #TaskEpilog= TaskPlugin=task/none #TaskPluginParam= #TaskProlog= #TopologyPlugin=topology/tree #TmpFs=/tmp #TrackWCKey=no #TreeWidth= #UnkillableStepProgram= #UnkillableStepTimeout= #UsePAM=0 # # # TIMERS #BatchStartTimeout=10 #CompleteWait=0 #EpilogMsgTime=2000 #GetEnvTimeout=2 #HealthCheckInterval=0 #HealthCheckProgram= InactiveLimit=0 KillWait=30 #MessageTimeout=10 #ResvOverRun=0 MinJobAge=300 #OverTimeLimit=0 SlurmctldTimeout=300 SlurmdTimeout=300 #UnkillableStepProgram= #UnkillableStepTimeout=60 Waittime=0 # # # SCHEDULING #DefMemPerCPU=0 #EnablePreemption=no FastSchedule=1 #MaxMemPerCPU=0 #SchedulerRootFilter=1 #SchedulerTimeSlice=30 SchedulerType=sched/backfill SchedulerPort=7321 SelectType=select/linear #SelectTypeParameters= # # # JOB PRIORITY #PriorityType=priority/basic #PriorityDecayHalfLife= #PriorityCalcPeriod= #PriorityFavorSmall= #PriorityMaxAge= #PriorityUsageResetPeriod= #PriorityWeightAge= #PriorityWeightFairshare= #PriorityWeightJobSize= #PriorityWeightPartition= #PriorityWeightQOS= # # # LOGGING AND ACCOUNTING #AccountingStorageEnforce=0 #AccountingStorageHost= #AccountingStorageLoc= #AccountingStoragePass= #AccountingStoragePort= AccountingStorageType=accounting_storage/none #AccountingStorageUser= ClusterName=cluster #DebugFlags= #JobCompHost= #JobCompLoc= #JobCompPass= #JobCompPort= JobCompType=jobcomp/none #JobCompUser= JobAcctGatherFrequency=30 JobAcctGatherType=jobacct_gather/none SlurmctldDebug=3 SlurmctldLogFile=/var/log/slurm-llnl/slurmctld.log SlurmdDebug=3 SlurmdLogFile=/var/log/slurm-llnl/slurmd.log # # # POWER SAVE SUPPORT FOR IDLE NODES (optional) #SuspendProgram= #ResumeProgram= #SuspendTimeout= #ResumeTimeout= #ResumeRate= #SuspendExcNodes= #SuspendExcParts= #SuspendRate= #SuspendTime= # # # COMPUTE NODES NodeName=ecce64bit Procs=1 State=UNKNOWN PartitionName=debug Nodes=ecce64bit Default=YES MaxTime=INFINITE State=UP

sudo /usr/sbin/create-munge-key
sudo service slurm-llnl start
[ ok ] Starting slurm central management daemon: slurmctld.
[ ok ] Starting slurm compute node daemon: slurmd.
sudo service munge start
[ ok ] Starting MUNGE: munged.

At that point I tried sinfo, squeue etc., none of which returned anything other than a connection error:
squeue
slurm_load_jobs error: Unable to contact slurm controller (connect failure)
sinfo
slurm_load_partitions: Unable to contact slurm controller (connect failure)
So I rebooted. Which had no effect.The log file /var/log/slurm-llnl/slurmctld.log contains
fatal: Incorrect permissions on state save loc: /var/lib/slurm-llnl/slurmctld
verahill@ecce64bit:~$ sudo chown verahill /var/lib/slurm-llnl/slurmctld verahill@ecce64bit:~$ sudo service slurm-llnl restart
[ ok ] Stopping slurm central management daemon: slurmctld. No /usr/sbin/slurmctld found running; none killed. [ ok ] Stopping slurm compute node daemon: slurmd. No /usr/sbin/slurmd found running; none killed. slurmd dead but pid file exists [ ok ] Starting slurm central management daemon: slurmctld. [ ok ] Starting slurm compute node daemon: slurmd.
verahill@ecce64bit:~$ ps aux|grep slurm
verahill 3790 0.0 0.2 116164 2292 ? Sl 21:12 0:00 /usr/sbin/slurmctld root 3829 0.0 0.1 95064 1380 ? S 21:12 0:00 /usr/sbin/slurmd
verahill@ecce64bit:~$ squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
verahill@ecce64bit:~$ sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST debug* up infinite 1 idle ecce64bit

Testing
 
verahill@ecce64bit:~$ srun --ntasks=1  --label /bin/hostname && pwd && whoami
0: ecce64bit /home/verahill verahill

Time to write a simple queue script:
job.slurm
#!/bin/bash #SBATCH -J pbe_delta # Job name #SBATCH -o pbe_delta.o%j # Name of stdout output file(%j expands to jobId) #SBATCH -e pbe_delta.o%j # Name of stderr output file(%j expands to jobId) #SBATCH -N 1 # Total number of nodes requested (16 cores/node) #SBATCH -n 1 #SBATCH -t 48:00:00 # Run time (hh:mm:ss) date> output.out pwd >> output.out hostname >> output.out ls -lah
I submitted it using
sbatch job.slurm

and on running it gives two output files:
output.out
Fri Mar 14 17:16:10 EST 2014
/home/verahill/slurm/test
Ecce64bit
and pbe_delta.o4
total 16K
drwxr-xr-x 2 verahill verahill 4.0K Mar 14 17:16 .
drwxr-xr-x 3 verahill verahill 4.0K Mar 14 17:14 ..
-rw-r--r-- 1 verahill verahill  491 Mar 14 17:16 job.slurm
-rw-r--r-- 1 verahill verahill   59 Mar 14 17:16 output.out
-rw-r--r-- 1 verahill verahill    0 Mar 14 17:15 pbe_delta.o3
-rw-r--r-- 1 verahill verahill    0 Mar 14 17:16 pbe_delta.o4

564.Very, very briefly: ps2pdf not working on jessie 12 March 2014

Update: see second comment below post.

ps2pdf example.ps produces

Error: /typecheck in /findfont
Operand stack:
   -66.7   --nostringval--   0   --nostringval--   --nostringval--   {}
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1910   1   3   %oparray_pop   1909   1   3   %oparray_pop   1893   1   3   %oparray_pop   1787   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   --nostringval--   %array_continue   --nostringval--   1868   6   6   %oparray_pop
Dictionary stack:
   --dict:1164/1684(ro)(G)--   --dict:0/20(G)--   --dict:78/200(L)--   --dict:196/300(L)--   --dict:44/200(L)--   --dict:194/256(L)--
Current allocation mode is local
Current file position is 393007
GPL Ghostscript 9.05: Unrecoverable error, exit code 1
The workaround is to remove the package  fonts-font-awesome, which will remove texlive-fonts-extra. As far as I understand a fix is included upstreams and will work its way down to Jessie eventually.

11 March 2014

563. High disk i/o caused by find/sort <- updatedb

High disk I/O, leading to system slowdown, has been bothering me a lot recently. Most of the time I've simply blamed it on ECCE, and while the situation gets better when ECCE isn't running, it's still occasionally very bad.

Diagnosis

iotop shows
 Total DISK READ:       3.48 M/s | Total DISK WRITE:    1193.67 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                                                                                                                     
25565 be/4 root        3.46 M/s    0.00 B/s  0.00 % 76.92 % find / ( -fstype nfs -o -fstype NFS -o -fstype proc -o -fstype afs -o -fstype smbfs -o -~$\)\|\(^/var/tmp$\)\|\(^/afs$\)\|\(^/amd$\)\|\(^/sfs$\)\|\(^/proc$\) ) -prune -o -print0
ps aux|grep 2556[0-9]
root     25562  0.0  0.0  18620   336 ?        S    12:33   0:00 /bin/sh /usr/bin/updatedb

root     25563 26.2  0.1  25996 12400 ?        S    12:33   1:51 /usr/bin/sort -z -f
root     25564  0.0  0.0   4216   116 ?        S    12:33   0:00 /usr/lib/locate/frcode -0
root     25565 24.2  0.0  19024   956 ?        R    12:33   1:09 /usr/bin/find / ( -fstype nfs -o -fstype NFS -o -fstype proc -o -fstype afs -o -fstype smbfs -o -fstype autofs -o -fstype iso9660 -o -fstype ncpfs -o -fstype coda -o -fstype devpts -o -fstype ftpfs -o -fstype devfs -o -fstype mfs -o -fstype sysfs -o -fstype shfs -o -type d -regex \(^/tmp$\)\|\(^/usr/tmp$\)\|\(^/var/tmp$\)\|\(^/afs$\)\|\(^/amd$\)\|\(^/sfs$\)\|\(^/proc$\) ) -prune -o -print0
Heading deeper down the rabbit hole:
me@beryllium:~$ ps -p 25565 -o ppid=
25562
me@beryllium:~$ ps -p 25562 -o ppid=
25554
me@beryllium:~$ ps -p 25554 -o ppid=
25553
me@beryllium:~$ ps -p 25553 -o ppid=
25552
me@beryllium:~$ ps -p 25552 -o ppid=
 4315
me@beryllium:~$ ps -p 4315 -o ppid=
    1
me@beryllium:~$ ps aux|grep 4315
root      4315  0.0  0.0  26124   428 ?        Ss   Mar07   0:05 /usr/sbin/cron
me@beryllium:~$ ps aux|grep 25552
root     25552  0.0  0.0  64068   844 ?        S    12:33   0:00 /USR/SBIN/CRON
me@beryllium:~$ ps aux|grep 25554
root     25554  0.0  0.0  18620   588 ?        S    12:33   0:00 /bin/sh /usr/bin/updatedb

So, updatedb is starting 25565, which is bogging down the computer. updatedb is starting 25565, and updatedb is started as a cron job. updatedb is run in order to update the locate database, and locate is a powerful file search function -- whereas find searches on the fly, locate consults a database.

At this point its probably a good idea to mention that I have a 4 Tb system, plus four mounted NFS folders with many Gb of content.

Either way, the only thing that remains is to identify which cron job is launching updatedb:

me@beryllium:~$ egrep "updatedb" /etc/cron.*/*
/etc/cron.daily/locate:# Please consult updatedb(1) and /usr/share/doc/locate/README.Debian
/etc/cron.daily/locate:[ -e /usr/bin/updatedb.findutils ] || exit 0
/etc/cron.daily/locate:# filesystems which are pruned from updatedb database
/etc/cron.daily/locate:# paths which are pruned from updatedb database
/etc/cron.daily/locate:if [ -r /etc/updatedb.findutils.cron.local ] ; then
/etc/cron.daily/locate: . /etc/updatedb.findutils.cron.local
/etc/cron.daily/locate:  cd / && nice -n ${NICE:-10} updatedb.findutils 2>/dev/null


Solution:
locate is a powerful command which I use frequently, but I'd be happy to change the frequency of updatedb to once per week instead of once per day, especially if running it takes hours.

sudo mv /etc/cron.daily/locate /etc/cron.weekly/locate

We can also work on excluding paths.
me@beryllium:~$ cat /etc/cron.weekly/locate |grep PRUNE
PRUNEFS="NFS nfs nfs4 afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf ocfs2"
PRUNEPATHS="/tmp /usr/tmp /var/tmp /afs /amd /alex /var/spool /sfs /media /var/lib/schroot/mount"
export FINDOPTIONS PRUNEFS PRUNEPATHS NETPATHS LOCALUSER

So my NFS folders are already excluded through PRUNEFS, but it might be worth throwing more paths into PRUNEPATHS. In my case I'm quite happy with a full run every week.

Update: I also discovered that I'd put an updatedb job manually in /etc/crontab which was run once every three hours. The cron.daily script was run at 6 am, and so was unlikely to cause slowdown during times when I'm actually at work. Instead it was the script I'd set up myself that was the culprit.

06 March 2014

562. Pulling in glibc >=2.14 from testing to stable: apt-pinning

Mixing releases is dangerous and can lead to broken systems.

Having said that, increasingly a lot of programs seem to rely on glibc >=2.14, and wheezy (current stable) only has 2.13.


Apt-pinning:

Edit the following files:
/etc/apt/sources.list
deb http://ftp.iinet.net.au/debian/debian wheezy main contrib non-free
deb http://ftp.iinet.net.au/debian/debian wheezy-backports main
deb http://ftp.iinet.net.au/debian/debian jessie main contrib non-free 

/etc/apt/preferences
Package: *
Pin: release a=testing
Pin-Priority: 10

Package: *
Pin: release a=stable
Pin-Priority: 900

Then run
sudo apt-get update

Installation

Installing glibc >=2.13 from testing
sudo apt-get install -t testing libc6-dev


Every package you install takes you closer to trouble...

04 March 2014

561. b3pw91 in nwchem and g09

UPDATE: there was an error in the earlier version where I gave the wrong energy for the b3pw91 functional in nwchem. In the old version the energy I provided was very close to that of acm in nwchem rather than b3pw91 in g09.

Note that for a large molecule with a medium sized basis set (101 atoms, ca 1100 functions,  ca 2200 primitives) the energy difference between b3pw91 in g09 and b3pw91 in nwchem as defined below is 0.0124 Hartree, which is pretty big (7.8 kcal/mol), although in absolute terms it's quite small (nwchem: -6187.741840960054 Hartree. g09: -6187.75427966 Hartree).

The difference is a lot smaller for the small molecule in the example below.

Original post:
According to http://www.nwchem-sw.org/index.php/Special:AWCforum/st/id721/Are_these_definitions_correct_fo....html b3pw91 (as defined in Gaussian 09) and acm (as defined in nwchem) are identical.

Looking at the energies I've been getting, that's not true when it comes to G09 and NWCHEM.


That acm and b3pw91 are the same should be reasonable -- b3 indicates that it's Becke's 3-parameter hybrid exchange correlation functional model, which is also known as the Adiabatic Connection Method (ACM).

For historical reasons, g98 implemented the ACM as B3LYP, by using LYP instead of PW91, and using VWN_1_RPA and a few other tricks -- see section 2 in http://verahill.blogspot.com.au/2013/06/446-b3lyp-and-wah-confusion.html

Then it would stand to reason that B3PW91 would be the 'canonical' version of Becke's 3-parameter functional.

Looking at http://www.nwchem-sw.org/index.php/Release62:Density_Functional_Theory_for_Molecules acm is defined as

xc HFexch 0.2 slater 0.8 becke88 nonlocal 0.72 vwn_5 1 Perdew91 0.81

(there are several versions of VWN -- I know it's vwn_5 from the output)


Either way, using acm in a single energy calculation (no optimisation) in nwchem on a water molecule with 6-31+G* (acm/6-31+G*) gives
-76.358375905073 Hartree

G09 using B3PW91/6-31+G* (manually defined basis set so we're using the same form in both nwchem and g09) gives
 -76.3557851653 Hartree

nwchem using
xc HFexch 0.2 slater 0.8 becke88 nonlocal 0.72 vwn_5 1 Perdew91 0.81
gives
-76.358375905072 Hartree

and nwchem using
XC HFexch 0.20 slater 0.80 becke88 nonlocal 0.72 perdew91 0.81 pw91lda 1.00
obtained from http://myweb.liu.edu/~nmatsuna/gamess/refs/howto.dft.html,gives
-76.355784373093 Hartree

This last definition is thus equivalent to b3pw91 in g09.

The gaussian manual is less than helpful. In fact it is quite misleading:
"These functionals have the form devised by Becke in 1993 [Becke93a]:
A*EXSlater+(1-A)*EXHF+B*ΔEXBecke+ECVWN+C*ΔECnon-local
[..] B3LYP uses the non-local correlation provided by the LYP expression, and VWN functional III for local correlation (not functional V). [..]B3P86 specifies the same functional with the non-local correlation provided by Perdew 86, and B3PW91 specifies this functional with the non-local correlation provided by Perdew/Wang 91.


Addendum:
While I think B3PW91 should be the same as ACM in nwchem (note that nwchem does not have b3pw91 as a keyword), I decided to have a look at how different packages define b3pw91.

nwchem -- doesn't exist. Manual.

g09 (this post) -- xc HFexch 0.20 slater 0.80 becke88 nonlocal 0.72 perdew91 0.81 pw91lda 1.00

gamess US (here) -- xc HFexch 0.20 slater 0.80 becke88 nonlocal 0.72 perdew91 0.81 pw91lda 1.00

PQS (page 52, manual) Paraphrased:
"B3PW91 -- hybrid 3-parameter HF-DFT functional comprising combination of Slater local exchange, Becke nonlocal exchange, VWN 5 local correlation and PW91 nonlocal correlation together with a portion (20%) of the exact Hartree-Fock exchange (original 3-parameter hybrid recommended by Becke)". That to me sounds like ACM.

Turbomol -- not available. Manual.

Orca -- "B3PW The three-parameter hybrid version of PW91". Not informative.

molpro -- doesn't exist. manual

Dalton -- (page 285, manual).
"B3PW91 3-parameter Becke-PW91 functional, with PW91 correlation functional. Note that PW91c includes PW92c local correlation, thus only excess PW92c local correlation is required (coe cient of 0.19).
Combine HF=0.2 Slater=0.8 Becke=0.72 PW91c=0.81 PW92c=0.19"
So the local correlation is 1*PW92c= 0.81 PW91c + 0.19 PW92c. This is, I presume, is quite different from VWN.

Q-Chem -- "B3PW91 (B3 Exchange + PW91 correlation)". Not explicit enough for me.


560. Globus and XSEDE/Stampede on linux

I'm currently applying for extra computing resources via XSEDE through my US collaborators.

While joining XSEDE was as easy as signing up to any other website, and the system with a Campus Champion works really well, transferring files to and from your desktop and the compute resource (here stampede.tacc) is a bit trickier.

As an XSEDE user you can't transfer files directly to the compute resource via sftp.

I first tried the XSEDEFileManager.jar XUP application, and while it connected fine to stampede, it wouldn't allow the transfer of any files. Maybe it has to do with me using openjdk, maybe not.

I then tried the browser version of XUP, but it wouldn't even allow me to connect to a compute resource.

I then tried Globus Online, which is a service for transferring large data files which is managed by the University of Chicago.

1.The first step is to sign up for Globus Online. You'll get a confirmation email, click a link and you're up and running.

2. Follow this: https://support.globus.org/entries/23881557-Globus-Connect-Personal-for-Linux.
Install the desktop client so that you can set up your desktop as an endpoint. That involves several steps:

A. make sure you have tcl/tk installed. On Debian
sudo apt-get install tk tcl tcllib

B. make sure that you have ssh keys
ls ~/.ssh/id*

There should be a file/files called id_rsa and/or id_dsa as well as the same files with .pub endings.

If you don't, then generate ssh keys using
ssh-keygen

C. Log on to globus online and go to manage endpoints, click on "add Globus Connect Personal".



Enter a name for the system, e.g. Beryllium

A setup key will be generated -- you'll need this to set up the desktop client.

Click on the Linux link to download the linux client (globusconnect-latest.tgz)


D. In e.g. your ~/Downloads, do
tar xvf globusconnect-latest.tgz
cd globusconnectpersonal-2.0.2/
sudo mv globusconnectpersonal-2.0.2 /usr/local/bin
/usr/local/bin/globusconnectpersonal-2.0.2/globusconnectpersonal

Enter the code. You can then reload the end point manager window and the status should be changed to ready.



3. Next you'll go to 'Transfer Files' on the Globus Online website. Pick the right endpoints and transfer away!