You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue rises from the quest into detecting why some PRs are failing to pass CI test. Starting from my comment:
I tried to dig a little bit about why on node 10 we go a timeout in the tests. Locally, I can sometimes reproduce the issue. It seems that the virtual-things-adapter once installed it causes problems in the clean-up procedures. In particular, AFIK the addonManger.unistall is called before calling addonManager.unloadAddons. Since in the unistall we kill the process when virtual-things-adapter is unloaded, it also attempts to kill the process, but I think that there are everything blocks.
It seems that the system sometimes it is in a weird state where the addonManager tries to unload something that is already gone. Digging more into the issue I found out that in addon-manager.unistallAddonaddon-manager.unloadAddon is called. That method tries to unload all the components before killing the process using the method plugin.unloadComponents. Now here all the adapters. notifiers and apiHandlers are gracefully shut down and than the plugin unloaded using plugin.unload. The problem is that sometimes in the tests the adapter exposed in the plugin is added after this clean up procedure resulting in the problem described in the comment above.
As a solution, I was wondering if it makes sense to disallow adapter addition after the unload method is called. I don't have a clear full understanding of the whole plunging management side so any input/alternative solutions is welcomed 😃
The text was updated successfully, but these errors were encountered:
This issue rises from the quest into detecting why some PRs are failing to pass CI test. Starting from my comment:
It seems that the system sometimes it is in a weird state where the addonManager tries to unload something that is already gone. Digging more into the issue I found out that in
addon-manager.unistallAddon
addon-manager.unloadAddon
is called. That method tries to unload all the components before killing the process using the methodplugin.unloadComponents
. Now here all the adapters. notifiers and apiHandlers are gracefully shut down and than the plugin unloaded usingplugin.unload
. The problem is that sometimes in the tests the adapter exposed in the plugin is added after this clean up procedure resulting in the problem described in the comment above.As a solution, I was wondering if it makes sense to disallow adapter addition after the unload method is called. I don't have a clear full understanding of the whole plunging management side so any input/alternative solutions is welcomed 😃
The text was updated successfully, but these errors were encountered: