Project

General

Profile

Crash #5123

cnethist - crashes on large network

Added by Lynn Weller 8 months ago. Updated 8 months ago.

Status:
Closed
Priority:
High
Category:
Applications
Target version:
Impact:

This will now ignore measures that do not have residual information.

Software Version:
Test Reviewer:

Description

cnethist will crash with the following error on my latest LROC NAC polar network while trying to generate a histogram summary file (I'm not trying to graph this beast):

cnethist cnet=NorthPole_2017Merged_Lidar2Image_AddMsrs_Del_12.net to=Hist_NorthPole_2017Merged_Lidar2Image_AddMsrs_Del_12.txt

cnethist: Loading Control Points...
100% Processed
terminate called after throwing an instance of 'std::length_error'
what(): vector::_M_fill_insert
Abort (core dumped)

This network has the following number of points and measures:
NumberOfPoints = 405532
NumberOfMeasures = 3128764

cnethist runs successfully on an older and slightly smaller version (less points and measures) of the same network:

cnethist cnet=JigOut_NorthPole_2015Merged_Recovered_Ground.net to=Hist_JigOut_NorthPole_2015Merged_Recovered_Ground.txt

This network has the following number of points and measures:
NumberOfPoints = 386873
NumberOfMeasures = 3064199

Both of these files can be found under /work/users/lweller/Isis3Tests/CnetHist/. I was running under isis3production2017-07-11

I need this output information for my final LROC NAC north polar network as soon as possible (if possible) as this project ends at the end of FY and the statistics are a part of the final product delivery. I don't know of another program that can provide this information. Note: I tried running my net under astrovm3 and it fails there as well.


Related issues

Related to ISIS - Crash #1673: cnethist - crashes on semi-correct input Closed

History

#1 Updated by Lynn Weller 8 months ago

  • Description updated (diff)

#2 Updated by Tammy Becker 8 months ago

  • Status changed from New to Acknowledged
  • Target version set to 3.5.2 (2017-01-31 Jan)

#3 Updated by Makayla Shepherd 8 months ago

  • Assignee set to Summer Stapleton

#5 Updated by Makayla Shepherd 8 months ago

  • Status changed from Acknowledged to Assigned

#6 Updated by Summer Stapleton 8 months ago

  • Status changed from Assigned to In Progress

#7 Updated by Summer Stapleton 8 months ago

Built for prog23. Can be found in /work/projects/isis/latest.

Apparently GetResidualMagnitude in ControlMeasure.cpp was returning NULL for special pixels, but was returning it as a double so that the double value for NULL was being stored into the min variable in Histogram.cpp. This caused a large (infinite?) domain to calculate the histogram for. I updated the conditionals in Histogram::rangesFromNet in lines 254 and 255 to ignore special pixel values, and things appear to be working just fine now. I don't know how we haven't run into this issue before...

I do want to confirm that it is fine to ignore special pixels in this way. I don't want to throw-off any calculations.

#8 Updated by Summer Stapleton 8 months ago

  • Status changed from In Progress to Resolved
  • Impact updated (diff)

#9 Updated by Lynn Weller 8 months ago

Could this be rebuilt so that I can test/use it on astrovm4? Thanks!

#10 Updated by Lynn Weller 8 months ago

  • Status changed from Resolved to Feedback

#11 Updated by Summer Stapleton 8 months ago

  • Status changed from Feedback to Resolved

Sorry about that Lynn! That has been rebuilt for astrovm4 and can still be found at /works/projects/isis/latest/m05123.

#12 Updated by Lynn Weller 8 months ago

  • Related to Crash #1673: cnethist - crashes on semi-correct input added

#13 Updated by Lynn Weller 8 months ago

  • Status changed from Resolved to Closed

As it turns out, this sort of error was encountered many years ago when I passed cnehist a network which contained no residual information (see #1673). After reviewing my notes, the network that prompted this post has a handful of points/measures that* do not* have residual information and likely caused the error.

cnethist now successfully runs on my network (NorthPole_2017Merged_Lidar2Image_AddMsrs_Del_12.net) and I'm getting results that are expected. I also ran the updates against a previous version of my network (JigOut_NorthPole_2015Merged_Recovered_Ground.net) that had no problems and the results are identical - always a good thing!

I included one more network in my round of tests that has no residual information to create a histogram for - Test_All.net (in the test directory indicated). I first ran it under production to see if the errors thrown were similar to those from post #1673. The program does fail but with a different, more informative error:

Message = "The net file appears to have 1 or fewer measures with residual
data, thus no histogram for this net file can be created;"

It looks like the program was updated since my first post about the problem from several years ago. That's fine - this is more informative.
I ran the same network through the updated cnethist to see what would happen and the same error message appears. Another good thing.

So, when a network with no residual information is passed to cnethist, the program throws a useful error letting the user know what's going on.
And with the current fixes if a network has a mixture of measures with and without residual information, the measures w/out the appropriate information is ignored/skipped/not included, which I think is completely appropriate. Am I missing anything? Looks good!

If you don't already have something similar for app tests, /work/users/lweller/Isis3Tests/CnetHist/Test_All.net contains no residual information and will result in error mentioned above.

#14 Updated by Summer Stapleton 8 months ago

  • Impact updated (diff)

Also available in: Atom PDF