Segmentation fault with debug

Segmentation fault with debug

The program is listed below.

Using: ifort (IFORT) 14.0.1 20131008

Platform: Linux

Compiling with "ifort test.f90" works fine. Compiling with "ifort -g test.f90" gives:

cesr109:~/linux_lib/test> ./a.out

 Calling addr_info...

Segmentation fault

 

module db_info_mod

 

  type note_struct                ! for multiline notes

    character(132), pointer :: line(:)

  end type

 

  type header_row_struct

    character(40) :: name 

    character(160) :: str 

    character(8) :: encoding        ! HEX, etc

    character(160) :: descrip 

    character(160) :: descrip2       ! additional (paranthetical) description

    logical in_xfile

  end type

 

  type record_struct

    integer index

    character(160) :: col(50) 

    logical :: in_xfile 

    logical :: exists 

    integer :: ix_parent_rec = -1   ! corresponding parent record index.

  end type                                                  

 

  type property_struct

    character(40) :: name 

    character(160) :: descrip 

    logical :: in_xfile             ! saved in xfile?

  end type

 

  type card_info_struct

    type (header_row_struct) header(100)

    type (record_struct) rec(256)

    type (property_struct) col(50)

    type (note_struct) notes(50)               ! multiline notes

    character(132) lines(200)                    ! storage for the notes

  end type

 

contains

 

subroutine addr_info ()

implicit none

type (card_info_struct) :: info_xxx(50)

print *, 'In addr_info'

end subroutine addr_info

 

end module

 

!---------------------------------------

 

program test

use db_info_mod

print *, 'Calling addr_info...'

call addr_info()

end program

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Looks like a memory problem since if I change:
type (card_info_struct) :: info_xxx(50)
to:
type (card_info_struct) :: info_xxx(2)
Then the program runs.

Looks like you're running into the limits of stack size on your system.

Can you use an allocatable array for info_xxx instead of a fixed size one?

Otherwise, look into using the -heap-arrays option or increasing the stack size.

Leave a Comment

Please sign in to add a comment. Not a member? Join today