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

Why Am I Continually Solving Problems That I Don’t Care About?

Java 8 | StringTokenizer 2+ while

What is Recursion and TCO?

Pros and Cons of Kotlin Programming Language

Compiling Julia Binaries

Build A Text-To-Speech App Using Client-Side JavaScript

Information Input Considerations for Intelligently Generating Frontend Code

iOS 14 Widget — Limitations

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

Simplify migrating from Kafka to Pulsar with Kafka Connect Support

Bursting MongoDB to a Remote Kubernetes Clusters in Minutes — Part 2

How to Stay Compliant When Deploying Fintech in Public Clouds

How to Connect Elastic Sink Connector with Kafka