[Debichem-devel] Bug#925624: Bug#925624: abinit: ftbfs with GCC-9

Michael Banck mbanck at debian.org
Sat Sep 7 21:50:34 BST 2019


reassign 925624 gfortran-9
thanks

Hi Matthias,

On Wed, Mar 27, 2019 at 07:43:54PM +0000, Matthias Klose wrote:
> Command   /<<PKGBUILDDIR>>/src/98_main/abinit <
> /<<PKGBUILDDIR>>/tests/Test_suite/fast_t30/t30.stdin >
> /<<PKGBUILDDIR>>/tests/Test_suite/fast_t30/t30.stdout 2>
> /<<PKGBUILDDIR>>/tests/Test_suite/fast_t30/t30.stderr returned
> exit_code: 139
> 
> [fast][t30][np=1]: fldiff.pl fatal error:
> The diff analysis cannot be done: the number of lines to be analysed differ.
> File /<<PKGBUILDDIR>>/tests/fast/Refs/t30.out: 399 lines, 44 ignored
> File /<<PKGBUILDDIR>>/tests/Test_suite/fast_t30/t30.out: 397 lines, 43 ignored [file=t30.out]
> [fast][t30][np=1]Test was not expected to fail but subprocesses returned 139
> 
> Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
> 
> Backtrace for this error:
> #0  0x7f063149eb40 in ???
> #1  0x7f063149dd75 in ???
> #2  0x7f063115893f in ???
> #3  0x5612b98bb243 in forces_
> 	at /<<PKGBUILDDIR>>/src/67_common/forces.F90:462

So at that line we have:

| if (usefock==1 .and. associated(fock).and.fock%fock_common%optfor) then

and if I step through that function with gdb, usefock is 0 (while fock
is pointing to 0x0).

If I comment out the above if block (plus two more pretty much identical
ones in m_forstr.F90 and m_stress.F90) most of the tests run fine (I
guess the other ones really do need fock).

I am a bit baffled why gfortran compiles this in such a way (at -g
without any -O as well) that we get a segfault here. I now tried with
FCFLAGS='-g -O2' and then the test suite runs fine, so reassigning to
gfortran-9 for now, do you have an idea what's going on?

(I filed this one upstream as well:
https://github.com/abinit/abinit/issues/25)


Michael



More information about the Debichem-devel mailing list