[PyMOL] Pymol segmentation fault
Hi, I'm having an issue trying to run various plugins in pymol (apbs and autodock). Whenever I select a button that should bring up a file browser to choose a file (e.g. Choose Externally generated pqr in apbs) Pymol exits with: Segmentation fault (core dumped). Same thing happens when I go to HelpAbout. I can open and save files normally, and just about everything else works. I've tried this in pymol 1.1r2pre, where I can at least get the apbs plugin window to open, as well as the 1.2 trunk from svn (downloaded and compiled last week) which just crashes when I try to open the apbs window (I can install autodock.py and the window opens, but it crashes when I try to choose the location of files). I'm guessing this is something to do with the gui and tcl/tk, but don't have any idea how to troubleshoot (see the catchsegv output below). I'm running Ubuntu 9.10 on x86_64 and have a GeForce 8400M GS/PCI/SSE2 with the proprietory nvidia driver 185.18.36. Does anyone have any thoughts? Here is the backtrace portion from catchsegv: Backtrace: /usr/lib/libtcl8.5.so.0[0x7f63977b3eb0] /usr/lib/libtcl8.5.so.0(Tcl_CreateHashEntry+0x59)[0x7f6397761839] /usr/lib/libtcl8.4.so.0(Tcl_FindNamespaceVar+0xff)[0x7f6391d8352f] /usr/lib/libtcl8.4.so.0(TclLookupSimpleVar+0xfb)[0x7f6391d9bf0b] /usr/lib/libtcl8.4.so.0(TclLookupVar+0xab)[0x7f6391d9b70b] /usr/lib/libtcl8.4.so.0(Tcl_SetVar2Ex+0x59)[0x7f6391d9c8e9] /usr/lib/libtcl8.4.so.0(Tcl_SetVar2+0x4f)[0x7f6391d9c80f] /usr/lib/libBLT.2.4.so.8.4(Blt_Init+0x169)[0x7f6392311859] /usr/lib/libtcl8.5.so.0[0x7f639777dee6] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f63977543b8] /usr/lib/libtcl8.5.so.0(TclObjInterpProcCore+0x110)[0x7f6397796ed0] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f6397710a5f] /usr/lib/libtcl8.5.so.0[0x7f63977926d1] /usr/lib/libtcl8.5.so.0(Tcl_PkgRequireProc+0x9)[0x7f6397792209] /usr/lib/libtcl8.5.so.0[0x7f6397793192] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0(Tcl_EvalObjv+0x43)[0x7f6397710413] /usr/lib/python2.6/lib-dynload/_tkinter.so[0x7f6398063a32] /usr/bin/python(PyEval_EvalFrameEx+0x52fd)[0x4a290d] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python(PyEval_EvalFrameEx+0x4e4f)[0x4a245f] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python(PyEval_EvalFrameEx+0x4e4f)[0x4a245f] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python[0x52bdf0] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python[0x4254ff] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python(PyEval_CallObjectWithKeywords+0x43)[0x49c623] /usr/bin/python[0x49c06f] /usr/bin/python(PyEval_EvalFrameEx+0x52fd)[0x4a290d] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python[0x52bdf0] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python[0x4254ff] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python(PyEval_CallObjectWithKeywords+0x43)[0x49c623] /usr/lib/python2.6/lib-dynload/_tkinter.so[0x7f6398061376] /usr/lib/libtcl8.5.so.0(TclInvokeStringCommand+0x7f)[0x7f639770e80f] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f63977543b8] /usr/lib/libtcl8.5.so.0[0x7f63977527b9] /usr/lib/libtcl8.5.so.0(TclEvalObjEx+0x196)[0x7f6397711706] /usr/lib/libtk8.5.so.0[0x7f6397a556f6] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0(Tcl_EvalObjv+0x43)[0x7f6397710413] /usr/lib/libtcl8.5.so.0(TclEvalObjEx+0x300)[0x7f6397711870] /usr/lib/libtcl8.5.so.0[0x7f639779668f] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f63977543b8] /usr/lib/libtcl8.5.so.0(TclObjInterpProcCore+0x110)[0x7f6397796ed0] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f6397710a5f] /usr/lib/libtk8.5.so.0(Tk_BindEvent+0x890)[0x7f6397a29c90] /usr/lib/libtk8.5.so.0(TkBindEventProc+0x185)[0x7f6397a2fa35] /usr/lib/libtk8.5.so.0(Tk_HandleEvent+0x6c0)[0x7f6397a374c0] /usr/lib/libtk8.5.so.0[0x7f6397a37b48] /usr/lib/libtcl8.5.so.0(Tcl_ServiceEvent+0x7f)[0x7f639778764f] /usr/lib/libtcl8.5.so.0(Tcl_DoOneEvent+0x8f)[0x7f63977878ff] /usr/lib/python2.6/lib-dynload/_tkinter.so[0x7f639805f201] /usr/bin/python(PyEval_EvalFrameEx+0x52fd)[0x4a290d] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python(PyEval_EvalFrameEx+0x4e4f)[0x4a245f] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python(PyEval_EvalFrameEx+0x4e4f)[0x4a245f] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python[0x52beed] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python(PyEval_EvalFrameEx+0x3921)[0x4a0f31] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python[0x52bdf0]
Re: [PyMOL] Pymol segmentation fault
Ian, Based on that traceback, it looks like you have two conflicting versions of Tcl (8.4 as well as 8.5) linked against and running in the same process...that could be the source of the crash. Cheers, Warren From: Ian Berke [mailto:ian.be...@yale.edu] Sent: Thursday, September 24, 2009 11:26 AM To: pymol-users@lists.sourceforge.net Subject: [PyMOL] Pymol segmentation fault Hi, I'm having an issue trying to run various plugins in pymol (apbs and autodock). Whenever I select a button that should bring up a file browser to choose a file (e.g. Choose Externally generated pqr in apbs) Pymol exits with: Segmentation fault (core dumped). Same thing happens when I go to HelpAbout. I can open and save files normally, and just about everything else works. I've tried this in pymol 1.1r2pre, where I can at least get the apbs plugin window to open, as well as the 1.2 trunk from svn (downloaded and compiled last week) which just crashes when I try to open the apbs window (I can install autodock.py and the window opens, but it crashes when I try to choose the location of files). I'm guessing this is something to do with the gui and tcl/tk, but don't have any idea how to troubleshoot (see the catchsegv output below). I'm running Ubuntu 9.10 on x86_64 and have a GeForce 8400M GS/PCI/SSE2 with the proprietory nvidia driver 185.18.36. Does anyone have any thoughts? Here is the backtrace portion from catchsegv: Backtrace: /usr/lib/libtcl8.5.so.0[0x7f63977b3eb0] /usr/lib/libtcl8.5.so.0(Tcl_CreateHashEntry+0x59)[0x7f6397761839] /usr/lib/libtcl8.4.so.0(Tcl_FindNamespaceVar+0xff)[0x7f6391d8352f] /usr/lib/libtcl8.4.so.0(TclLookupSimpleVar+0xfb)[0x7f6391d9bf0b] /usr/lib/libtcl8.4.so.0(TclLookupVar+0xab)[0x7f6391d9b70b] /usr/lib/libtcl8.4.so.0(Tcl_SetVar2Ex+0x59)[0x7f6391d9c8e9] /usr/lib/libtcl8.4.so.0(Tcl_SetVar2+0x4f)[0x7f6391d9c80f] /usr/lib/libBLT.2.4.so.8.4(Blt_Init+0x169)[0x7f6392311859] /usr/lib/libtcl8.5.so.0[0x7f639777dee6] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f63977543b8] /usr/lib/libtcl8.5.so.0(TclObjInterpProcCore+0x110)[0x7f6397796ed0] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f6397710a5f] /usr/lib/libtcl8.5.so.0[0x7f63977926d1] /usr/lib/libtcl8.5.so.0(Tcl_PkgRequireProc+0x9)[0x7f6397792209] /usr/lib/libtcl8.5.so.0[0x7f6397793192] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0(Tcl_EvalObjv+0x43)[0x7f6397710413] /usr/lib/python2.6/lib-dynload/_tkinter.so[0x7f6398063a32] /usr/bin/python(PyEval_EvalFrameEx+0x52fd)[0x4a290d] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python(PyEval_EvalFrameEx+0x4e4f)[0x4a245f] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python(PyEval_EvalFrameEx+0x4e4f)[0x4a245f] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python[0x52bdf0] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python[0x4254ff] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python(PyEval_CallObjectWithKeywords+0x43)[0x49c623] /usr/bin/python[0x49c06f] /usr/bin/python(PyEval_EvalFrameEx+0x52fd)[0x4a290d] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python[0x52bdf0] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python[0x4254ff] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python(PyEval_CallObjectWithKeywords+0x43)[0x49c623] /usr/lib/python2.6/lib-dynload/_tkinter.so[0x7f6398061376] /usr/lib/libtcl8.5.so.0(TclInvokeStringCommand+0x7f)[0x7f639770e80f] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f63977543b8] /usr/lib/libtcl8.5.so.0[0x7f63977527b9] /usr/lib/libtcl8.5.so.0(TclEvalObjEx+0x196)[0x7f6397711706] /usr/lib/libtk8.5.so.0[0x7f6397a556f6] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0(Tcl_EvalObjv+0x43)[0x7f6397710413] /usr/lib/libtcl8.5.so.0(TclEvalObjEx+0x300)[0x7f6397711870] /usr/lib/libtcl8.5.so.0[0x7f639779668f] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f63977543b8] /usr/lib/libtcl8.5.so.0(TclObjInterpProcCore+0x110)[0x7f6397796ed0] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f6397710a5f] /usr/lib/libtk8.5.so.0
Re: [PyMOL] Pymol segmentation fault
Does anyone have any thoughts? Two things to try that may or may not help: 1. Check if the problem persists when running pymol in single-threaded mode (cmd.set('max_threads',1)). libpthread in the trace might indicate that one of the libraries is having issues with multiple threads. 2. On Kubuntu 8.04.3 LTS x64, I can't reproduce the problem with 1.2 from svn trunk. This is using Tcl/Tk 8.4 (with pymol using it's own source build of python 2.4.2, which may or may not be relevant); so installing Tcl/Tk 8.4 instead of 8.5 (source or binary) might help resolve the problem, or at least eliminate one possible source. Pete Here is the backtrace portion from catchsegv: Backtrace: /usr/lib/libtcl8.5.so.0[0x7f63977b3eb0] /usr/lib/libtcl8.5.so.0(Tcl_CreateHashEntry+0x59)[0x7f6397761839] /usr/lib/libtcl8.4.so.0(Tcl_FindNamespaceVar+0xff)[0x7f6391d8352f] /usr/lib/libtcl8.4.so.0(TclLookupSimpleVar+0xfb)[0x7f6391d9bf0b] /usr/lib/libtcl8.4.so.0(TclLookupVar+0xab)[0x7f6391d9b70b] /usr/lib/libtcl8.4.so.0(Tcl_SetVar2Ex+0x59)[0x7f6391d9c8e9] /usr/lib/libtcl8.4.so.0(Tcl_SetVar2+0x4f)[0x7f6391d9c80f] /usr/lib/libBLT.2.4.so.8.4(Blt_Init+0x169)[0x7f6392311859] /usr/lib/libtcl8.5.so.0[0x7f639777dee6] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f63977543b8] /usr/lib/libtcl8.5.so.0(TclObjInterpProcCore+0x110)[0x7f6397796ed0] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f6397710a5f] /usr/lib/libtcl8.5.so.0[0x7f63977926d1] /usr/lib/libtcl8.5.so.0(Tcl_PkgRequireProc+0x9)[0x7f6397792209] /usr/lib/libtcl8.5.so.0[0x7f6397793192] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0(Tcl_EvalObjv+0x43)[0x7f6397710413] /usr/lib/python2.6/lib-dynload/_tkinter.so[0x7f6398063a32] /usr/bin/python(PyEval_EvalFrameEx+0x52fd)[0x4a290d] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python(PyEval_EvalFrameEx+0x4e4f)[0x4a245f] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python(PyEval_EvalFrameEx+0x4e4f)[0x4a245f] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python[0x52bdf0] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python[0x4254ff] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python(PyEval_CallObjectWithKeywords+0x43)[0x49c623] /usr/bin/python[0x49c06f] /usr/bin/python(PyEval_EvalFrameEx+0x52fd)[0x4a290d] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python[0x52bdf0] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python[0x4254ff] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python(PyEval_CallObjectWithKeywords+0x43)[0x49c623] /usr/lib/python2.6/lib-dynload/_tkinter.so[0x7f6398061376] /usr/lib/libtcl8.5.so.0(TclInvokeStringCommand+0x7f)[0x7f639770e80f] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f63977543b8] /usr/lib/libtcl8.5.so.0[0x7f63977527b9] /usr/lib/libtcl8.5.so.0(TclEvalObjEx+0x196)[0x7f6397711706] /usr/lib/libtk8.5.so.0[0x7f6397a556f6] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0(Tcl_EvalObjv+0x43)[0x7f6397710413] /usr/lib/libtcl8.5.so.0(TclEvalObjEx+0x300)[0x7f6397711870] /usr/lib/libtcl8.5.so.0[0x7f639779668f] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f63977543b8] /usr/lib/libtcl8.5.so.0(TclObjInterpProcCore+0x110)[0x7f6397796ed0] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f6397710a5f] /usr/lib/libtk8.5.so.0(Tk_BindEvent+0x890)[0x7f6397a29c90] /usr/lib/libtk8.5.so.0(TkBindEventProc+0x185)[0x7f6397a2fa35] /usr/lib/libtk8.5.so.0(Tk_HandleEvent+0x6c0)[0x7f6397a374c0] /usr/lib/libtk8.5.so.0[0x7f6397a37b48] /usr/lib/libtcl8.5.so.0(Tcl_ServiceEvent+0x7f)[0x7f639778764f] /usr/lib/libtcl8.5.so.0(Tcl_DoOneEvent+0x8f)[0x7f63977878ff] /usr/lib/python2.6/lib-dynload/_tkinter.so[0x7f639805f201] /usr/bin/python(PyEval_EvalFrameEx+0x52fd)[0x4a290d] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python(PyEval_EvalFrameEx+0x4e4f)[0x4a245f] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python(PyEval_EvalFrameEx+0x4e4f)[0x4a245f] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python[0x52beed] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python(PyEval_EvalFrameEx+0x3921)[0x4a0f31] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python[0x52bdf0] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python[0x4254ff] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python(PyEval_CallObjectWithKeywords+0x43)[0x49c623] /usr/bin/python[0x4d0c4d] /lib/libpthread.so.0[0x7f639cf69a04] /lib/libc.so.6(clone+0x6d)[0x7f639c4317bd] Thanks, Ian
Re: [PyMOL] Pymol segmentation fault
Thank you! This was indeed the case. I have no idea why tcl/tk 8.4 was installed with 8.5 at the same time. Removing 8.4 and using 8.5 seems to have fixed the problem. Ian On Thu, Sep 24, 2009 at 2:38 PM, Warren DeLano war...@delsci.com wrote: Ian, Based on that traceback, it looks like you have two conflicting versions of Tcl (8.4 as well as 8.5) linked against and running in the same process...that could be the source of the crash. Cheers, Warren -- *From:* Ian Berke [mailto:ian.be...@yale.edu] *Sent:* Thursday, September 24, 2009 11:26 AM *To:* pymol-users@lists.sourceforge.net *Subject:* [PyMOL] Pymol segmentation fault Hi, I'm having an issue trying to run various plugins in pymol (apbs and autodock). Whenever I select a button that should bring up a file browser to choose a file (e.g. Choose Externally generated pqr in apbs) Pymol exits with: Segmentation fault (core dumped). Same thing happens when I go to HelpAbout. I can open and save files normally, and just about everything else works. I've tried this in pymol 1.1r2pre, where I can at least get the apbs plugin window to open, as well as the 1.2 trunk from svn (downloaded and compiled last week) which just crashes when I try to open the apbs window (I can install autodock.py and the window opens, but it crashes when I try to choose the location of files). I'm guessing this is something to do with the gui and tcl/tk, but don't have any idea how to troubleshoot (see the catchsegv output below). I'm running Ubuntu 9.10 on x86_64 and have a GeForce 8400M GS/PCI/SSE2 with the proprietory nvidia driver 185.18.36. Does anyone have any thoughts? Here is the backtrace portion from catchsegv: Backtrace: /usr/lib/libtcl8.5.so.0[0x7f63977b3eb0] /usr/lib/libtcl8.5.so.0(Tcl_CreateHashEntry+0x59)[0x7f6397761839] /usr/lib/libtcl8.4.so.0(Tcl_FindNamespaceVar+0xff)[0x7f6391d8352f] /usr/lib/libtcl8.4.so.0(TclLookupSimpleVar+0xfb)[0x7f6391d9bf0b] /usr/lib/libtcl8.4.so.0(TclLookupVar+0xab)[0x7f6391d9b70b] /usr/lib/libtcl8.4.so.0(Tcl_SetVar2Ex+0x59)[0x7f6391d9c8e9] /usr/lib/libtcl8.4.so.0(Tcl_SetVar2+0x4f)[0x7f6391d9c80f] /usr/lib/libBLT.2.4.so.8.4(Blt_Init+0x169)[0x7f6392311859] /usr/lib/libtcl8.5.so.0[0x7f639777dee6] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f63977543b8] /usr/lib/libtcl8.5.so.0(TclObjInterpProcCore+0x110)[0x7f6397796ed0] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f6397710a5f] /usr/lib/libtcl8.5.so.0[0x7f63977926d1] /usr/lib/libtcl8.5.so.0(Tcl_PkgRequireProc+0x9)[0x7f6397792209] /usr/lib/libtcl8.5.so.0[0x7f6397793192] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0(Tcl_EvalObjv+0x43)[0x7f6397710413] /usr/lib/python2.6/lib-dynload/_tkinter.so[0x7f6398063a32] /usr/bin/python(PyEval_EvalFrameEx+0x52fd)[0x4a290d] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalFrameEx+0x5837)[0x4a2e47] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python(PyEval_EvalFrameEx+0x4e4f)[0x4a245f] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python(PyEval_EvalFrameEx+0x4e4f)[0x4a245f] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python[0x52bdf0] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python[0x4254ff] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python(PyEval_CallObjectWithKeywords+0x43)[0x49c623] /usr/bin/python[0x49c06f] /usr/bin/python(PyEval_EvalFrameEx+0x52fd)[0x4a290d] /usr/bin/python(PyEval_EvalCodeEx+0x860)[0x4a40e0] /usr/bin/python[0x52bdf0] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python[0x4254ff] /usr/bin/python(PyObject_Call+0x47)[0x41d6e7] /usr/bin/python(PyEval_CallObjectWithKeywords+0x43)[0x49c623] /usr/lib/python2.6/lib-dynload/_tkinter.so[0x7f6398061376] /usr/lib/libtcl8.5.so.0(TclInvokeStringCommand+0x7f)[0x7f639770e80f] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f63977543b8] /usr/lib/libtcl8.5.so.0[0x7f63977527b9] /usr/lib/libtcl8.5.so.0(TclEvalObjEx+0x196)[0x7f6397711706] /usr/lib/libtk8.5.so.0[0x7f6397a556f6] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0(Tcl_EvalObjv+0x43)[0x7f6397710413] /usr/lib/libtcl8.5.so.0(TclEvalObjEx+0x300)[0x7f6397711870] /usr/lib/libtcl8.5.so.0[0x7f639779668f] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f63977543b8] /usr/lib/libtcl8.5.so.0(TclObjInterpProcCore+0x110)[0x7f6397796ed0] /usr/lib/libtcl8.5.so.0[0x7f63977102f1] /usr/lib/libtcl8.5.so.0[0x7f6397710a5f] /usr/lib/libtk8.5.so.0(Tk_BindEvent+0x890)[0x7f6397a29c90] /usr/lib/libtk8.5.so.0(TkBindEventProc+0x185)[0x7f6397a2fa35] /usr/lib/libtk8.5.so.0(Tk_HandleEvent+0x6c0)[0x7f6397a374c0] /usr/lib/libtk8.5.so.0[0x7f6397a37b48] /usr/lib/libtcl8.5.so.0(Tcl_ServiceEvent+0x7f)[0x7f639778764f] /usr
RE: [PyMOL] PyMol segmentation fault while starting from external python program
Dmitriy, I spent a few minutes yesterday trying to track down the seg. fault -- there are at least three issues here... One appears to be a race condition inside of Tcl/Tk-to-Python call interface, which is most apparent on multi-cpu systems, and for which I have no solution yet other than disabling the external GUI altogether. The second is a blunder on my part in the CmdReady function in layer4/Cmd.c: static PyObject *CmdReady(PyObject *dummy, PyObject *args) { return(APIResultCode(TempPyMOLGlobals-Ready)); } should be static PyObject *CmdReady(PyObject *dummy, PyObject *args) { if(TempPyMOLGlobals) { return(APIResultCode(TempPyMOLGlobals-Ready)); } else { return(APIResultCode(0)); } } since TempPyMOLGlobals can't be derefrenced until it exists. The third issue appears to be a Python initialization issue that also only rears its ugly head on SMP machines: finish_launching() in modules/pymol/__init__.py needs to be updated as follows: def finish_launching(): e=threading.Event() while not hasattr(__main__,'pymol'): e.wait(0.01) while not _cmd.ready(): e.wait(0.01) while not hasattr(__main__.pymol,'xray'): e.wait(0.01) in order to allow time for the xray module to initialize before loading structures. These changes have been committed to CVS. Cheers, Warren -- Warren L. DeLano, Ph.D. Principal Scientist . DeLano Scientific LLC . 400 Oyster Point Blvd., Suite 213 . South San Francisco, CA 94080 USA . Biz:(650)-872-0942 Tech:(650)-872-0834 . Fax:(650)-872-0273 Cell:(650)-346-1154 . mailto:war...@delsci.com -Original Message- From: Dmitriy Igor Bryndin [mailto:brynd...@msu.edu] Sent: Tuesday, October 11, 2005 5:06 AM To: Warren DeLano Cc: pymol-users@lists.sourceforge.net Subject: Re: [PyMOL] PyMol segmentation fault while starting from external python program Warren It seems like PyMol should have time to load after import pymol and before anything else can be done with it. If I´ll do -- pymol_argv = ['pymol', '-qx'] import pymol # let`s give pymol some time to load for a in range(100): b=0 pymol.finish_launching() from pymol import cmd cmd.load($HOME/pept.pdb) cmd.show(sticks) -- everything is fine. It loads and shows the picture. ´for a in range(100)´ for example will produce segmentation fault. As far as I understand ´pymol.finish_launching()´ is meant to produce such delay. Correct me if I´m wrong. But this call produce segm fault by itself without a waiting cycle. Can you recommend some workaround for this problem? This stupid cycle may work on my machine, but may not work on a faster one. Is there any way to find out that PyMol window had loaded? Thanks Dmitriy Bryndin Warren DeLano writes: Dmitriy, Due to problem with multithreading (especially with the Tcl/Tk external GUI), we haven't been able to get the import pymol approach to work in a stable robust manner across different OSes and environments. So sight now, as per comments in modules/pymol/__init__.py, the only supported way to launch PyMOL is to run the __init__.py script on startup. %python modules/pymol/__init__.py Hoever, if you disable the external GUI, then you might be able to get import pymol to work... pymol_argv = ['pymol', '-qx'] import pymol pymol.finish_launching() from pymol import cmd cmd.load(...etc. Cheers, Warren -- Warren L. DeLano, Ph.D. Principal Scientist . DeLano Scientific LLC . 400 Oyster Point Blvd., Suite 213 . South San Francisco, CA 94080 USA . Biz:(650)-872-0942 Tech:(650)-872-0834 . Fax:(650)-872-0273 Cell:(650)-346-1154 . mailto:war...@delsci.com -Original Message- From: pymol-users-ad...@lists.sourceforge.net [mailto:pymol-users-ad...@lists.sourceforge.net] On Behalf Of Dmitriy Igor Bryndin Sent: Monday, October 10, 2005 2:33 PM To: pymol-users@lists.sourceforge.net Subject: [PyMOL] PyMol segmentation fault while starting from external python program Launching PyMol form external python script will produce segmaentation fault. For example starting launch.py from /pymol/examples/launching -- $ python launch.py zsh: segmentation fault python launch.py -- Crashes without even showing PyMol windows. Tried it on Fedora Core 1, Fedora Core 4, Mandriva 2005. The same story. Different pythons and compiling different versions of PyMol does not change anything. It will launch PyMol windows if there is only import pymol line. Adding pymol.finish_launching
RE: [PyMOL] PyMol segmentation fault while starting from external python program
Update: With respect to import pymol, I think all of the reported segmentation fault and race conditions have now been eliminated from the very latest source code. Since everyone doesn't have CVS access, I have posted a source tar-gz file on http://delsci.com/beta with updated instructions on building and usage. So if you are a unix-based Python developer with an interest in calling PyMOL from you own stadalone applications, then this would be a good time to try building from source into your own Python environment in order to see whether or not it can work for you. Windows is a possibility too, but getting all the dependencies satisfied under Win32 is a bit of a chore. Cheers, Warren -- Warren L. DeLano, Ph.D. Principal Scientist . DeLano Scientific LLC . 400 Oyster Point Blvd., Suite 213 . South San Francisco, CA 94080 USA . Biz:(650)-872-0942 Tech:(650)-872-0834 . Fax:(650)-872-0273 Cell:(650)-346-1154 . mailto:war...@delsci.com
RE: [PyMOL] PyMol segmentation fault while starting from external python program
Dmitriy, Due to problem with multithreading (especially with the Tcl/Tk external GUI), we haven't been able to get the import pymol approach to work in a stable robust manner across different OSes and environments. So sight now, as per comments in modules/pymol/__init__.py, the only supported way to launch PyMOL is to run the __init__.py script on startup. %python modules/pymol/__init__.py Hoever, if you disable the external GUI, then you might be able to get import pymol to work... pymol_argv = ['pymol', '-qx'] import pymol pymol.finish_launching() from pymol import cmd cmd.load(...etc. Cheers, Warren -- Warren L. DeLano, Ph.D. Principal Scientist . DeLano Scientific LLC . 400 Oyster Point Blvd., Suite 213 . South San Francisco, CA 94080 USA . Biz:(650)-872-0942 Tech:(650)-872-0834 . Fax:(650)-872-0273 Cell:(650)-346-1154 . mailto:war...@delsci.com -Original Message- From: pymol-users-ad...@lists.sourceforge.net [mailto:pymol-users-ad...@lists.sourceforge.net] On Behalf Of Dmitriy Igor Bryndin Sent: Monday, October 10, 2005 2:33 PM To: pymol-users@lists.sourceforge.net Subject: [PyMOL] PyMol segmentation fault while starting from external python program Launching PyMol form external python script will produce segmaentation fault. For example starting launch.py from /pymol/examples/launching -- $ python launch.py zsh: segmentation fault python launch.py -- Crashes without even showing PyMol windows. Tried it on Fedora Core 1, Fedora Core 4, Mandriva 2005. The same story. Different pythons and compiling different versions of PyMol does not change anything. It will launch PyMol windows if there is only import pymol line. Adding pymol.finish_launching() or from pymol import cmd cmd.load($PYMOL_PATH/test/dat/pept.pdb) will produce segmentation fault. With no windows shown. The same time if I'll try to debug step by step, let's say, launch_demo.py (from /pymol/examples/launching) --- pymol.finish_launching() from pymol import cmd cmd.load($PYMOL_PATH/test/dat/pept.pdb) cmd.show(sticks) --- using IDLE. Everything will work. It starts windows, loads a file, changes to sticks... Running it python launch_demo.py will wait for a second and return segmentation fault. If someone knows what's going on, please help me. Thanks Dmitriy Bryndin --- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl ___ PyMOL-users mailing list PyMOL-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pymol-users
[PyMOL] Pymol segmentation fault - fedora core 1
Hi everyone, I've recently updated to the 0.97 release of pymol and although it ran fine to start with, it's now generating a segmentation fault. I installed from the * pymol-0_97-bin-linux-libc6-i386.tgz* http://prdownloads.sourceforge.net/pymol/pymol-0_97-bin-linux-libc6-i386.tgz?download file into /usr/local/pymol and ran setup.sh. Then when running the pymol.com script I get the following: ./pymol.com: line 14: 31156 Segmentation fault $PYMOL_PATH/pymol.exe $* I'm not sure exactly what's causing this and any help would be appreciated. I've tried completely removing the pymol directory and reinstalling but I still get the same error. Cheers Roger
Re: [PyMOL] Pymol segmentation fault - fedora core 1
On Mon, 26 Jul 2004 10:40:47 +0100, Roger Dodd rb...@hermes.cam.ac.uk wrote: Hi everyone, I've recently updated to the 0.97 release of pymol and although it ran fine to start with, it's now generating a segmentation fault. I installed from the * pymol-0_97-bin-linux-libc6-i386.tgz* http://prdownloads.sourceforge.net/pymol/pymol-0_97-bin-linux-libc6-i386.tgz?download file into /usr/local/pymol and ran setup.sh. Then when running the pymol.com script I get the following: ./pymol.com: line 14: 31156 Segmentation fault $PYMOL_PATH/pymol.exe $* I'm not sure exactly what's causing this and any help would be appreciated. I've tried completely removing the pymol directory and reinstalling but I still get the same error. $PYMOL_PATH/pymol.exe $* - this looks suspicious. Did you tried to compile pymol as a monolythic thing? I don't beleive that still works. I use $PYMOL_PATH/ext/bin/python $PYMOL_PATH/modules/pymol/__init__.py $* I'll send you my Rules.make and pymol.com. I was able to build it simply with a symlink from ext to /usr Cheers Roger --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721alloc_id=10040op=click ___ PyMOL-users mailing list PyMOL-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pymol-users -- Don't go around saying the world owes you a living. The world owes you nothing. It was here first. -- Mark Twain