Snaphu unwrapping error "internal error reading the windows environment - too many environmental variables"

Hello!

I am running snaphu unwrapping using the subprocess function in python.

subprocess.run(r’D:/sn/snaphu-v1.4.2_win64/bin/snaphu -f snaphu.conf Phase_ifg_HH_28Aug2011_21Sep2011.snaphu.img 2903’)

Sometimes I get the following error:

D:\sn\snaphu-v1.4.2_win64\bin\snaphu.exe: *** fatal error - internal error reading the windows environment - too many environment variables?
745 [main] snaphu 13180 cygwin_exception::open_stackdumpfile: Dumping stack trace to snaphu.exe.stackdump

Has anyone run into this problem before and know of a solution?

Thank you!!
Sasha

as subprocess probably doesn’t know your working directory, you might as well give the full path to snaphu.conf.

I don’t know if this caused the error but it could make problems in the syntax.

More importantly, this error often occurs in combination with cygwin. Maybe you have installed if to compile snaphu (as needed in the past), but this is no longer required with the new version in the meanwhile. As you give the full path to the exe file the environment variables are also no longer needed.
My recommendation is to have a look in your system’s path and maybe as well uninstall cygwin (in case you don’t need it for other purposes)

I have fixed the issue that came up due to calling snaphu using Python, and I hope this helps someone in the future. The too many environment variables error can be fixed by setting the environment variable using the following command:

returned_value = subprocess.call(cmd,env={“PATH”:“path to snaphu”}).