Print

Print


Peter Bismuti said:
> My program is crashing giving the error message: Floating exception 
> (core dumped) but I can't seem to get the compiler (NagF90) or the
> debugger (gdb/Linux) to show where the error is occuring.  The best

Seems to be showing itself ok to me.

> I have gotten so far has been:
> 
> k =  358
> k =  359
> Floating exception (core dumped)
> > gdb 2d core
> GDB is free software and you are welcome to distribute copies of it
>  under certain conditions; type "show copying" to see the conditions.
> There is absolutely no warranty for GDB; type "show warranty" for details.
> GDB 4.16 (i486-slackware-linux), Copyright 1996 Free Software Foundation, Inc...
> Core was generated by `2d'.
> Program terminated with signal 8, Floating point exception.
> Reading symbols from /lib/libm.so.5...done.
> Reading symbols from /lib/libc.so.5...done.
> Reading symbols from /lib/ld-linux.so.1...done.
> #0  0x400433c5 in __kill ()
> (gdb) where
> #0  0x400433c5 in __kill ()
> #1  0x4002c39d in gsignal ()
> #2  0x805195c in equation_interface_MP_method_of_characteristics (ib20_=0xbffff30c, 
>     ib21_=0xbffff2e4, xnorm0_=0x81573f0, xnorm1_=0x8157408, q0_=0x8157420, q1_=0x8157448, 
>     q_=0xbffff2e8) at EQUATION/equation_interface.f90:131
> #3  0x80675e8 in mortar_operations_MP_project_from_layer_to_mortar (mrt_=0x8190738)
>     at MORTAR/mortar_operations.f90:157
> #4  0x8075c7c in mortar_library_MP_traverse_mortar_list (head_=0x8190738, 
>     mortar_operation_=0x8064724 <mortar_operations_MP_project_from_layer_to_mortar>)
>     at MORTAR/mortar_library.f90:23
> #5  0x8075d3c in mortar_library_MP_traverse_mortar_list (head_=0x8185c58, 
>     mortar_operation_=0x8064724 <mortar_operations_MP_project_from_layer_to_mortar>)
>     at MORTAR/mortar_library.f90:27
> #6  0x804ace4 in main (argc=1, argv=0xbffff560) at driver.f90:241
> #7  0x8048fbe in ___crt_dummy__ ()
> (gdb) 
> 
> rather cryptic, not much help.  Any tips?  

Well, gdb output is always rather messy, but it is not impossible to read.

The floating-point exception is occurring (cutting out the junk):

> in equation_interface_MP_method_of_characteristics

which is procedure METHOD_OF_CHARACTERISTICS in module EQUATION_INTERFACE
(this naming convention is described in the NAGWare f90 manual).

> at EQUATION/equation_interface.f90:131

i.e. line 132 of file EQUATION/equation_interface.f90

And this procedure was called from

> mortar_operations_MP_project_from_layer_to_mortar

(procedure PROJECT_FROM_LAYER_TO_MORTAR in module MORTAR_OPERATIONS)

> at MORTAR/mortar_operations.f90:157

which was called from

> mortar_library_MP_traverse_mortar_list
> at MORTAR/mortar_library.f90:23

which was called from

> mortar_library_MP_traverse_mortar_list
>     at MORTAR/mortar_library.f90:27

which was called from

> main

(i.e. the main program)

> at driver.f90:241

I take your point that the gdb output is not the world's most easy to read;
we are trying to improve dbx90 (our front-end to dbx/gdb that understands F90)
so that it should hopefully be sufficient to avoid having to resort to gdb so
often in future.

Cheers,
-- 
...........................Malcolm Cohen, NAG Ltd., Oxford, U.K.
                           ([log in to unmask])




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%