У меня тоже была эта проблема. Для меня проблемой была версия Geth vs Go, которую я использовал. Вероятно, вам нужно обновить geth до текущей версии или хотя бы до версии geth v1.8.16
https://github.com/ethereum/go-ethereum/issues/17751
Это не было для меня вариантом, поэтому я нашел второе решение. В этих строках кода вы увидите nils, вам не нужно переключать их все, но если вы переключите те, которые указаны в C.kCFAllocatorDefault, это должно сработать. Пример фактической замены приведен ниже.
51
var source = C.CFRunLoopSourceCreate(C.kCFAllocatorDefault, 0, &C.CFRunLoopSourceContext{
perform: (C.CFRunLoopPerformCallBack)(C.gosource),
})
165
p := C.CFStringCreateWithCStringNoCopy(C.kCFAllocatorDefault, C.CString(s.path), C.kCFStringEncodingUTF8, C.kCFAllocatorDefault)
166
path := C.CFArrayCreate(C.kCFAllocatorDefault, (*unsafe.Pointer)(unsafe.Pointer(&p)), 1, nil)