Compiler segmentation violation signal

Setting up the 3DVAR package within WRF.

Compiler segmentation violation signal

Postby jared-lee » Tue Apr 09, 2013 5:23 pm

Hi, I'm trying to compile WRF-DA v3.4.1 on a cluster with Intel compilers (11.1). (The NetCDF I'm using was also built with Intel compilers, though I'm not sure which precise compiler version.) All the *.exe files in var/build get compiled with the exception of da_wrfvar.exe. I get a strange "catastrophic error" when da_minimsation.f is being compiled, which causes da_wrfvar to fail. Here's the relevant portion of my compile.log file:

rm -f da_minimisation.o
/usr/local/u/jalee/programs/WRF-DA_v3.4.1/tools/standard.exe da_minimisation.f90 > da_minimisation.b
/lib/cpp -C -P -DEM_CORE=1 -DNMM_CORE=0 -DNMM_MAX_DIM=2600 -DCOAMPS_CORE=0 -DDA_CORE=1 -DEXP_CORE=0 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=8 -DLWORDSIZE=4 -DNONSTANDARD_SYSTEM_FUNC -DBUFR -DFFTPACK -DNORESHAPE -DDM_PARALLEL -DNETCDF -DUSE_ALLOCATABLES -DGRIB1 -DINTIO -DLIMIT_ARGS -DCONFIG_BUF_LEN=65536 -DMAX_DOMAINS_F=21 -DMAX_HISTORY=25 -DNMM_NEST=0 -I. -traditional -I/usr/local/u/jalee/programs/WRF-DA_v3.4.1/inc da_minimisation.b > da_minimisation.f
rm -f da_minimisation.b
if fgrep -iq '!$OMP' da_minimisation.f ; then \
if [ -n "" ] ; then echo COMPILING da_minimisation.f90 WITH OMP ; fi ; \
mpif90 -f90=ifort -c -O2 -w -ftz -align all -fno-alias -fp-model precise -FR -convert big_endian -r8 -i4 -I../external/crtm/libsrc -I/main -I/dyn_em -I/frame -I/share da_minimisation.f ; \
else \
if [ -n "" ] ; then echo COMPILING da_minimisation.f90 WITHOUT OMP ; fi ; \
mpif90 -f90=ifort -c -O2 -w -ftz -align all -fno-alias -fp-model precise -FR -convert big_endian -r8 -i4 -I../external/crtm/libsrc -I/main -I/dyn_em -I/frame -I/share da_minimisation.f ; \
fi
: catastrophic error: **Internal compiler error: segmentation violation signal raised** Please report this error along with the circumstances in which it occurred in a Software Problem Report. Note: File and line given may not be explicit cause of this error.

compilation aborted for da_minimisation.f (code 3)
make[1]: [da_minimisation.o] Error 3 (ignored)
rm -f da_test.o
/usr/local/u/jalee/programs/WRF-DA_v3.4.1/tools/standard.exe da_test.f90 > da_test.b
/lib/cpp -C -P -DEM_CORE=1 -DNMM_CORE=0 -DNMM_MAX_DIM=2600 -DCOAMPS_CORE=0 -DDA_CORE=1 -DEXP_CORE=0 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=8 -DLWORDSIZE=4 -DNONSTANDARD_SYSTEM_FUNC -DBUFR -DFFTPACK -DNORESHAPE -DDM_PARALLEL -DNETCDF -DUSE_ALLOCATABLES -DGRIB1 -DINTIO -DLIMIT_ARGS -DCONFIG_BUF_LEN=65536 -DMAX_DOMAINS_F=21 -DMAX_HISTORY=25 -DNMM_NEST=0 -I. -traditional -I/usr/local/u/jalee/programs/WRF-DA_v3.4.1/inc da_test.b > da_test.f
rm -f da_test.b
if fgrep -iq '!$OMP' da_test.f ; then \
if [ -n "" ] ; then echo COMPILING da_test.f90 WITH OMP ; fi ; \
mpif90 -f90=ifort -c -O2 -w -ftz -align all -fno-alias -fp-model precise -FR -convert big_endian -r8 -i4 -I../external/crtm/libsrc -I/main -I/dyn_em -I/frame -I/share da_test.f ; \
else \
if [ -n "" ] ; then echo COMPILING da_test.f90 WITHOUT OMP ; fi ; \
mpif90 -f90=ifort -c -O2 -w -ftz -align all -fno-alias -fp-model precise -FR -convert big_endian -r8 -i4 -I../ex
ternal/crtm/libsrc -I/main -I/dyn_em -I/frame -I/share da_test.f ; \
fi
rm -f da_wrfvar_top.o
/usr/local/u/jalee/programs/WRF-DA_v3.4.1/tools/standard.exe da_wrfvar_top.f90 > da_wrfvar_top.b
/lib/cpp -C -P -DEM_CORE=1 -DNMM_CORE=0 -DNMM_MAX_DIM=2600 -DCOAMPS_CORE=0 -DDA_CORE=1 -DEXP_CORE=0 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=8 -DLWORDSIZE=4 -DNONSTANDARD_SYSTEM_FUNC -DBUFR -DFFTPACK -DNORESHAPE -DDM_PARALLEL -DNETCDF -DUSE_ALLOCATABLES -DGRIB1 -DINTIO -DLIMIT_ARGS -DCONFIG_BUF_LEN=65536 -DMAX_DOMAINS_F=21 -DMAX_HISTORY=25 -DNMM_NEST=0 -I. -traditional -I/usr/local/u/jalee/programs/WRF-DA_v3.4.1/inc da_wrfvar_top.b > da_wrfvar_top.f
rm -f da_wrfvar_top.b
if fgrep -iq '!$OMP' da_wrfvar_top.f ; then \
if [ -n "" ] ; then echo COMPILING da_wrfvar_top.f90 WITH OMP ; fi ; \
mpif90 -f90=ifort -c -O2 -w -ftz -align all -fno-alias -fp-model precise -FR -convert big_endian -r8 -i4 -I../e
xternal/crtm/libsrc -I/main -I/frame -I/share da_wrfvar_top.f ; \
else \ if [ -n "" ] ; then echo COMPILING da_wrfvar_top.f90 WITHOUT OMP ; fi ; \
mpif90 -f90=ifort -c -O2 -w -ftz -align all -fno-alias -fp-model precise -FR -convert big_endian -r8 -i4 -I../ex
ternal/crtm/libsrc -I/main -I/frame -I/share da_wrfvar_top.f ; \
firm -f libwrfvar.a
rm -f da_wrfvar_main.o
ar ru libwrfvar.a da_blas.o da_lapack.o da_par_util.o da_par_util1.o da_setup_structures.o da_transfer_model.o da_minimisation.o da_vtox_transforms.o da_obs.o da_obs_io.o da_join_iv_for_multi_inc.o da_metar.o da_geoamv.o da_polaramv.o da_ships.o da_synop.o da_sound.o da_mtgirs.o da_tamdar.o da_bogus.o da_airep.o da_pilot.o da_radar.o da_rain.o da_gpspw.o da_gpsref.o da_ssmi.o module_ssmi.o da_satem.o da_qscat.o da_pseudo.o da_profiler.o da_buoy.o da_dynamics.o da_physics.o f_qv_from_rh.o da_ffts.o module_ffts.o da_test.o da_tools.o da_tools_serial.o da_wrf_interfaces.o da_rsl_interfaces.o da_mat_cv3.o da_rf_cv3.o da_rfz_cv3.o da_recursive_filter.o da_wavelet.o da_interpolation.o da_grid_definitions.o da_statistics.o da_define_structures.o gamma1.o da_spectral.o da_radiance.o da_radiance1.o da_rttov.o da_crtm.o da_varbc.o module_radiance.o da_tracing.o gsi_kinds.o gsi_constants.o gsi_thinning.o da_wrfvar_io.o da_airsr.o da_wrfvar_top.o da_reporting.o da_4dvar.o module_wrf_error.o module_configure.o module_state_description.o module_timing.o module_driver_constants.o module_domain.o module_machine.o module_symbols_util.o module_utility.o module_domain_type.o module_date_time.o module_io_wrf.o module_io.o module_io_domain.o module_io_quilt.o module_dm.o module_comm_dm.o module_bc.o module_model_constants.o module_nesting.o module_tiles.o module_get_file_names.o module_bc_time_utilities.o landread.o da_memory.o wrf_debug.o set_timekeeping.o wrf_shutdown.o init_modules.o mediation_wrfmain.o mediation_integrate.o wrf_num_bytes_between.o input_wrf.o wrf_bdyin.o wrf_bdyout.o output_wrf.o wrf_ext_read_field.o wrf_ext_write_field.o collect_on_comm.o start_domain.o hires_timer.o module_streams.o module_comm_dm.o module_comm_dm_0.o module_comm_dm_1.o module_comm_dm_2.o module_comm_dm_3.o module_comm_dm_4.o module_alloc_space_0.o module_alloc_space_1.o module_alloc_space_2.o module_alloc_space_3.o module_alloc_space_4.o module_alloc_space_5.o module_alloc_space_6.o module_alloc_space_7.o module_alloc_space_8.o module_alloc_space_9.o nl_get_0_routines.o nl_get_1_routines.o nl_get_2_routines.o nl_get_3_routines.o nl_get_4_routines.o nl_get_5_routines.o nl_get_6_routines.o nl_get_7_routines.o nl_set_0_routines.o nl_set_1_routines.o nl_set_2_routines.o nl_set_3_routines.o nl_set_4_routines.o nl_set_5_routines.o nl_set_6_routines.o nl_set_7_routines.o
/usr/local/u/jalee/programs/WRF-DA_v3.4.1/tools/standard.exe da_wrfvar_main.f90 > da_wrfvar_main.b
ar: creating libwrfvar.a
ar: da_minimisation.o: No such file or directory
make[1]: [libwrfvar.a] Error 1 (ignored)
ranlib libwrfvar.a
/lib/cpp -C -P -DEM_CORE=1 -DNMM_CORE=0 -DNMM_MAX_DIM=2600 -DCOAMPS_CORE=0 -DDA_CORE=1 -DEXP_CORE=0 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=8 -DLWORDSIZE=4 -DNONSTANDARD_SYSTEM_FUNC -DBUFR -DFFTPACK -DNORESHAPE -DDM_PARALLEL -DNETCDF -DUSE_ALLOCATABLES -DGRIB1 -DINTIO -DLIMIT_ARGS -DCONFIG_BUF_LEN=65536 -DMAX_DOMAINS_F=21 -DMAX_HISTORY=25 -DNMM_NEST=0 -I. -traditional -I/usr/local/u/jalee/programs/WRF-DA_v3.4.1/inc da_wrfvar_main.b > da_wrfvar_main.f
ranlib: 'libwrfvar.a': No such file
make[1]: [libwrfvar.a] Error 1 (ignored)
rm -f da_wrfvar_main.b
if fgrep -iq '!$OMP' da_wrfvar_main.f ; then \
if [ -n "" ] ; then echo COMPILING da_wrfvar_main.f90 WITH OMP ; fi ; \
mpif90 -f90=ifort -c -O2 -w -ftz -align all -fno-alias -fp-model precise -FR -convert big_endian -r8 -i4 -I../external/crtm/libsrc -I/main -I/frame -I/share da_wrfvar_main.f ; \
else \
if [ -n "" ] ; then echo COMPILING da_wrfvar_main.f90 WITHOUT OMP ; fi ; \
mpif90 -f90=ifort -c -O2 -w -ftz -align all -fno-alias -fp-model precise -FR -convert big_endian -r8 -i4 -I../external/crtm/libsrc -I/main -I/frame -I/share da_wrfvar_main.f ; \
fi
rm -f da_wrfvar.exe
ld: cannot find -lwrfvar
make[1]: [da_wrfvar.exe] Error 1 (ignored)


I've tried compiling this multiple times and it always dies in the same place, so it's not just a random one-off fluke with the compiler. I also tried reducing the optimization from -O3 to -O2, but that didn't help at all. I've never seen this error before -- does anyone out there have any ideas??

Jared
jared-lee
 
Posts: 25
Joined: Wed Jun 09, 2010 7:20 pm

Re: Compiler segmentation violation signal

Postby jared-lee » Tue Apr 09, 2013 8:16 pm

Update: Apparently switching to a different version of the Intel compiler solved the problems I was experiencing. Previously I used Intel 11.1.056, but when I switched to Intel 12.1.003 that error went away and da_wrfvar.exe built successfully (along with all other executables as well). Should've thought of that sooner, but at least it works now.
jared-lee
 
Posts: 25
Joined: Wed Jun 09, 2010 7:20 pm

Re: Compiler segmentation violation signal

Postby fantine-ngan » Wed Jul 01, 2015 5:07 pm

I got a similar "catastrophic error" message when I tried to install WRF v3.7 with compiler ifort 11.0. Is there any solution for this without upgrading the compiler version??

module_ra_rrtmg_swf.f90(1): catastrophic error: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report. Note: File and line given may not be explicit cause of this error.
fantine-ngan
 
Posts: 1
Joined: Wed Jul 01, 2015 5:00 pm


Return to Installation

Who is online

Users browsing this forum: No registered users and 1 guest