Uninitialized variable giving SIGFPE
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Siesta |
Fix Released
|
Low
|
Nick Papior | ||
4.0 |
Fix Released
|
Low
|
Nick Papior | ||
4.1 |
Fix Released
|
Low
|
Nick Papior |
Bug Description
When compiling the trunk version with the following options:
FC = mpif90
FFLAGS = -g -O0 -m64 -fPIC -fno-second-
the following error happens right at the beginning of the code execution:
Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.
----
Backtrace for this error:
#0 0x2ae199681a8f in ???
#1 0x4ecfb8 in __interpolation
at /home/pedro/
#2 0x6f82c3 in comlocal
at /home/pedro/
#3 0x70f0d3 in __atom_
at /home/pedro/
#4 0x51a58e in initatom_
at /home/pedro/
#5 0x64b65f in __m_siesta_
at /home/pedro/
#6 0x118efcb in siesta
at /home/pedro/
#7 0x118f0a5 in main
at /home/pedro/
----
Although in a standard compilation this will not happen, the error can be fix by including the initialization 'dydx = 0' at 'polint' subroutine from 'interpolation' module.
Changed in siesta: | |
milestone: | none → 4.1-b3 |
assignee: | nobody → Nick Papior (nickpapior) |
importance: | Undecided → Low |
status: | New → Triaged |
milestone: | 4.1-b3 → 4.0.1 |
Changed in siesta: | |
status: | Fix Committed → Fix Released |
Hi again, the same kind of problem happens at dhscf module when running in parallel and with the new cellxc:
----
Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.
Backtrace for this error: r8_v_MOD_ mpi_allreduce_ t local/src/ siesta/ lp-siesta/ trunk/Obj/ MPI/Interfaces. f90:2284 local/src/ siesta/ lp-siesta/ trunk/Src/ dhscf.F: 1714 hamiltonian_ MOD_setup_ hamiltonian local/src/ siesta/ lp-siesta/ trunk/Src/ setup_hamiltoni an.F:236 forces_ MOD_siesta_ forces local/src/ siesta/ lp-siesta/ trunk/Src/ siesta_ forces. F90:276 local/src/ siesta/ lp-siesta/ trunk/Src/ siesta. F:80 local/src/ siesta/ lp-siesta/ trunk/Src/ siesta. F:10
#0 0x2aef4de23a8f in ???
#1 0x2aef4d25fcb0 in ???
#2 0x2aef4d1cbb32 in ???
#3 0x2aef4d191d7a in ???
#4 0x2aef4d99c0ba in ???
#5 0x12ae8a8 in __mpi__
at /home/pedro/
#6 0x4697c6 in __m_dhscf_MOD_dhscf
at /home/pedro/
#7 0x6337e7 in __m_setup_
at /home/pedro/
#8 0x663aeb in __m_siesta_
at /home/pedro/
#9 0x118f01c in siesta
at /home/pedro/
#10 0x118f0a5 in main
at /home/pedro/
----
One solution would be to initialize 'sbuffer = 0' at line 1704.
PS: not that I've been too picky, but I had to solve this small things to be able to debug my own implementations.