iot-edge-v1 icon indicating copy to clipboard operation
iot-edge-v1 copied to clipboard

`activation.type: "launch"` - Out-of-process module exits silently on error and signal conditions

Open zafields opened this issue 7 years ago • 1 comments

Out-of-process modules ALWAYS exit silently. This behavior is fine when a program is signaled by the gateway process or exits normally, but becomes problematic when a failure occurs or a signal is generated externally.

This problem has manifested in two ways:

  1. When a process crashes immediately on launch (i.e. unable to load linked library), the gateway will deadlock awaiting the "come alive" ping of the launched process and will not provide any information to the user.
  2. When a process is signaled externally or runtime crashes (i.e. bad memory access), the gateway will terminate without providing any status of the external process or indicating the cause for termination.
    • The error message provided, Error: Time:Wed Jul 12 18:00:56 2017 File:/root/iot-edge/proxy/outprocess/src/module_loaders/outprocess_module.c Func:Outprocess_Destroy Line:955 unable to send destroy control message [0x557584680fa0], continuing with module destroy, does not help a user understand the reason for exit.

zafields avatar Jul 12 '17 18:07 zafields

To clarify, #371 (already merged), fixes #2, so #1 is the only outstanding issue.

damonbarry avatar Mar 24 '18 22:03 damonbarry