qnet - recent beta/production versions broken
Qnet throws an error saying it can not find the serial number for an image/does not exist in SerialNumberList (see attachment) under very specific circumstances.
Data is available under /work/projects/usertests/UserTestPlans/Apps/qnet/m02099/ to reproduce the error:
- launch qnet
- open image list defaultDEM_images.lis (relative paths)
- open network lrocG.net
- select a point in the navigator tool (can load into editor by double clicking to verify this works if desired)
- select View Cubes
- select tie-point tool and select a point on either of the images ----> error thrown
- attempt to create a new point on either of the images ----> error thrown
So, the list and network are successfully loaded into qnet, points can be edited when selected and loaded into the editor (via the navigator), but points can not be selected or edited on the images.
This is new and was introduced sometime after isis3production2017-08-22. I found the problem when attempting to use qnet using isis3beta2017-09-22. I could not recall if we have had a production since 8/22, but an email I have indicates isis3production2017-09-19 was clean at the time so I also tried that version - broken.
NOTE: I have just determined that if the list of images does not contain the full path to the images, all of the above errors occur. If full paths are in the list, everything works as expected. This can be demonstrated by loading the file fullpath_defaultDEM_images.lis within the same directory and rerunning steps above.
A couple of other folks in the building have been having problems with qnet and relative pathnames in lists over the past couple of weeks but because we were all having problems reproducing the problem (seemed random at the time) the idea was it had to do with a mission-specific version of isis having the issue. It may be those folks were trying to select new or existing points on images that were loaded via lists having relative pathnames. Maybe they can see if they can reproduce their problem via my steps above.
Any chance IPCE submissions could have anything to do with this?
#3 Updated by Lynn Weller 10 months ago
Tracie took a look at ipce related things and confirmed they have made no changes to qnet. While checking commits to isis in general, she did see there were changes to FileList (which SerialNumberList uses) which might be worth looking into. Might not have a thing to do with though.
#5 Updated by Jesse Mapel 10 months ago
I was able to reproduce this bug
On the September 29th Beta build, I ran qnet at
/work/users/jmapel/CaSSIS/mosaic_test/seedgrid_mosaic_no_pan/Networks/seed_grid_frames_edited.net I received the following error when attempting to select a control point with the match tool.
Cannot get serial number for /work/users/jmapel/CaSSIS/mosaic_test/seedgrid_mosaic_no_pan/Lev1/CAS-MCO_2016-11-22T16:05:51.290.cub. Is file contained in the cube list? **PROGRAMMER ERROR** Unable to get the SerialNumber. The given file name [/work/users/jmapel/CaSSIS/mosaic_test/seedgrid_mosaic_no_pan/Lev1/CAS-MCO_2016-11-22T16:05:51.290.cub] does not exist in the list.
If I instead use
/work/users/jmapel/CaSSIS/mosaic_test/seedgrid_mosaic_no_pan/frame_cubes_full.lis then I do not encounter the error.
#8 Updated by Kristin Berry 9 months ago
This qnet problem was caused when the the ability to copy a cube's full file path when it is open in qview was added. We started storing (only) the full path to the cube internally (for some cases), causing relative path lookups to fail, as in this situation.
#9 Updated by Kristin Berry 9 months ago
A potential fix is now ready for testing.
To test on astrovm4,
In addition to testing to that this qnet problem is fixed, could someone also verify that the functionality added to qview in tickets: #5097, #5098, #5099 is still working as expected? I needed to modify code related to all those tickets slightly. It worked correctly for my test cases, but it's always better to have more testing!
#13 Updated by Lynn Weller 9 months ago
Qnet is back to normal! Reran tests under description and added a few more things and it looks good - lists with relative and full paths. Can select and create points on opened images now no matter the path specifics in the input list.
I also ran a variety of tests on qview under the same build to test #5097, #5098, and #5099 and they all seem to check out:
- opened lists of images (w/ full and relative paths) from command line - ok
- opened lists from command line have extension other than .lis - ok
- exported opened images to a list - ok, full path included
- copied filename of focused image to text file - ok, full path included
- did the latter 2 with browse images - ok, as expected
Did not do Tammy's isis2 cube tests. What else?
I will leave this ticket open another day or 2 for others to test before I close it. Thank you!