|
From: | Mohammad Akhlaghi |
Subject: | Re: [bug-gnuastro] failure on wcscat,sh, radec.sh, wcspolygon.sh |
Date: | Fri, 2 Dec 2016 15:20:28 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.0 |
Hi Christopher,Thank you very much, the outputs were really helpful and after following each step much more closely I think I was able to find the problem. Could you try `make check' (everything set as default) on the tarball below:
https://cral.univ-lyon1.fr/labo/perso/mohammad.akhlaghi/gnuastro-0.2-possible-fix.tar.gz (will be removed after this bug is fixed.)If I am correct, the problem was caused by a bad call to WCSLIB's `wcsp2s' function in the `wcscheckprepare' function of `bin/imgcrop/wcsmode.c'. The `status' variable should actually have been an array, not a single value. So WCSLIB was writing values in regions of memory that it thought belong to this array. But in fact, these regions had information of the other constructs, so after WCSLIB changed them you get a segmentation error.
To be honest, I am surprized how other compilers (or your compiler in non-optimized mode) hadn't caught this error. But I hope this is the solution ;-).
Thanks again, Mohammad On 12/02/2016 12:25 PM, Christopher Willmer wrote:
Hello Mohammad, I downloaded the tar file you made into a separate directory and ran configure with ./configure --prefix=/home/cnaw/bin LDFLAGS=-L/home/cnaw/bin/lib CPPFLAGS=-I/home/cnaw/bin/include and then make -j4 I did three runs of make check; In the first run (test-suite_org.log) I used the scripts as they came. For the second run I edited the 3 scripts that fail by adding the valgrind command (test-suite_valgrind.log) valgrind --leak-check=full --show-reachable=yes $execname ... and the third (test-suite_valgrind_minus_v.log) valgrind -v --leak-check=full --show-reachable=yes $execname ... Hopefully this will be useful Cheers, Christopher
[Prev in Thread] | Current Thread | [Next in Thread] |