segmentation fault in running Soliton test case

Report or discuss software problems and other woes

Moderators: arango, robertson

Post Reply
Message
Author
sankaras
Posts: 33
Joined: Mon Nov 27, 2006 6:02 pm
Location: Stanford University.

segmentation fault in running Soliton test case

#1 Unread post by sankaras »

I get the following segmentation fault error while running the soliton case in cygwin.

It prints all the parameters
DEF_HIS - creating history file
WRT_HIS - wrote history files -----------.

30 (main) ROMS_soliton 2596 _cygtls:: handle_exceptions: Error while dumping state (probably corrupted stack)
Segmentation fault (core dumped)

It also writes a file ROMS_Soliton.exe.stackdump.

Any help would be appreciated.


Sankar

User avatar
m.hadfield
Posts: 521
Joined: Tue Jul 01, 2003 4:12 am
Location: NIWA

#2 Unread post by m.hadfield »

The first thing to do when you get a stack dump when running ROMS is to increase the number of tiles. Try NtileI=2, NtileJ=8 and go to larger values if that doesn't work.

You're using g95 aren't you? Try rebuilding it with USE_DEBUG enabled, eg:

Code: Select all

make ROMS_APPLICATION=SOLITON USE_DEBUG=on
This will turn on bounds-checking (always useful if the model's not working properly) and traceback (tells you where it fails).

OcGaBy
Posts: 27
Joined: Wed Sep 13, 2006 3:25 pm
Location: National Oceanography Centre

segmentation fault...

#3 Unread post by OcGaBy »

I am geting a segmentation fault in similar conditions, I mean when I try to run my application that include the next cpp options:

Code: Select all

  ANA_BSFLUX         Analytical kinematic bottom salinity flux.
  ANA_BTFLUX         Analytical kinematic bottom temperature flux.
  ANA_FSOBC          Analytical free-surface boundary conditions.
  ANA_INITIAL        Analytical initial conditions.
  ANA_M2OBC          Analytical 2D momentum boundary conditions.
  ANA_SMFLUX         Analytical kinematic surface momentum flux.
  ANA_SRFLUX         Analytical kinematic shortwave radiation flux.
  ANA_SSFLUX         Analytical kinematic surface salinity flux.
  ANA_STFLUX         Analytical kinematic surface temperature flux.
  AVERAGES           Writing out time-averaged fields.
  CURVGRID           Orthogonal curvilinear grid.
  DIAGNOSTICS_TS     Computing and writing tracer diagnostic terms.
  DIAGNOSTICS_UV     Computing and writing momentum diagnostic terms.
  DJ_GRADPS          Parabolic Splines density Jacobian (Shchepetkin, 2002).
  DOUBLE_PRECISION   Double precision arithmetic.
  EASTERN_WALL       Wall boundary at Eastern edge.
  LMD_CONVEC         LMD convective mixing due to shear instability.
  LMD_MIXING         Large/McWilliams/Doney interior mixing.
  LMD_NONLOCAL       LMD convective nonlocal transport.
  LMD_RIMIX          LMD diffusivity due to shear instability.
  LMD_SKPP           KPP surface boundary layer mixing.
  MASKING            Land/Sea masking.
  MIX_GEO_TS         Mixing of tracers along geopotential surfaces.
  MIX_GEO_UV         Mixing of momentum along geopotential surfaces.
  NONLINEAR          Nonlinear Model.
  NONLIN_EOS         Nonlinear Equation of State for seawater.
  NORTH_FSCHAPMAN    Northern edge, free-surface, Chapman condition.
  NORTH_M2FLATHER    Northern edge, 2D momentum, Flather condition.
  NORTH_M3RADIATION  Northern edge, 3D momentum, radiation condition.
  NORTH_TRADIATION   Northern edge, tracers, radiation condition.
  POWER_LAW          Power-law shape time-averaging barotropic filter.
  PROFILE            Time profiling activated .
  RADIATION_2D       Use tangential phase speed in radiation conditions.
  !RST_SINGLE        Double precision fields in restart NetCDF file.
  SALINITY           Using salinity.
  SOLVE3D            Solving 3D Primitive Equations.
  SOUTH_FSCHAPMAN    Southern edge, free-surface, Chapman condition.
  SOUTH_M2FLATHER    Southern edge, 2D momentum, Flather condition.
  SOUTH_M3RADIATION  Southern edge, 3D momentum, radiation condition.
  SOUTH_TRADIATION   Southern edge, tracers, radiation condition.
  SPLINES            Conservative parabolic spline reconstruction.
  TS_U3HADVECTION    Third-order upstream bias horizontal advection of tracers.
  TS_C4VADVECTION    Fourth-order centered vertical advection of tracers.
  TS_DIF2            Harmonic mixing of tracers.
  UV_ADV             Advection of momentum.
  UV_COR             Coriolis term.
  UV_U3HADVECTION    Third-order upstream bias advection of momentum.
  UV_QDRAG           Quadratic bottom stress.
  UV_VIS2            Harmonic mixing of momentum.
  VAR_RHO_2D         Variable density barotropic mode.
  WESTERN_WALL       Wall boundary at Western edge.
It write out all the parameters until:
NL ROMS/TOMS: started time-stepping:( TimeSteps: 00000001 - 00001440)

And then I got on the terminal...

Code: Select all

forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source
oceanS             00000000004CE59F  Unknown               Unknown  Unknown
oceanS             0000000000404163  Unknown               Unknown  Unknown
oceanS             000000000040358D  Unknown               Unknown  Unknown
oceanS             00000000004034A7  Unknown               Unknown  Unknown
oceanS             000000000040342A  Unknown               Unknown  Unknown
libc.so.6          0000003A6E81DA44  Unknown               Unknown  Unknown
oceanS             0000000000403369  Unknown               Unknown  Unknown
I am runing the simplest configuration of roms-2.2 under Linux Fedora Core 6 with an intel fortran compiler.

Any help will be appreciated.

GaBy

User avatar
m.hadfield
Posts: 521
Joined: Tue Jul 01, 2003 4:12 am
Location: NIWA

#4 Unread post by m.hadfield »

It would be nice to have more information about where the error occurred. To get this you can use Intel Fortran's -traceback option. I suggest you do this as follows:

First, modify Compilers/Linux-ifort.mk, so that the -traceback option is used for DEBUG mode. Change

Code: Select all

ifdef DEBUG
           FFLAGS += -g -check bounds
else
to

Code: Select all

ifdef DEBUG
           FFLAGS += -g -check bounds -traceback
else
Now, rebuild the model in debug mode and re-run it

Code: Select all

make clean
make DEBUG=on
./oceanG < [input file]
With any luck, the traceback will now tell you the line number where the model failed.

Post Reply