I did a spring cleaning in my code by splitting it up in more Go packages, mainly to help reusability (each "building block" in its own package).
After fixing the import errors, I discovered that my program suddenly won't build. Running "go build" returns a nosplit stack overflow error.
robot main.init: nosplit stack overflow
120 guaranteed after split check in main.init 112 on entry to robot/web.init 104 on entry to robot/controller.init 96 on entry to robot/slam.init 88 on entry to robot/slam/hector.init 80 on entry to hectormapping/map/mapimages.init 72 on entry to hectormapping/map/maprep.init 64 on entry to hectormapping/map/mapproccontainer.init 56 on entry to hectormapping/scanmatcher.init 48 on entry to hectormapping/map/gridmap/occbase.init 40 on entry to hectormapping/map/gridmap/base.init 32 on entry to hectormapping/map/gridmap.init 24 on entry to github.com/skelterjohn/go%2ematrix.init 16 on entry to math.init 8 on entry to math.init┬À1 0 on entry to runtime.panicindex -8 on entry to runtime.morestack00
runtime.main: nosplit stack overflow
120 guaranteed after split check in runtime.main 128 after runtime.main uses -8 120 on entry to main.init 112 on entry to robot/web.init 104 on entry to robot/controller.init 96 on entry to robot/slam.init 88 on entry to robot/slam/hector.init 80 on entry to hectormapping/map/mapimages.init 72 on entry to hectormapping/map/maprep.init 64 on entry to hectormapping/map/mapproccontainer.init 56 on entry to hectormapping/scanmatcher.init 48 on entry to hectormapping/map/gridmap/occbase.init 40 on entry to hectormapping/map/gridmap/base.init 32 on entry to hectormapping/map/gridmap.init 24 on entry to github.com/skelterjohn/go%2ematrix.init 16 on entry to math.init 8 on entry to math.init┬À1 0 on entry to runtime.panicindex -8 on entry to runtime.morestack00
Does anyone know what this is about? I can't find much documentation as to what might be causing it, except that for some cases this is a bug that supposedly is fixed.
Some of the code was split into a new folder in the "src" folder, so that the file structure is now:
src/robot/main.go (main() lives here)
src/robot/(...) (application-specific packages)
src/hectormapping/(...) (stand-alone package used in "robot")
I am using Go 1.0.3 on Windows 7 (x64).