CellProfiler icon indicating copy to clipboard operation
CellProfiler copied to clipboard

Crash (SIGABRT) when moving modules in CP UI

Open jdunhamvrtx opened this issue 3 years ago • 5 comments

Describe the bug After attempting to drag / drop a module, CP UI will crash and leave message in terminal.

(cellprofiler:4144): Gtk-WARNING **: 12:16:22.100: Negative content width -6 (allocation 26, extents 16x16) while allocating gadget (node button, owner GtkButton)
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f021239c9e7, pid=4144, tid=4144
#
# JRE version: OpenJDK Runtime Environment Zulu11.48+21-CA (11.0.11+9) (build 11.0.11+9-LTS)
# Java VM: OpenJDK 64-Bit Server VM Zulu11.48+21-CA (11.0.11+9-LTS, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C  [libpython3.9.so.1.0+0x10e9e7]  _PyObject_GC_New+0x27
#
# Core dump will be written. Default location: /opt/CellProfiler522222222222222222222222221/core
#
# An error report file with more information is saved as:
# /opt/CellProfiler/CellProfiler/hs_err_pid4144.log
#
# If you would like to submit a bug report, please visit:
#   http://www.azulsystems.com/support/
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
fish: Job 1, 'cellprofiler' terminated by signal SIGABRT (Abort)

To Reproduce Steps to reproduce the behavior:

  1. Open CP
  2. Add two modules
  3. Attempt to move second module into first position.

Expected behavior Modules are re-organized

Desktop (please complete the following information):

  • OS:Artix Linux
  • CellProfiler Version : CP 4.2.0
  • Python 3.9
  • Install Type : source
  • Install Method : git clone cp/cp && pip install -e .

**Other Information Fresh install of CP 4.2.0

jdunhamvrtx avatar Jun 27 '21 16:06 jdunhamvrtx

Would you be able to try this in Python 3.8? 3.9 isn't officially supported.

DavidStirling avatar Jun 27 '21 19:06 DavidStirling

Oops, good catch, this does work with 3.8.10. I have issues with the UI rendering the buttons and context menu still - the buttons are shown without label and the right-click menu shows up on first start but then only a small box shows up 'after a minute'. I think the right-click menu is after I start using the app (dropping modules) and not time based. Is this a wx issue or CP?

I guess we can leave the above open as a bug for supporting Py3.9?

jdunhamvrtx avatar Jun 28 '21 00:06 jdunhamvrtx

If you could upload a screenshot of the UI issues that'd be helpful. We can't fully test the GUI on Linux so it's likely to have some problems.

The problem we have for 3.9 support (and a few other things) is that we need certain dependencies to update before we can migrate over. Now that we're on h5py 3 that's one major obstacle resolved, but another concern is that wx hasn't had an update in a while and seems to be responsible for a few problems.

DavidStirling avatar Jun 28 '21 20:06 DavidStirling

Screenshot from 2021-06-28 17-02-10

Here is the UI. I can't show how the right-click menu doesn't come up. :) and you can see at the bottom the smaller square buttons are missing the 'Add Module", etc, etc. Tooltips work here (and I've been using CP for a while) so it's not a huge deal.

Any thoughts to putting the UI in a webform? I made a small CP adjunct in vueJS that parses the JSON pipeline and allows the user to modify values in the pipeline -- our users really like it. The goal is a library for pipelines but having a Jupyter-like approach could be very nice.

jdunhamvrtx avatar Jun 28 '21 21:06 jdunhamvrtx

Ah, that's not so awful. It's possible that this might be related to the system's dark theme. wx doesn't really play well with all the different flavours of Linux.

The UI is rather complicated and so rewriting it is a big time investment. It'd be possible, but would depend on lab funding. As it stands if wxpython doesn't update we may be forced to re-think the UI. That might mean a rewrite with Qt, but something like an Electron app isn't impossible.

DavidStirling avatar Jun 28 '21 21:06 DavidStirling