this continue breaking. it needs to adjust the use of Glib Idle function or maybe collecting diags error and reporting after thread finishes