Skip to content

Inconsistent terminated by signal SIGSEGV (Address boundary error) messages #13

Open

Description

@liamtoney

I've installed SETSM on an Apple MacBook Pro w/ M2 Max chip (32 GB memory). I had to make edits to the Makefile to do this (see bottom of message), but they were limited to pointing to the correct dependencies — and after making the changes, the code appeared to compile correctly (e.g., the setsm -help command runs as expected after installation).

setsm runs inconsistently on my machine. Sometimes, it will complete a run with no errors. Other times, it will fail, always with the same error:

terminated by signal SIGSEGV (Address boundary error)

Example command that causes failure (sometimes):

-image ../23APR17020120-P1BS-016359594010_01_P001.TIF -image ../23APR17020206-P1BS-016359594010_01_P001.TIF -outpath test_output  -outres 20 -tilesize 1000

I'm trying to understand if this is related to the Apple silicon hardware, which would be understandable, or if this is a bug encountered on other platforms. Any ideas? Thanks in advance.

Edits made to the Makefile
diff --git a/Makefile b/Makefile
index fb1ec48..73e87cb 100755
--- a/Makefile
+++ b/Makefile
@@ -4,21 +4,22 @@

 # If libtiff is installed in a nonstandard location you must edit
 # TIFFPATH and uncomment the following three lines.
-TIFFPATH?=/home/noh.56/software/tiff-4.0.3
+TIFFPATH?=/opt/homebrew/Cellar/libtiff/4.6.0
 TIFFINC?=-I$(TIFFPATH)/include
 TIFFLIB?=-L$(TIFFPATH)/lib

 # If libgeotiff is installed in a nonstandard location you must edit
 # GEOTIFFPATH and uncomment the following three lines.
-GEOTIFFPATH?=/home/noh.56/software/libgeotiff-1.4.2
+GEOTIFFPATH?=/opt/homebrew/Cellar/libgeotiff/1.7.1_3
 GEOTIFFINC?=-I$(GEOTIFFPATH)/include
 GEOTIFFLIB?=-L$(GEOTIFFPATH)/lib
-PROJLIB?=-L/home/noh.56/software/proj-5.1.0/lib
+PROJLIB?=-L/opt/homebrew/Cellar/proj/9.4.0/lib
+JPEGLIB?=-L/opt/homebrew/Cellar/jpeg-turbo/3.0.3/lib

 MPIFLAGS = -DBUILDMPI

 INCS = $(TIFFINC) $(GEOTIFFINC)
-LDFLAGS = $(TIFFLIB) $(GEOTIFFLIB)
+LDFLAGS = $(TIFFLIB) $(GEOTIFFLIB) $(PROJLIB) $(JPEGLIB)

 COMMON_OBJS = CoordConversion.o SubFunctions.o LSF.o Orthogeneration.o Coregistration.o SDM.o setsmgeo.o grid.o grid_triangulation.o edge_list.o
 MPI_OBJS = $(COMMON_OBJS) log_mpi.o
@@ -61,8 +62,8 @@ else ifeq ($(COMPILER), nvhpc)
   CFLAGS=
   CXXFLAGS=
 else
-  CC=gcc
-  CXX=g++
+  CC=gcc-13
+  CXX=g++-13
   MPICC=mpicc
   MPICXX=mpicxx
   CFLAGS=-std=c99 -g -O3 -fopenmp

Activity

  1. liamtoney commented on Jul 9, 2024

    @liamtoney
    Author

    I'm not seeing the above error on the Linux cluster I'm running the code on, so I imagine this is indeed likely due to Apple silicon specifics. Please feel free to close this issue — it seems like while it's possible to run SETSM on Apple silicon, it's a bit of a stretch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions