Closed ziotom78 closed 2 years ago
One possibility is that Julia screws up the alignment of the stack before calling into the C library; that could explain the symptoms. If that is the case, I expect that there will be some regression reports against Julia 1.6.3 fairly soon. At the moment, the release is still so new that it might not have been noticed yet.
As I feared, it was longer than I hoped… Unfortunately, the patch does not work, here is the new error:
Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x56b55090 -- at 0x56b55090 -- OLATION with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x56b55090 -- at 0x56b55090 -- OLATION with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x56b55090 -- at 0x56b55090 -- OLATION with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x56b55090 -- at 0x56b55090 -- OLATION with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x56b55090 -- mypow at ***\.julia\artifacts\331e8a6093782bd87dec34d4983f81904b11c7be\bin\libsharp2-0.dll
(unknown line) in expression starting at ***\Libsharp.jl\test\runtests.jl:40
in\libsharp2-0.dll (unknown line)
in expression starting at ***\Libsharp.jl\test\runtests.jl:40
in expression starting at ***\Libsharp.jl\test\runtests.jl:40
in\libsharp2-0.dll (unknown line)
I checked that the code is compiled using 64-bit, and sharp_architecture() returns fma
.
I am thinking of testing Julia 1.6.0, 1.6.1, and 1.6.2 on Windows and then report my findings to the Julia developers, mentioning your suggestion of a misaligned stack frame.
Thanks for the help!
Thanks for testing!
BTW, how do you compile under Windows? If sharp_architecture
returns "fma", that sounds as if you manage to use the "configure" machinery; in that case your compiler is most likely not MSVC (as I assumed) but the MinGW gcc or similar.
It might be interesting to try and switch on debugging information with "-g", to get (hopefully) some meaningful line numbers in the error report.
In any case, even if we don't manage to find the root of the problem, we should at least be able to work around it by not using the -DMULTIARCH
flag and not using -march=native
either. This should reduce vectorization to SSE2, and that will most likely work.
Ah, sorry, you asked me this morning about the compiler, but I forgot to answer you. I am using BinaryBuilder.jl (https://github.com/JuliaPackaging/BinaryBuilder.jl), which is a Julia package that provides cross-compilers based on GCC and Clang. This is the script I am currently using to build the binaries for Linux, Mac OS X, and Windows:
Thanks for the hint about -g and the other flags, I'll test this immediately!
Solved by #68.
There is a repeatable failure in our tests happening with Julia 1.6.3 on Windows:
As far as I know, this error did not happen with Julia 1.6.2.
It seems that the place where this is happening is in
mypow
, a C++ function in libsharp2. I will investigate this once I have access to a Windows machine.