title: Memory error when calling gl.GenVertexArrays
body: <p>I've been using Go's go-gl package for quite a while now. Everything was working 100% until I did some refactoring and now I'm getting the stranges error:</p>
  
  <pre><code>fatal error: unexpected signal during runtime execution
  [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x0]
  
  runtime stack:
  runtime.throw(0x65d0fe, 0x2a)
      /usr/lib/go/src/runtime/panic.go:596 +0x95
  runtime.sigpanic()
      /usr/lib/go/src/runtime/signal_unix.go:274 +0x2db
  runtime.asmcgocall(0x8, 0x97ed40)
      /usr/lib/go/src/runtime/asm_amd64.s:633 +0x70
  
  goroutine 1 [syscall, locked to thread]:
  runtime.cgocall(0x5b8ad0, 0xc420049c00, 0xc4200001a0)
      /usr/lib/go/src/runtime/cgocall.go:131 +0xe2 fp=0xc420049bc0 sp=0xc420049b80
  github.com/go-gl/gl/v4.5-core/gl._Cfunc_glowGenVertexArrays(0x0, 0xc400000001, 0xc42006c7d8)
      github.com/go-gl/gl/v4.5-core/gl/_obj/_cgo_gotypes.go:4805 +0x45 fp=0xc420049c00 sp=0xc420049bc0
  github.com/go-gl/gl/v4.5-core/gl.GenVertexArrays(0x1, 0xc42006c7d8)
  
  ...
  
  runtime.main()
      /usr/lib/go/src/runtime/proc.go:185 +0x20a fp=0xc420049fe0 sp=0xc420049f88
  runtime.goexit()
      /usr/lib/go/src/runtime/asm_amd64.s:2197 +0x1 fp=0xc420049fe8 sp=0xc420049fe0
  
  goroutine 17 [syscall, locked to thread]:
  runtime.goexit()
      /usr/lib/go/src/runtime/asm_amd64.s:2197 +0x1
  exit status 2
  
  shell returned 1
  </code></pre>
  
  <p>I was wondering if anyone has a solution. I've updated my drivers and a empty OpenGL scene works 100% without generating vertex arrays.</p>
  
  <p>Here is my <code>go env</code></p>
  
  <pre><code>GOARCH="amd64"
  GOBIN=""
  GOEXE=""
  GOHOSTARCH="amd64"
  GOHOSTOS="linux"
  GOOS="linux"
  GOPATH="/home/&lt;user&gt;/Projects/&lt;project&gt;"
  GORACE=""
  GOROOT="/usr/lib/go"
  GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
  GCCGO="gccgo"
  CC="gcc"
  GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build983667275=/tmp/go-build -gno-record-gcc-switches"
  CXX="g++"
  CGO_ENABLED="1"
  PKG_CONFIG="pkg-config"
  CGO_CFLAGS="-g -O2"
  CGO_CPPFLAGS=""
  CGO_CXXFLAGS="-g -O2"
  CGO_FFLAGS="-g -O2"
  CGO_LDFLAGS="-g -O2"
  </code></pre>
  
  <p>The function making the call:</p>
  
  <pre><code>var vertexArrayID uint32
  
  // ERROR ON LINE BELOW.
  gl.GenVertexArrays(1, &amp;vertexArrayID)
  
  gl.BindVertexArray(vertexArrayID)
  
  // Vertex buffer
  var vertexBuffer uint32
  gl.GenBuffers(1, &amp;vertexBuffer)
  gl.BindBuffer(gl.ARRAY_BUFFER, vertexBuffer)
  gl.BufferData(gl.ARRAY_BUFFER, len(verticies)*4, gl.Ptr(verticies), gl.STATIC_DRAW)
  </code></pre>
  
  <p>Thank you</p>