-
Notifications
You must be signed in to change notification settings - Fork 175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
stereo_parse failing to read camera models in Ubuntu 18.04 #275
Comments
I was unable to reproduce this with Lubuntu 19.04, both on the bootable USB and on a proper installation. Attaching all three package lists for posterity: |
I believe this took you a lot of time. Sorry. I finally built our code with ISIS 3.8, the latest. Maybe that was the problem. I went through the steps you mention, both on CentOS 7 and Ubuntu 18. Things work for me. I did not use the cubes with lronaccal applied to them, I think I was missing some calibration data and that command failed. So here is one more attempt to straighten it out. You can try my build, at https://byss.arc.nasa.gov/oalexan1/StereoPipeline-x86_64-centos7.6.1810-2019-08-02_10-08-277997d78-dirty.tar.bz2 and maybe even with my own cubes (produced like you did) which are https://byss.arc.nasa.gov/oalexan1/l0.cub and https://byss.arc.nasa.gov/oalexan1/r0.cub and see how they compare with yours. Note that I did not update my LRO NAC kernels for a while, but I don't think that is the problem. This is a software issue and not a data issue. |
Hi Oleg, thanks for giving this one more try. Unfortunately, this still doesn't work on a fresh installation. Tried with my own cubes and yours. Out of curiosity, were you able to reproduce this issue on your own machine? I found out a coworker ran into a similar issue (also on Ubuntu 18.04) some months ago, so I'm slightly more confident that it's not just an issue with my hardware or something -- though it working from the bootable USB would also make that possibility unlikely as well. The main difference I'm seeing with your version running ISIS 3.8 is that I'm seeing As for lronaccal, if you used the web service for spiceinit you may have hit this issue: DOI-USGS/ISIS3/issues/1790 Thanks again for all your help. |
No, I cannot reproduce the issue on my machine. I just tried it again with the build and cubes above on Ubuntu 18.04.2 LTS. I hope you did not change any paths and that it uses our own libraries. You can always edit the bin/stereo_pprc shell script and put there a line right before the last saying ldd "${PROGRAM}" to see if any libraries are picked from the wrong location. All libraries should be from our tarball except low level things like libc, libm, libX11, and just a few more. As to that error about failing to convert a string, that is from ISIS indeed. The cub file itself has nothing so big as that number 1,79769313486232e+308, which is the largest double or close to it, the biggest value in the cub is the no-data value at -3.40282265508890445e+38. Glad to hear at least Ubuntu 19 is working for you. Since I can't reproduce it there is nothing I can do at this point. |
Another user reported this, with HiRISE testcase ESP_042134_1985_RED.map.cub ESP_053962_1985_RED.map.cub, both on the Mac and Ubuntu 19 (referenced above). Hope to get to this when back from vacation in a few weeks and when not swamped by my other three projects at that time. |
This issue came up again. This time I fetched the latest ISIS kernels and latest ISIS, and I still can't reproduce it. I ran things on Ubuntu 18.04. Adding my recipe here just for the record. It is odd that very few people run into this, but the issue occurs, and it is not clear what is going on. Here's what I did with LRO NAC and it worked: cd path/to/your/isis3data; rsync -azv --delete --partial isisdist.astrogeology.usgs.gov::isis3data/data/base . --exclude '*/kernels' Install ISIS with conda, per https://github.com/USGS-Astrogeology/ISIS3#installation |
I was told that regional formats for numbers, dates and currency is the problem, with the specific example of the Italian format. I guess the ISIS folks should watch for it too, though maybe it is us who don't do something right about the locale and then ISIS gets fed bad info. To be studied at some point. |
Thanks for keeping up on this! |
Riccardo Pozzobon over on OpenPlanetary helped track down the issue with this error:
This may happen with using a binary version of ASP on a system with a locale setting that uses commas as the decimal separator. What happens is that you may have a newer version of ISIS that you use to prepare ISIS cubes before running stereo, and it uses your locale settings to write a number (somewhere, we still haven't tracked it down) as a string in your locale, like 1,79769313486232e+308, which is the largest value representable by a double. Then, when you run stereo, which uses a precompiled set of ISIS libraries, they try and read that string, and interprets it as 1.79769313486232e+322, which is larger than the allowable value representable by a double, and that leads to the error. Essentially a version of ISIS that interprets written numbers one way tries to read in numbers written in a different way. A work-around is to adjust the locale on your system, via editing your
When you do this, and then do your ISIS pre-processing on your data, your shiny new ISIS will use those locale settings to write numbers with a period as the decimal separator, and then the version of ISIS baked into ASP (by us here at Ames where we were just using our native locale), will be able to read them, and you shouldn't have this error. Thanks Ricardo! |
Now this is done for the user in ASP itself. It will be in the daily build soon and later when ASP 3.1.1 is released. |
I know I emailed about this a while back, I think I've narrowed it down sufficiently for a bug report.
Basically there is some package in the base Ubuntu 18.04 installation that breaks
stereo_parse
.The reproduction steps below are probably overkill because I was trying to prove to myself whether the problem was in ISIS or in ASP.
You will need:
Steps to reproduce:
stereo
inside the environment you created for installing ISIS:You should be able to reach the 'rough homography' pass.
Make sure you save
l1.cub
andr1.cub
to somewhere on your external hard drive.Next install a minimal installation of Ubuntu. Do not install any updates.
Repeat the process you ran on the bootable USB stick. Install ISIS, and process your stereo pair and run
stereo
.You should get an error like the following:
stereo_parse
command, you should see the following:sudo apt update; sudo apt upgrade
, you should see the same errors.stereo
with the cubes that worked on the bootable USB, you should see the same errors.stereo
on from the bootable USB on the cubes that were made on the desktop, it should work.Comments
Phew!
Even with all of this, I'm still not 100% sure that the problem lies in ASP, it just seems quite a bit more likely, since (as far as I've seen) current versions of ISIS don't store their camera model plugins like this anymore.
According to
cubediff
the cubes generated by ISIS are identical, though comparison is slightly complicated by the fact that my username on the bootable USB was 'ubuntu' instead of 'dan'. Poor foresight on my part, sorry. After a few sed queries changing '/home/dan' to '/home/ubuntu' and fixing the Bytes field in the History object to account for the changing string lengths of the label,pvldiff
also reports no differences.There are more ~200 more packages installed on the bootable USB stick than the minimal desktop installation. It's well past quitting time for me here, but I'll attach the diffs of the
dpkg -l
outputs on each system in case you want to take a look, and I'll see if I can find a chance to look at them tomorrow as well.Thank you again for maintaining such a wonderful tool! I'm very excited to finally use it properly!
Attachment: packages_diff.txt
The text was updated successfully, but these errors were encountered: