View Issue Details

IDProjectCategoryView StatusLast Update
0004239Slicer4Module Markupspublic2017-06-10 08:51
Reporterfepegar Assigned Tonicole  
PriorityhighSeveritycrashReproducibilityalways
Status closedResolutionfixed 
PlatformLinuxOSUbuntuOS Version14.04
Product VersionSlicer 4.5.0-1 
Target VersionFixed in VersionSlicer 4.6.0 
Summary0004239: Slicer crashes when trying to delete many fiducial markups
Description

We mark neurons on 2D histological slices using the Markups module. Some lists could contain more than 400 neurons. Sometimes we try to delete a number of fiducials on the list and Slicer crashes, so all the work is gone.

Steps To Reproduce
  1. Open the attached fcsv
  2. Select 100 fiducials from the list in Markups module
  3. Click on "Delete the highlighted markups from the list"
Additional Information

Happens on Windows and Linux. Haven't tried on Mac.

Tagsmarkups, remove

Relationships

related to 0004211 closedpieper Landmark removal and management in Landmark Registration module 
related to 0001714 closednicole Serious annotation fiducial performance problems. 
related to 0004306 closednicole Markups are slow 

Activities

fepegar

fepegar

2016-07-28 08:06

reporter  

TC2_882_ChAT_RH.fcsv (26,099 bytes)
nicole

nicole

2016-07-28 15:21

administrator   ~0014053

On Mac, Slicer hangs for a while but doesn't crash.
Tracing through the events, the fiducials are removed from the list one by one, each removal triggering a markup removed event. That triggers updates in the 3d and 2d representations as well as updates to the GUI. I'm looking at batching that better so that only one update will need to be done (like how removing all markups is quick).

Could you attach a stack trace/error log for the crash on linux or windows?

nicole

nicole

2016-07-28 18:01

administrator   ~0014054

I've sped up deleting fiducials with this commit:
https://github.com/naucoin/Slicer/commit/1927de616b40102dde9481e34cb384a57ae457b9
Rebuilding on linux to see if I can reproduce the crash and see if this fixes it.

fepegar

fepegar

2016-07-29 06:24

reporter   ~0014055

Hi Nicole, thanks for looking into this.

What actually happens (Linux) is that Slicer becomes unresponsive and the windows gets white. So when I try to close it Ubuntu tells me it's unresponsive. The error log seems normal, but I can paste it here if you want.

I just tried today's nightly on Linux and it took a while to delete my 100 fiducials, but at least it didn't crash. Is there some other way to keep speeding it up? Maybe disabling some events? We don't need many functionalities of the Markups for this project, and we only use the 2D views.

nicole

nicole

2016-07-29 10:26

administrator   ~0014056

Good to know, it was taking about 2 minutes to delete 100 fiducials on my Mac, but I let it run to time it, not trying to close it or interact with it. I didn't push that commit to the nightly yet as I wasn't sure if anything else was needed, so I'll do that now and the next nightly should show a significant speed up:
https://github.com/Slicer/Slicer/pull/557

fepegar

fepegar

2016-07-29 10:29

reporter   ~0014057

I'll try again on Monday and let you know what happens.

nicole

nicole

2016-07-29 13:15

administrator   ~0014058

Merged as of svn 25253:
http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=25253

fepegar

fepegar

2016-08-01 06:20

reporter   ~0014062

It works perfectly.

Thanks Nicole!

nicole

nicole

2016-08-01 11:51

administrator   ~0014063

Thanks for confirming!

Related Changesets

Import 2017-06-07 23:51:09: master a74feff8

2016-07-29 12:47:19

pieper

Details Diff
ENH: Make it faster/easier to work with long fiducial lists

Put Start/EndModify calls around removing a list of markups from the current node (speed up is significant when deleting 100 fiducials from a list of 272 fiducials)

Automatically select the last loaded fiducial node when entering the Markups module if there are nodes loaded and none are selected.

Adjust the right click context menu in the table:
Use one line per markup, consolidating the label (use index if no label) and the coordinate (half the rows in the menu).
Put the operations first in the menu in case so many are selected that part of the menu ends up off screen.

Issue 0004239

From: Nicole Aucoin <nicole@bwh.harvard.edu>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@25253 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Modules/Loadable/Markups/Widgets/qSlicerSimpleMarkupsWidget.cxx Diff File
mod - Modules/Loadable/Markups/qSlicerMarkupsModuleWidget.cxx Diff File

Issue History

Date Modified Username Field Change
2016-07-28 08:06 fepegar New Issue
2016-07-28 08:06 fepegar Status new => assigned
2016-07-28 08:06 fepegar Assigned To => nicole
2016-07-28 08:06 fepegar File Added: TC2_882_ChAT_RH.fcsv
2016-07-28 08:06 fepegar Tag Attached: markups
2016-07-28 08:06 fepegar Tag Attached: remove
2016-07-28 08:07 fepegar Relationship added related to 0004211
2016-07-28 08:09 fepegar Relationship added related to 0001714
2016-07-28 08:09 fepegar Relationship added related to 0003961
2016-07-28 08:10 fepegar Relationship deleted related to 0003961
2016-07-28 15:21 nicole Note Added: 0014053
2016-07-28 18:01 nicole Note Added: 0014054
2016-07-29 06:24 fepegar Note Added: 0014055
2016-07-29 10:26 nicole Note Added: 0014056
2016-07-29 10:29 fepegar Note Added: 0014057
2016-07-29 13:15 nicole Note Added: 0014058
2016-07-29 13:15 nicole Status assigned => resolved
2016-07-29 13:15 nicole Fixed in Version => Slicer 4.5.1
2016-07-29 13:15 nicole Resolution open => fixed
2016-08-01 06:20 fepegar Note Added: 0014062
2016-08-01 06:20 fepegar Status resolved => closed
2016-08-01 06:20 fepegar Fixed in Version Slicer 4.5.1 => Slicer 4.5.0-1
2016-08-01 06:21 fepegar Fixed in Version Slicer 4.5.0-1 => Slicer 4.5.1
2016-08-01 11:51 nicole Note Added: 0014063
2016-10-13 02:00 jcfr Fixed in Version Slicer 4.5.1 => Slicer 4.6.0
2016-11-18 13:03 fepegar Relationship added related to 0004306
2017-06-10 08:51 pieper Changeset attached => Slicer master a74feff8