TRIQS / tprf

TPRF: The Two-Particle Response Function tool box for TRIQS
https://triqs.github.io/tprf
Other
14 stars 12 forks source link

Division by zero in lindhard_chi00.cpp:77 #12

Closed Wentzell closed 2 years ago

Wentzell commented 4 years ago

For the tests Py_chi00_square_lattice and Py_mean_field I detected divisions by zero at c++/triqs_tprf/lattice/lindhard_chi00.cpp:77. This is not intended and should be protected.

Wentzell commented 4 years ago

Find the stack trace below for the Py_chi00_square_lattice test

llvm_9.0.0/bin/../include/c++/v1/complex:684:46: runtime error: division by zero
    #0 0x7f2cf650ca00 in std::__1::complex<double> std::__1::operator/<double>(std::__1::complex<double> const&, std::__1::complex<double> const&) /mnt/home/wentzell/opt/llvm_9.0.0/bin/../include/c++/v1/complex:684:46
    #1 0x7f2cf650c32b in std::__1::complex<double>& std::__1::complex<double>::operator/=<double>(std::__1::complex<double> const&) /mnt/home/wentzell/opt/llvm_9.0.0/bin/../include/c++/v1/complex:433:27
    #2 0x7f2cf67c7d54 in std::__1::complex<double> std::__1::operator/<double>(double const&, std::__1::complex<double> const&) /mnt/home/wentzell/opt/llvm_9.0.0/bin/../include/c++/v1/complex:725:9
    #3 0x7f2cf67c7d54 in .omp_outlined._debug__ /mnt/home/wentzell/Dropbox/Coding/tprf/c++/triqs_tprf/lattice/lindhard_chi00.cpp:77:52
    #4 0x7f2cf67cb050 in .omp_outlined. /mnt/home/wentzell/Dropbox/Coding/tprf/c++/triqs_tprf/lattice/lindhard_chi00.cpp:53:5
    #5 0x7f2cf59252e2 in __kmp_invoke_microtask (/mnt/home/wentzell/opt/llvm_9.0.0/lib/libomp.so+0xa92e2)
    #6 0x7f2cf58c1edd in __kmp_fork_call (/mnt/home/wentzell/opt/llvm_9.0.0/lib/libomp.so+0x45edd)                                                                                                                                                                               
    #7 0x7f2cf58b0019 in __kmpc_fork_call (/mnt/home/wentzell/opt/llvm_9.0.0/lib/libomp.so+0x34019)
    #8 0x7f2cf67c5da6 in triqs_tprf::lindhard_chi00_wk(triqs::gfs::gf_const_view<triqs::lattice::brillouin_zone, triqs::gfs::matrix_valued>, int, double, double) /mnt/home/wentzell/Dropbox/Coding/tprf/c++/triqs_tprf/lattice/lindhard_chi00.cpp:52:1
Wentzell commented 2 years ago

This was fixed by https://github.com/TRIQS/tprf/commit/b337e362db16d072fb50038c0f5a5db493292584