Hi, Strange... Let me bring this upstream to see whether this is flexiblas' or openblas' fault. In the meanwhile, exporting FLEXIBLAS=netlib before the tests makes use of the reference implementation, so everything should be slower but safer. And if this starts happening in the wild, we can change to openblas-serial with a quick update of FlexiBLAS. Iñaki On Fri, 4 Sep 2020 at 05:50, Orion Poplawski <orion@xxxxxxxx> wrote: > > It looks like with the flexiblas enabled octave, octave-statistics now > has a segfault in one of its tests: > > https://koschei.fedoraproject.org/package/octave-statistics?collection=f34 > > canoncorr.m ................................................. > RPM build errors: > /var/tmp/rpm-tmp.PZIGXq: line 33: 915255 Segmentation fault (core > dumped) > > Looks like flexiblas defaults to the openmp version of openblas. If I > switch to the serial version, the segfault goes away: > > FLEXIBLAS=/lib64/libopenblas.so octave -H -q --no-window-system > --no-site-file --eval > 'pkg("local_list",fullfile("/home/orion/rpmbuild/BUILDROOT/octave-statistics-1.4.1-6.fc34.x86_64/usr/share/octave","octave_packages"));pkg("load","statistics");test("/home/orion/rpmbuild/BUILDROOT/octave-statistics-1.4.1-6.fc34.x86_64/usr/share/octave/packages/statistics-1.4.1/canoncorr.m");' > OpenJDK 64-Bit Server VM warning: Archived non-system classes are > disabled because the java.system.class.loader property is specified > (value = "org.octave.OctClassLoader"). To use archived non-system > classes, this property must be not be set > PASSES 7 out of 7 tests > > > FLEXIBLAS=/lib64/libopenblaso.so octave -H -q --no-window-system > --no-site-file --eval > 'pkg("local_list",fullfile("/home/orion/rpmbuild/BUILDROOT/octave-statistics-1.4.1-6.fc34.x86_64/usr/share/octave","octave_packages"));pkg("load","statistics");test("/home/orion/rpmbuild/BUILDROOT/octave-statistics-1.4.1-6.fc34.x86_64/usr/share/octave/packages/statistics-1.4.1/canoncorr.m");' > OpenJDK 64-Bit Server VM warning: Archived non-system classes are > disabled because the java.system.class.loader property is specified > (value = "org.octave.OctClassLoader"). To use archived non-system > classes, this property must be not be set > Segmentation fault (core dumped) > > > Thread 1 "octave-cli-5.2." received signal SIGSEGV, Segmentation fault. > 0x00007ffff0f1eb19 in dsyrk_thread_UT (args=0x7fffffff8db0, range_m=0x0, > range_n=0x0, sa=0x7fffb4d31000, sb=0x7fffb4e31000, mypos=0) at > level3_syrk_threaded.c:508 > 508 int CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG > *range_n, FLOAT *sa, FLOAT *sb, BLASLONG mypos){ > (gdb) bt > #0 0x00007ffff0f1eb19 in dsyrk_thread_UT (args=0x7fffffff8db0, > range_m=0x0, range_n=0x0, sa=0x7fffb4d31000, sb=0x7fffb4e31000, mypos=0) > at level3_syrk_threaded.c:508 > #1 0x00007ffff0e2152f in dsyrk_ (UPLO=<optimized out>, TRANS=<optimized > out>, N=<optimized out>, K=<optimized out>, alpha=<optimized out>, > a=<optimized out>, ldA=0x7fffffff8ef0, beta=0x7fffffff8f20, > c=0x555555f1faa0, > ldC=0x7fffffff8ed8) at syrk.c:370 > #2 0x00007ffff67ac436 in _Z5xgemmRK6MatrixS1_15blas_trans_typeS2_ > (a=..., b=..., transa=blas_trans, transb=blas_no_trans) at > liboctave/array/Array.h:582 > #3 0x00007ffff75336ee in oct_binop_trans_mul (a1=..., a2=...) at > libinterp/octave-value/ov-re-mat.cc:145 > #4 0x00007ffff781ab44 in do_binary_op (ti=..., > op=octave_value::op_herm_mul, v1=..., v2=...) at > libinterp/octave-value/ov.cc:2407 > > > (gdb) list > 503 #endif > 504 > 505 return 0; > 506 } > 507 > 508 int CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG > *range_n, FLOAT *sa, FLOAT *sb, BLASLONG mypos){ > 509 > 510 blas_arg_t newarg; > 511 > 512 #ifndef USE_ALLOC_HEAP > (gdb) up > #1 0x00007ffff0e2152f in dsyrk_ (UPLO=<optimized out>, TRANS=<optimized > out>, N=<optimized out>, K=<optimized out>, alpha=<optimized out>, > a=<optimized out>, ldA=0x7fffffff8ef0, beta=0x7fffffff8f20, > c=0x555555f1faa0, > ldC=0x7fffffff8ed8) at syrk.c:370 > 370 (syrk[4 | (uplo << 1) | trans ])(&args, NULL, NULL, sa, sb, 0); > (gdb) up > #2 0x00007ffff67ac436 in _Z5xgemmRK6MatrixS1_15blas_trans_typeS2_ > (a=..., b=..., transa=blas_trans, transb=blas_no_trans) at > liboctave/array/Array.h:582 > 582 const T * data (void) const { return slice_data; } > (gdb) print a > $1 = (const class Matrix &) @0x7fffffff9020: {<NDArray> = > {<MArray<double>> = {<Array<double>> = {_vptr.Array = 0x7ffff7f95750 > <vtable for Matrix+16>, dimensions = {rep = 0x555555f04180}, rep = > 0x555555f45dc0, > slice_data = 0x555555f07200, slice_len = 20}, <No data > fields>}, <No data fields>}, <No data fields>} > (gdb) print b > $2 = (const class Matrix &) @0x7fffffff8ff0: {<NDArray> = > {<MArray<double>> = {<Array<double>> = {_vptr.Array = 0x7ffff7f95750 > <vtable for Matrix+16>, dimensions = {rep = 0x555555f04180}, rep = > 0x555555f45dc0, > slice_data = 0x555555f07200, slice_len = 20}, <No data > fields>}, <No data fields>}, <No data fields>} > > > I'm not quite sure where to start here... > > Orion > > > -- > Orion Poplawski > Manager of NWRA Technical Systems 720-772-5637 > NWRA, Boulder/CoRA Office FAX: 303-415-9702 > 3380 Mitchell Lane orion@xxxxxxxx > Boulder, CO 80301 https://www.nwra.com/ > -- Iñaki Úcar _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx