* Remove all occurencies of threading::memory_order* in multi_array_chunked.hxx 
(or equivalently, replace them with threading::memory_order_seq_cst). This will 
force all atomic accesses to use sequentially consistent ordering, the most 
strict possibility.

That worked out ... much thanks!

- First of all, there was a little mistake, that was the wrong log file. 
Unfortunately, the
   problem with test_multiarray_chunked resp. multi_array_chunked.hxx on 
ppc64el/le remains also
   with changing `memory_order_release/acquire` to `memory_order_seq_cst`.

bummer!

I'm further experimenting with VIGRA_SINGLE_THREADED but no breakthrough so far 
...

Looking at the log again, it occured to me that the error might not be related to multi-threading at all. Possibly, all failing tests are on ChunkedArrayCompressed<T> with T being float and double. Can you please check this? If this is true, the error might go away be changing the compression algorithm in test_chunked.cxx line 121 from LZ4 into ZLIB_FAST or NO_COMPRESSION. If this works, there might be a byte order problem in the LZ4 algorithm. Endianess is decided in <vigra>/src/impex/lz4.c lines 65 to 79. Please check if the correct endianess for your platform is retrieved there, and possibly propose a fix if it isn't.

Best
Ulli

Reply via email to