Conversation
v0.2.4
|
It looks like the tests for that package crashed Octave in the CI: Is this something that needs to be fixed? Or should we just go ahead with this version anyway? |
|
yeah would be nice to fix but isnt happenig on my work machine - i was going to try a couple of others to see if I could recreate it |
|
Could that be the same issue that Dmitri reported on Savannah with address sanitizer? But then, the tests for |
|
I can duplicate a crash in windows for av_d2 |
|
Using this patch: I stop getting crashes at least on the windows machie that I saw them on. |
|
The CI Octave container image is using BLAS configured 64 Bit indices entirely:
Does the tisean package detect and respect the Octave configuration? |
|
--- https://gcc.gnu.org/onlinedocs/gfortran/Fortran-Dialect-Options.html#index-finteger-4-integer-8 Where I assume "external procedures" could be calls to BLAS procedures configured with 8 bit indices explicitly in this case? |
|
yeah i dont use fortran so cant comment much on what it is or isnt doing. Apart from the flags set in configure for real-4-8 and patch above for int-4-8, it is using whatever mkoctfile uses. Without the int-4 patch, I see warnings in windows for values of INT(4) and INT(8) conflicts |
|
Fwiw, MXE Octave uses the Fortran flag In general: Should we really use a Docker image which contains Fortran libraries with (fairly uncommon) 64-bit default Fortran integer size? Would it be better to use the default 32-bit Fortran integer size in the CI instead? |
|
I'm also able to reproduce the crash. The top of the backtrace looks like this:
Looking at diff --git a/src/source_f/d1.f b/src/source_f/d1.f
--- a/src/source_f/d1.f
+++ b/src/source_f/d1.f
@@ -89,7 +89,7 @@ c computations
do 10 i=1,nmax-(mt-1)*id
10 ju(i)=i+(mt-1)*id
do 20 i=1,nmax-(mt-1)*id
- iperm=min(int(rand(0.0)*nmax-(mt-1)*id)+1,nmax-(mt-1)*id)
+ iperm=min(int(rand(0)*(nmax-(mt-1)*id))+1,nmax-(mt-1)*id)
ih=ju(i)
ju(i)=ju(iperm)
20 ju(iperm)=ihThis also fixes the input argument type for the Since the existing code only randomly leads to negative indices |
|
To test, I decompressed the tarball, made that modification in With that change, I've no idea what these tests are actually doing. So, I can't tell how bad those failing tests actually are. Maybe, good enough for a release still? |
v0.2.4