Opened 8 years ago
Closed 7 years ago
#696 closed defect (fixed)
File/save causing segmentation fault in Linux
Reported by: | Tristan Croll | Owned by: | Greg Couch |
---|---|---|---|
Priority: | blocker | Milestone: | |
Component: | Core | Version: | |
Keywords: | Cc: | Tom Goddard | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
Doesn't appear related to anything I've done (crashes even in a freshly-opened session).
Fatal Python error: Segmentation fault
Current thread 0x00007f858c29f740 (most recent call first):
File "/home/tic20/apps/chimerax/lib/python3.6/site-packages/chimerax/core/ui/save_dialog.py", line 127 in display
File "/home/tic20/apps/chimerax/lib/python3.6/site-packages/chimerax/core/ui/gui.py", line 416 in file_save_cb
File "/home/tic20/apps/chimerax/lib/python3.6/site-packages/chimerax/core/ui/gui.py", line 635 in <lambda>
File "/home/tic20/apps/chimerax/lib/python3.6/site-packages/chimerax/core/ui/gui.py", line 167 in event_loop
File "/home/tic20/apps/chimerax/lib/python3.6/site-packages/ChimeraX_main.py", line 572 in init
File "/home/tic20/apps/chimerax/lib/python3.6/site-packages/ChimeraX_main.py", line 663 in <module>
File "/home/tic20/apps/chimerax/lib/python3.6/runpy.py", line 85 in _run_code
File "/home/tic20/apps/chimerax/lib/python3.6/runpy.py", line 193 in _run_module_as_main
/home/tic20/bin/ChimeraX: line 7: 1483 Segmentation fault (core dumped) $CHIMERA_HOME/bin/ChimeraX $*
Change History (12)
comment:1 by , 8 years ago
Cc: | added |
---|---|
Owner: | changed from | to
comment:2 by , 8 years ago
Status: | assigned → feedback |
---|
follow-up: 3 comment:3 by , 8 years ago
This is what I get in gdb on File/save: [New Thread 0x7fff179be700 (LWP 1306)] [1182:1182:0601/081040:ERROR:browser_main_loop.cc(261)] Gtk: Invalid input string [1182:1182:0601/081040:ERROR:browser_main_loop.cc(261)] Gtk: Invalid input string [New Thread 0x7fff171bd700 (LWP 1307)] [New Thread 0x7fff169bc700 (LWP 1308)] Program received signal SIGSEGV, Segmentation fault. update_current_folder_get_info_cb (cancellable=0x2555b90 [GCancellable], info=0x0, error=0x253c150, user_data=0x12b3680) at gtkfilechooserwidget.c:4272 4272 if (cancellable != priv->update_current_folder_cancellable) File/open works without issue, fwiw. On 2017-05-31 21:27, ChimeraX wrote:
follow-up: 4 comment:4 by , 8 years ago
Ah - just remembered, I've run in to the cause of this before while implementing a file I/O dialog for ISOLDE. It is a PyQt bug. In chimerax.core.ui.open_save.SaveDialog you have (line 30): self.setOption(QFileDialog.DontUseNativeDialog) This breaks horribly for the Gnome desktop - see https://riverbankcomputing.com/pipermail/pyqt/2010-September/027628.html. Note the date - apparently the problem has been around for quite some time, but Googling doesn't turn up any sign that it's been addressed. Today's a bit mission-critical (I fly off to give my demo tomorrow) so I don't want to install OS updates until I get back. Will try my laptop tonight to see if it also crashes there (it's also using Gnome, but in Fedora 25 - my workstation is CentOS 7). Full stack trace: update_current_folder_get_info_cb (cancellable=0x2512cb0 [GCancellable], info=0x0, error=0x3dd53b0, user_data=0x24e62c0) at gtkfilechooserwidget.c:4272 4272 if (cancellable != priv->update_current_folder_cancellable) (gdb) bt #0 0x00007fff91b17c96 in update_current_folder_get_info_cb (cancellable=0x2512cb0 [GCancellable], info=0x0, error=0x3dd53b0, user_data=0x24e62c0) at gtkfilechooserwidget.c:4272 #1 0x00007fff91b1c55a in query_info_callback (source_object=<optimized out>, result=<optimized out>, user_data=0x39fee60) at gtkfilesystem.c:419 #2 0x00007fff911d6b7b in g_task_return_now (task=0x2510c80 [GTask]) at gtask.c:1077 #3 0x00007fff911d6b99 in complete_in_idle_cb (task=0x2510c80) at gtask.c:1086 #4 0x00007fffcfa947aa in g_main_context_dispatch (context=0x7fff8c002450) at gmain.c:3109 #5 0x00007fffcfa947aa in g_main_context_dispatch (context=context@entry=0x7fff8c002450) at gmain.c:3708 #6 0x00007fffcfa94af8 in g_main_context_iterate (context=context@entry=0x7fff8c002450, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3779 #7 0x00007fffcfa94bac in g_main_context_iteration (context=0x7fff8c002450, may_block=1) at gmain.c:3840 #8 0x00007fffd7128cbf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/tic20/apps/chimerax/lib/python3.6/site-packages/PyQt5/Qt/lib/libQt5Core.so.5 #9 0x00007fffd70d69ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/tic20/apps/chimerax/lib/python3.6/site-packages/PyQt5/Qt/lib/libQt5Core.so.5 #10 0x00007fff9a5c8a07 in QDialog::exec() () at /home/tic20/apps/chimerax/lib/python3.6/site-packages/PyQt5/Qt/lib/libQt5Widgets.so.5 #11 0x00007fffdc138265 in meth_QDialog_exec () at /home/tic20/apps/chimerax/lib/python3.6/site-packages/PyQt5/QtWidgets.so #12 0x00007ffff796c629 in _PyCFunction_FastCallDict (func_obj=0x7fff1d8d6a20, args=0x3c17478, nargs=<optimized out>, kwargs=kwargs@entry=0x0) at Objects/methodobject.c:234 #13 0x00007ffff796c8d7 in _PyCFunction_FastCallKeywords (func=func@entry=0x7fff1d8d6a20, stack=stack@entry=0x3c17478, nargs=<optimized out>, kwnames=kwnames@entry=0x0) at Objects/methodobject.c:295 #14 0x00007ffff7a045c3 in call_function (pp_stack=pp_stack@entry=0x7fffffffb300, oparg=<optimized out>, kwnames=kwnames@entry=0x0) at Python/ceval.c:4798 #15 0x00007ffff7a09e2a in _PyEval_EvalFrameDefault (f=0x3c172c8, throwflag=<optimized out>) at Python/ceval.c:3284 #16 0x00007ffff7a03890 in _PyFunction_FastCall (co=<optimized out>, args=<optimized out>, nargs=3, globals=<optimized out>) at Python/ceval.c:4880 #17 0x00007ffff7a0479d in call_function (kwnames=0x0, nargs=<optimized out>, stack=<optimized out>, func=0x7fffaeddbea0) at Python/ceval.c:4915 #18 0x00007ffff7a0479d in call_function (pp_stack=pp_stack@entry=0x7fffffffb4d0, oparg=<optimized out>, kwnames=kwnames@entry=0x0) at Python/ceval.c:4819 #19 0x00007ffff7a09e2a in _PyEval_EvalFrameDefault (f=0x7fff1d8e13c8, throwflag=<optimized out>) at Python/ceval.c:3284 #20 0x00007ffff7a03890 in _PyFunction_FastCall (co=<optimized out>, args=<optimized out>, nargs=2, globals=<optimized out>) at Python/ceval.c:4880 #21 0x00007ffff7a0479d in call_function (kwnames=0x0, nargs=<optimized out>, stack=<optimized out>, func=0x7fffdbe4e840) at Python/ceval.c:4915 #22 0x00007ffff7a0479d in call_function (pp_stack=pp_stack@entry=0x7fffffffb6a0, oparg=<optimized out>, kwnames=kwnames@entry=0x0) at Python/ceval.c:4819 #23 0x00007ffff7a09e2a in _PyEval_EvalFrameDefault (f=0x7fff1d8e1208, throwflag=<optimized out>) at Python/ceval.c:3284 #24 0x00007ffff7a0423a in _PyEval_EvalCodeWithName (_co=0x2512cb0, globals=0x0, locals=0x3dd53b0, locals@entry=0x0, args=0x7fff1d8bfca0, argcount=0, kwnames=0x18, kwnames@entry=0x0, kwargs=0x8, kwcount=0, kwstep=2, defs=0x7fffb1652c20, defcount=2, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at Python/ceval.c:4128 On 2017-06-01 08:17, Tristan Croll wrote:
follow-up: 5 comment:5 by , 8 years ago
Hmm... works fine on my laptop (Fedora 24 with Gnome desktop). So very distro-specific. On 2017-06-01 11:15, ChimeraX wrote:
comment:6 by , 8 years ago
Status: | feedback → accepted |
---|
Hi Tristan,
Can you tell us more about the system where it fails? Specifically, run
more /etc/*release* > release-info.txt
And send us the contents of release-info.txt.
Thanks,
Greg
follow-up: 7 comment:7 by , 8 years ago
Not until the 13th, I'm afraid. It's my office machine, and I fly off early tomorrow morning. It's a quite vanilla CentOS 7 installation, for what it's worth. Tristan Croll Research Fellow Cambridge Institute for Medical Research University of Cambridge CB2 0XY
follow-up: 8 comment:8 by , 8 years ago
:::::::::::::: /etc/centos-release :::::::::::::: CentOS Linux release 7.2.1511 (Core) :::::::::::::: /etc/centos-release-upstream :::::::::::::: Derived from Red Hat Enterprise Linux 7.2 (Source) :::::::::::::: /etc/os-release :::::::::::::: NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7" :::::::::::::: /etc/redhat-release :::::::::::::: CentOS Linux release 7.2.1511 (Core) :::::::::::::: /etc/system-release :::::::::::::: CentOS Linux release 7.2.1511 (Core) :::::::::::::: /etc/system-release-cpe :::::::::::::: cpe:/o:centos:centos:7 On 2017-06-01 19:22, ChimeraX wrote:
comment:9 by , 8 years ago
Can you check if this is still a problem? ChimeraX is has been updated to PyQt 5.9 and Qt 5.9.1. And presumably, you've updated to CentOS 7.3. Thanks, Greg
comment:10 by , 8 years ago
Status: | accepted → feedback |
---|
follow-up: 11 comment:11 by , 8 years ago
Still broken, I'm afraid. On 2017-09-01 02:50, ChimeraX wrote:
comment:12 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | feedback → closed |
Just checked in the latest 0.7 build. No more crash.
Please run ChimeraX under gdb and send back the C/C++ backtrace to confirm that it is dying in Qt's QLabel. If it's dying in Qt, we may need to wait for Qt and PyQt 5.9 to be available before fixing this. There's also the chance that an update for your system will fix this. On Windows today, so will try to reproduce on Linux tomorrow.