Edge-home-orchestration-go: [DataStorage] Error de tiempo de ejecución

Creado en 19 ene. 2021  ·  7Comentarios  ·  Fuente: lf-edge/edge-home-orchestration-go

Describe el error
Un error de tiempo de ejecución cuando los servidores de fundición edgex no se están ejecutando,

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

Reproducir

  1. Coloque los archivos de configuración necesarios en / var / edge-orchestration / datastorage /
  2. Ejecute edge-home-orchestration-go

Comportamiento esperado
Verifique el servidor de fundición edgex con anticipación antes de iniciar el almacenamiento de datos.

Configuración del entorno de prueba (complete la siguiente información):

  • Versión de firmware: Ubuntu 18.04
  • Hardware: x86-64
  • Lanzamiento de Edge Orchestration: Coconut
bug

Comentario más útil

Después de la comunicación con los miembros de EdgeX, nos proporcionaron una bifurcación: github.com/hahattan/device-sdk-go v1.4.1 con la solución en la sucursal de Hanoi, lo que provocó este bloqueo.

Había estado probando la solución usando la directiva replace en nuestro go.mod. Eso parece funcionar bien.

Como ha mencionado, podemos esperar hasta el lanzamiento de Irlanda o también podemos clonar la solución en nuestro repositorio hasta que EdgeX lance Irlanda.

Por favor, comparta sus pensamientos sobre el mismo.
@ t25kim

Gracias !

Todos 7 comentarios

@ suresh-lc PTAL. Gracias de antemano.

Hola Sunchit,

Descubrí por qué se estrelló. Es un error y no es tan difícil de arreglar.

AutoEvent Manager no se inicializa cuando el Servicio se detiene por el tiempo de espera de dependencia (EdgeX Core Data y Core Metadata).

En esta línea, https://github.com/edgexfoundry/device-sdk-go/blob/v1.4.0/pkg/service/service.go#L134

Debemos comprobar si el AutoEvent Manager es nulo antes de llamar a StopAutoEvents.

Hemos resuelto este problema en V2 (Irlanda).

Hola Jim e Iain,

¿Podemos crear una rama hanoi para solucionar este problema y etiquetar 1.4.1 para ellos?

Hola Sunchit,

Descubrí por qué se estrelló. Es un error y no es tan difícil de arreglar.

AutoEvent Manager no se inicializa cuando el Servicio se detiene por el tiempo de espera de dependencia (EdgeX Core Data y Core Metadata).

En esta línea, https://github.com/edgexfoundry/device-sdk-go/blob/v1.4.0/pkg/service/service.go#L134

Debemos comprobar si el AutoEvent Manager es nulo antes de llamar a StopAutoEvents.

Hemos resuelto este problema en V2 (Irlanda).

Hola Jim e Iain,

¿Podemos crear una rama hanoi para solucionar este problema y etiquetar 1.4.1 para ellos?

@ suresh-lc ¿Quién escribió este correo electrónico?

Hola Sunchit,
Descubrí por qué se estrelló. Es un error y no es tan difícil de arreglar.
AutoEvent Manager no se inicializa cuando el Servicio se detiene por el tiempo de espera de dependencia (EdgeX Core Data y Core Metadata).
En esta línea, https://github.com/edgexfoundry/device-sdk-go/blob/v1.4.0/pkg/service/service.go#L134
Debemos comprobar si el AutoEvent Manager es nulo antes de llamar a StopAutoEvents.
Hemos resuelto este problema en V2 (Irlanda).
Hola Jim e Iain,
¿Podemos crear una rama hanoi para solucionar este problema y etiquetar 1.4.1 para ellos?

@ suresh-lc ¿Quién escribió este correo electrónico?

Cloud Tsai de EdgeX- Equipo de servicio de dispositivos

Este problema se resolverá utilizando la versión de edgexfoundry 'Irlanda', pero no se ha lanzado oficialmente.
Me gustaría dejar esto como known issue y actualizar edgexfoundry cuando se lance Irlanda.

Después de la comunicación con los miembros de EdgeX, nos proporcionaron una bifurcación: github.com/hahattan/device-sdk-go v1.4.1 con la solución en la sucursal de Hanoi, lo que provocó este bloqueo.

Había estado probando la solución usando la directiva replace en nuestro go.mod. Eso parece funcionar bien.

Como ha mencionado, podemos esperar hasta el lanzamiento de Irlanda o también podemos clonar la solución en nuestro repositorio hasta que EdgeX lance Irlanda.

Por favor, comparta sus pensamientos sobre el mismo.
@ t25kim

Gracias !

@ sun-sharma Gracias por hacérnoslo saber.
¿Podrías modificar el archivo go.mod con la bandera replace ?
Sería bueno agregar una nota de que es temporal y se eliminará.

¿Fue útil esta página
0 / 5 - 0 calificaciones