Musicoin / go-musicoin

:link: Go-version of Musicoin blockchain wallet and consensus
GNU Lesser General Public License v3.0
161 stars 57 forks source link

SegFault : when Syncing #64

Closed trustfarm-dev closed 6 years ago

trustfarm-dev commented 7 years ago

System information

GMC version: gmc v3 OS & Version: Windows/Linux/OSX Commit hash : (if develop)

Actual behaviour

gmcv3 node stops with SEGFAULT: INFO [10-22|15:47:36] UDP listener up self=enode://e8c309e7760217e70172c13f3ea25ca0b97b63d72ba6b3da1d8d49289bd355ca605b777a8e17a1acf3ad9ed29e8a6dd3d0e6363de8dd13d4ffe800bc30e3d827@[::]:30314 INFO [10-22|15:47:36] Blockchain manager stopped INFO [10-22|15:47:36] Stopping Ethereum protocol INFO [10-22|15:47:36] RLPx listener up self=enode://e8c309e7760217e70172c13f3ea25ca0b97b63d72ba6b3da1d8d49289bd355ca605b777a8e17a1acf3ad9ed29e8a6dd3d0e6363de8dd13d4ffe800bc30e3d827@[::]:30314 panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xbafc90]

goroutine 80 [running]: github.com/ethereum/go-ethereum/eth/filters.(*EventSystem).eventLoop(0xc432b66d00) /home/musicoin/go-musicoin/build/_workspace/src/github.com/ethereum/go-ethereum/eth/filters/filter_system.go:417 +0x330 created by github.com/ethereum/go-ethereum/eth/filters.NewEventSystem /home/musicoin/go-musicoin/build/_workspace/src/github.com/ethereum/go-ethereum/eth/filters/filter_system.go:112 +0x10e

##############################

Steps to reproduce the behaviour

execute gmcv3 node fullchain mode from scratch.

5chdn commented 7 years ago

which os? which version are you running? (commit hash)

trustfarm-dev commented 7 years ago

same as previous issues. linux ubuntu 16.04 (upgrade from 14.04) commit : 2.1.0-unstable-b0f741e8

above code position shows unsubscribe event case.

5chdn commented 7 years ago

above code position shows unsubscribe event case.

could you expand on this? how can I reproduce this?

trustfarm-dev commented 7 years ago

In case of SEG Fault, Can not know How to reproduce. Because it cause asynchronous event handling. So, In view of tester , they just run full sync mode. Unstable code makes falut, initctl daemon restart it. it's all.

trustfarm-dev commented 7 years ago

src/github.com/ethereum/go-ethereum/eth/filters/filter_system.go:417 line and 112 line . https://github.com/ethereum/go-ethereum/blob/479aa61f11724560c63a7b56084259552892819d/eth/filters/filter_system.go#L112

https://github.com/ethereum/go-ethereum/blob/479aa61f11724560c63a7b56084259552892819d/eth/filters/filter_system.go#L417

line describes event handling.

trustfarm-dev commented 6 years ago

closed it when full scratched sync! v2.5 will do it.