Edge-home-orchestration-go: [DataStorage] Erreur d'exécution

Créé le 19 janv. 2021  ·  7Commentaires  ·  Source: lf-edge/edge-home-orchestration-go

Décrivez le bogue
Une erreur d'exécution lorsque les serveurs de fonderie edgex ne sont pas en cours d'exécution,

level=ERROR ts=2021-01-19T01:51:50.815737266Z app=datastorage source=init.go:154 msg="Get \"http://localhost:48080/api/v1/ping\": dial tcp 127.0.0.1:48080: connect: connection refused"
level=INFO ts=2021-01-19T01:51:51.817181193Z app=datastorage source=init.go:144 msg="Check Metadata service's status by ping..."
level=INFO ts=2021-01-19T01:51:51.818287982Z app=datastorage source=init.go:144 msg="Check Data service's status by ping..."
level=ERROR ts=2021-01-19T01:51:51.822577012Z app=datastorage source=init.go:154 msg="Get \"http://localhost:48081/api/v1/ping\": dial tcp 127.0.0.1:48081: connect: connection refused"
level=ERROR ts=2021-01-19T01:51:51.824049381Z app=datastorage source=init.go:154 msg="Get \"http://localhost:48080/api/v1/ping\": dial tcp 127.0.0.1:48080: connect: connection refused"
level=INFO ts=2021-01-19T01:51:52.825768174Z app=datastorage source=init.go:144 msg="Check Metadata service's status by ping..."
level=INFO ts=2021-01-19T01:51:52.826907105Z app=datastorage source=init.go:144 msg="Check Data service's status by ping..."
level=ERROR ts=2021-01-19T01:51:52.830784824Z app=datastorage source=init.go:154 msg="Get \"http://localhost:48081/api/v1/ping\": dial tcp 127.0.0.1:48081: connect: connection refused"
level=ERROR ts=2021-01-19T01:51:52.83209855Z app=datastorage source=init.go:154 msg="Get \"http://localhost:48080/api/v1/ping\": dial tcp 127.0.0.1:48080: connect: connection refused"
INFO[2021-01-19T01:51:53Z]discovery.go:833 activeDiscovery [discoverymgr] activeDiscovery!!!
INFO[2021-01-19T01:51:53Z]discovery.go:571 func1 [deviceDetectionRoutine] edge-orchestration-3125da9e-1e9a-41aa-ac83-004725eb2d1e
level=ERROR ts=2021-01-19T01:51:53.83359109Z app=datastorage source=init.go:139 msg="dependency Metadata service checking time out"
level=ERROR ts=2021-01-19T01:51:53.834663766Z app=datastorage source=init.go:139 msg="dependency Data service checking time out"
level=INFO ts=2021-01-19T01:51:53.840074015Z app=datastorage source=httpserver.go:116 msg="Web server shutting down"
level=INFO ts=2021-01-19T01:51:53.841736032Z app=datastorage source=httpserver.go:107 msg="Web server stopped"
level=INFO ts=2021-01-19T01:51:54.341966491Z app=datastorage source=httpserver.go:118 msg="Web server shut down"
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x8d1a0e]

goroutine 44 [running]:
github.com/edgexfoundry/device-sdk-go/internal/autoevent.(*manager).StopAutoEvents(0x0)
        /home/t25kim/edge-home-orchestration-go/vendor/github.com/edgexfoundry/device-sdk-go/internal/autoevent/manager.go:69 +0x4e
github.com/edgexfoundry/device-sdk-go/pkg/service.(*DeviceService).Stop(0xc0004c2780, 0xc0005ae600)
        /home/t25kim/edge-home-orchestration-go/vendor/github.com/edgexfoundry/device-sdk-go/pkg/service/service.go:134 +0x45
github.com/edgexfoundry/device-sdk-go/pkg/service.Main(0xe2dbda, 0xb, 0xe3a91d, 0x1a, 0xda46e0, 0xc0005a5de0, 0xf46e20, 0xc0005ae600, 0xc0000330a0, 0xc0005ac300, ...)
        /home/t25kim/edge-home-orchestration-go/vendor/github.com/edgexfoundry/device-sdk-go/pkg/service/main.go:69 +0x6fa
github.com/edgexfoundry/device-sdk-go/pkg/startup.Bootstrap(0xe2dbda, 0xb, 0xe3a91d, 0x1a, 0xda46e0, 0xc0005a5de0)
        /home/t25kim/edge-home-orchestration-go/vendor/github.com/edgexfoundry/device-sdk-go/pkg/startup/bootstrap.go:19 +0x117
created by github.com/lf-edge/edge-home-orchestration-go/src/controller/storagemgr.StorageImpl.StartStorage
        /home/t25kim/edge-home-orchestration-go/src/controller/storagemgr/storage.go:51 +0xef

Reproduire

  1. Mettez les fichiers de configuration nécessaires dans /var/edge-orchestration/datastorage/
  2. Exécuter edge-home-orchestration-go

Comportement prévisible
Vérifiez le serveur de fonderie edgex à l'avance avant de démarrer le stockage de données.

Configuration de l'environnement de test (veuillez compléter les informations suivantes) :

  • Version du micrologiciel : Ubuntu 18.04
  • Matériel : x86-64
  • Version Edge Orchestration : Noix de coco
bug

Commentaire le plus utile

Post communication avec les membres d'EdgeX, ils nous ont fourni un fork : github.com/hahattan/device-sdk-go v1.4.1 avec le correctif sur la branche Hanoi, provoquant ce plantage.

J'avais testé le correctif en utilisant la directive replace dans notre go.mod. Cela semble bien fonctionner.

Comme vous l'avez mentionné, nous pouvons attendre la sortie de l'Irlande ou nous pouvons également cloner le correctif dans notre référentiel jusqu'à ce qu'EdgeX publie l'Irlande.

S'il vous plaît partager vos réflexions sur le même?
@t25kim

Merci !

Tous les 7 commentaires

@suresh-lc PTAL. Merci en avance.

Salut Sunchit,

J'ai compris pourquoi il s'est écrasé. C'est un bug, et ce n'est pas si difficile à corriger.

Le gestionnaire d'événements automatiques n'est pas initialisé lorsque le service est arrêté par le délai de dépendance (données de base EdgeX et métadonnées de base).

Dans cette ligne, https://github.com/edgexfoundry/device-sdk-go/blob/v1.4.0/pkg/service/service.go#L134

Nous devons vérifier si AutoEvent Manager est nul avant d'appeler StopAutoEvents.

Nous avons résolu ce problème dans la V2 (Irlande).

Salut Jim et Iain,

Pouvons-nous créer une branche hanoi pour résoudre ce problème et baliser 1.4.1 pour eux ?

Salut Sunchit,

J'ai compris pourquoi il s'est écrasé. C'est un bug, et ce n'est pas si difficile à corriger.

Le gestionnaire d'événements automatiques n'est pas initialisé lorsque le service est arrêté par le délai de dépendance (données de base EdgeX et métadonnées de base).

Dans cette ligne, https://github.com/edgexfoundry/device-sdk-go/blob/v1.4.0/pkg/service/service.go#L134

Nous devons vérifier si AutoEvent Manager est nul avant d'appeler StopAutoEvents.

Nous avons résolu ce problème dans la V2 (Irlande).

Salut Jim et Iain,

Pouvons-nous créer une branche hanoi pour résoudre ce problème et baliser 1.4.1 pour eux ?

@suresh-lc Qui a écrit cet e-mail ?

Salut Sunchit,
J'ai compris pourquoi il s'est écrasé. C'est un bug, et ce n'est pas si difficile à corriger.
Le gestionnaire d'événements automatiques n'est pas initialisé lorsque le service est arrêté par le délai de dépendance (données de base EdgeX et métadonnées de base).
Dans cette ligne, https://github.com/edgexfoundry/device-sdk-go/blob/v1.4.0/pkg/service/service.go#L134
Nous devons vérifier si AutoEvent Manager est nul avant d'appeler StopAutoEvents.
Nous avons résolu ce problème dans la V2 (Irlande).
Salut Jim et Iain,
Pouvons-nous créer une branche hanoi pour résoudre ce problème et baliser 1.4.1 pour eux ?

@suresh-lc Qui a écrit cet e-mail ?

Cloud Tsai de l'équipe EdgeX- Device Service

Ce problème sera résolu en utilisant la version edgexfoundry 'Ireland', mais elle n'a pas été officiellement publiée.
J'aimerais laisser cela en tant que known issue et mettre à jour edgexfoundry lors de la sortie de l'Irlande.

Post communication avec les membres d'EdgeX, ils nous ont fourni un fork : github.com/hahattan/device-sdk-go v1.4.1 avec le correctif sur la branche Hanoi, provoquant ce plantage.

J'avais testé le correctif en utilisant la directive replace dans notre go.mod. Cela semble bien fonctionner.

Comme vous l'avez mentionné, nous pouvons attendre la sortie de l'Irlande ou nous pouvons également cloner le correctif dans notre référentiel jusqu'à ce qu'EdgeX publie l'Irlande.

S'il vous plaît partager vos réflexions sur le même?
@t25kim

Merci !

@sun-sharma Merci de nous l'avoir signalé.
Pourriez-vous modifier le fichier go.mod avec le drapeau replace ?
Ce serait bien d'ajouter une note qu'il est temporaire et sera supprimé.

Cette page vous a été utile?
0 / 5 - 0 notes