Edge-home-orchestration-go: [DataStorage] Laufzeitfehler

Erstellt am 19. Jan. 2021  ·  7Kommentare  ·  Quelle: lf-edge/edge-home-orchestration-go

Beschreibe den Fehler
Ein Laufzeitfehler, wenn Edgex Foundry-Server nicht ausgeführt werden,

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

Fortpflanzen

  1. Legen Sie die erforderlichen Konfigurationsdateien in /var/edge-orchestration/datastorage/ ab.
  2. Führen Sie Edge-Home-Orchestrierung-Go

Erwartetes Verhalten
Überprüfen Sie den Edgex Foundry-Server im Voraus, bevor Sie mit der Datenspeicherung beginnen.

Konfiguration der Testumgebung (bitte füllen Sie die folgenden Informationen aus):

  • Firmware-Version: Ubuntu 18.04
  • Hardware: x86-64
  • Edge Orchestration-Release: Coconut
bug

Hilfreichster Kommentar

Nach der Kommunikation mit EdgeX-Mitgliedern haben sie uns einen Fork zur Verfügung gestellt: github.com/hahattan/device-sdk-go v1.4.1 mit dem Fix für den Hanoi-Zweig, der diesen Absturz verursacht hat.

Ich hatte den Fix mit der replace-Direktive in unserem go.mod getestet. Das scheint gut zu funktionieren.

Wie Sie bereits erwähnt haben, können wir bis zur Veröffentlichung in Irland warten oder den Fix in unser Repo klonen, bis EdgeX Irland veröffentlicht.

Bitte teilen Sie Ihre Gedanken dazu?
@t25kim

Vielen Dank !

Alle 7 Kommentare

@suresh-lc PTAL. Vielen Dank im Voraus.

Hallo Sunchit,

Ich habe herausgefunden, warum es abgestürzt ist. Es ist ein Fehler, und es ist nicht so schwer zu beheben.

Der AutoEvent Manager wird nicht initialisiert, wenn der Dienst durch das Abhängigkeits-Timeout (EdgeX Core Data und Core Metadata) beendet wird.

In dieser Zeile https://github.com/edgexfoundry/device-sdk-go/blob/v1.4.0/pkg/service/service.go#L134

Wir sollten prüfen, ob der AutoEvent Manager nil ist, bevor wir StopAutoEvents aufrufen.

Wir haben dieses Problem in V2 (Irland) behoben.

Hallo Jim und Iain,

Dürfen wir einen Hanoi-Zweig erstellen, um dieses Problem zu beheben und 1.4.1 für sie zu taggen?

Hallo Sunchit,

Ich habe herausgefunden, warum es abgestürzt ist. Es ist ein Fehler, und es ist nicht so schwer zu beheben.

Der AutoEvent Manager wird nicht initialisiert, wenn der Dienst durch das Abhängigkeits-Timeout (EdgeX Core Data und Core Metadata) beendet wird.

In dieser Zeile https://github.com/edgexfoundry/device-sdk-go/blob/v1.4.0/pkg/service/service.go#L134

Wir sollten prüfen, ob der AutoEvent Manager nil ist, bevor wir StopAutoEvents aufrufen.

Wir haben dieses Problem in V2 (Irland) behoben.

Hallo Jim und Iain,

Dürfen wir einen Hanoi-Zweig erstellen, um dieses Problem zu beheben und 1.4.1 für sie zu taggen?

@suresh-lc Wer hat diese E-Mail geschrieben?

Hallo Sunchit,
Ich habe herausgefunden, warum es abgestürzt ist. Es ist ein Fehler, und es ist nicht so schwer zu beheben.
Der AutoEvent Manager wird nicht initialisiert, wenn der Dienst durch das Abhängigkeits-Timeout (EdgeX Core Data und Core Metadata) beendet wird.
In dieser Zeile https://github.com/edgexfoundry/device-sdk-go/blob/v1.4.0/pkg/service/service.go#L134
Wir sollten prüfen, ob der AutoEvent Manager nil ist, bevor wir StopAutoEvents aufrufen.
Wir haben dieses Problem in V2 (Irland) behoben.
Hallo Jim und Iain,
Dürfen wir einen Hanoi-Zweig erstellen, um dieses Problem zu beheben und 1.4.1 für sie zu taggen?

@suresh-lc Wer hat diese E-Mail geschrieben?

Cloud Tsai vom EdgeX-Device Service-Team

Dieses Problem wird mit der Edgexfoundry 'Ireland'-Version behoben, die jedoch noch nicht offiziell veröffentlicht wurde.
Ich möchte dies als known issue belassen und edgexfoundry aktualisieren, wenn Irland veröffentlicht wird.

Nach der Kommunikation mit EdgeX-Mitgliedern haben sie uns einen Fork zur Verfügung gestellt: github.com/hahattan/device-sdk-go v1.4.1 mit dem Fix für den Hanoi-Zweig, der diesen Absturz verursacht hat.

Ich hatte den Fix mit der replace-Direktive in unserem go.mod getestet. Das scheint gut zu funktionieren.

Wie Sie bereits erwähnt haben, können wir bis zur Veröffentlichung in Irland warten oder den Fix in unser Repo klonen, bis EdgeX Irland veröffentlicht.

Bitte teilen Sie Ihre Gedanken dazu?
@t25kim

Vielen Dank !

@sun-sharma Vielen Dank, dass Sie uns das mitgeteilt haben.
Könnten Sie die Datei go.mod mit dem Flag replace ändern?
Es wäre schön, einen Hinweis hinzuzufügen, dass es vorübergehend ist und entfernt wird.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen