Closed kozyilmaz closed 5 years ago
The same. any solutions?
It seems like net.topicRegisterReq
in p2p/discv5/net.go line 295 has not been defined. And I learnt that the only call for func newNetwork()
is likely in p2p/discv5/udp.go line 245. However, we look at p2p/server.go line 384, only if srv.DiscoveryV5 == true
, then discv5.ListenUDP
will be called. Dose it mean this panic always happens if we have setting--nodiscover
and not setting --v5disc
? And thereby we are not able to set it to manual peer addition with light clients?
Thanks for your analysis @OniReimu @zsfelfoldi Any plans for a resolution in near future, it is creating problems for private networks.
Found a workaround. In les/server.go func (s *LesServer) Start(srvr *p2p.Server){)
:
Comment out:
// go func() {
// logger := log.New("topic", s.lesTopic)
// logger.Info("Starting topic registration")
// defer logger.Info("Terminated topic registration")
// srvr.DiscV5.RegisterTopic(s.lesTopic, s.quitSync)
// }()
And all good. I am not that sure the purpose they have this new goroutine here as it does not exist in the older version. I will figure it out later see if there will exist some unexpected behaviours if this code being commented out.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
outdated
System information
Observable with both:
Expected behaviour
Normal operation in a private Ethereum network
Actual behaviour
If
--lightserv x
is enabled (among other options like--nodiscover
) client crashesSteps to reproduce the behaviour
Able to reproduce it with the command line below, if
--lightserv 50
is removedgeth
works as expectedBacktrace