Hyperledger Fabric Deployment on Alibaba Cloud Environment — SIGSEGV Problem Analysis and Solutions

Problem Description

2017-11-01 02:44:04.247 UTC [peer] updateTrustedRoots -> DEBU 2a0 Updating trusted root authorities for channel mychannel
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x63 pc=0x7f9d15ded259]
runtime stack:
runtime.throw(0xdc37a7, 0x2a)
/opt/go/src/runtime/panic.go:566 +0x95
runtime.sigpanic()
/opt/go/src/runtime/sigpanic_unix.go:12 +0x2cc
goroutine 64 [syscall, locked to thread]:
runtime.cgocall(0xb08d50, 0xc4203bcdf8, 0xc400000000)
/opt/go/src/runtime/cgocall.go:131 +0x110 fp=0xc4203bcdb0 sp=0xc4203bcd70
net._C2func_getaddrinfo(0x7f9d000008c0, 0x0, 0xc420323110, 0xc4201a01e8, 0x0, 0x0, 0x0)

Analysis Process

Name Resolution

export GODEBUG=netdns=go    # force pure Go resolver
export GODEBUG=netdns=cgo # force cgo resolver*

Comparing the Go and Cgo Resolvers

# cat /etc/resolv.conf 
nameserver 127.0.0.11
options ndots:0
# cat /etc/resolv.conf 
nameserver 127.0.0.11
options timeout:2 attempts:3 rotate single-request-reopen ndots:0
case "options": // magic options
for _, s := range f[1:] {
switch {
case hasPrefix(s, "ndots:"):
n, _, _ := dtoi(s[6:])
if n < 0 {
n = 0
} else if n > 15 {
n = 15
}
conf.ndots = n
case hasPrefix(s, "timeout:"):
n, _, _ := dtoi(s[8:])
if n < 1 {
n = 1
}
conf.timeout = time.Duration(n) * time.Second
case hasPrefix(s, "attempts:"):
n, _, _ := dtoi(s[9:])
if n < 1 {
n = 1
}
conf.attempts = n
case s == "rotate":
conf.rotate = true
default:
conf.unknownOpt = true
}
}
# cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 100.100.2.138
nameserver 100.100.2.136
options timeout:2 attempts:3 rotate single-request-reopen
# cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 100.100.2.136
nameserver 100.100.2.138

Recommended Solution

Alibaba Cloud Container Service Blockchain Solution

  1. Alibaba Cloud Container Service Blockchain Solution
  2. Blockchain Solution Documentation of Alibaba Cloud Container Service

--

--

--

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

You should <React/> to this!

Kubernetes volumes and workload portability

Project management automation: 5 SaaS software to put your projects on autopilot

Get Started with Data Fusion

How to Get Started with Android Development: 2021

Sorting & partitioning: The 114 C++ algorithms series

Configure multiple git accounts on the same machine

“I’m Not Lost. I’m Sightseeing!”

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alibaba Cloud

Alibaba Cloud

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com

More from Medium

GKE Ingress redirect http to https

Deploying Open Source Observability Stack in AWS — Part — II

Get Google Stackdriver metric to Grafana

Scaling nodes in Kubernetes on a schedule.