Copy the plugin list before creting devices for each plugin. Otherwise the
mainloop gets run during the device creation and that mostly results in the
modification of the Hashmap holding the plugin list.
if (host_ip == null || host_ip == context.host_ip) {
var factory = new RootDeviceFactory (context);
-
+ var plugins = new ArrayList <Plugin> ();
foreach (var plugin in this.plugin_loader.list_plugins ()) {
+ plugins.add (plugin);
+ }
+
+ foreach (var plugin in plugins) {
this.create_device (plugin, factory);
}