Error when using VCP Actions

More
25 Jun 2018 13:16 #112845 by cgibbons
Hi there,

I am running LinuxCNC 2.7 and Glade 3.8.6 on Raspbian Stretch.

I can get the HAL Python and VCP Actions to show up in my Glade Palette on the left when I run
glade-3
in the same terminal I am running LinuxCNC from.

However, when trying to create a new interface while following this tutorial , everything works fine until I add the VCP ToggleAction ESTOP. Then I get the following errors in my terminal and sometimes Glade just crashes and closes.
(glade-3:23977): Gtk-CRITICAL **: IA__gtk_notebook_insert_page: assertion 'GTK_IS_WIDGET (child)' failed

(glade-3:23977): Gtk-CRITICAL **: IA__gtk_notebook_set_tab_label: assertion 'GTK_IS_WIDGET (child)' failed

(glade-3:23977): GladeUI-GTK-CRITICAL **: Unbalanced children when inserting notebook children (pages: 0 tabs: 1 extra pages: 0 extra tabs 0)
Issuing ESTOP
Traceback (most recent call last):
  File "/home/pi/linuxcnc-2.7/lib/python/gladevcp/hal_actions.py", line 99, in _f
    return f(self, *a, **kw)
  File "/home/pi/linuxcnc-2.7/lib/python/gladevcp/hal_actions.py", line 209, in on_toggled
    self.linuxcnc.state(linuxcnc.STATE_ESTOP)
AttributeError: 'EMC_ToggleAction_ESTOP' object has no attribute 'linuxcnc'
Issuing ESTOP RESET
Traceback (most recent call last):
  File "/home/pi/linuxcnc-2.7/lib/python/gladevcp/hal_actions.py", line 99, in _f
    return f(self, *a, **kw)
  File "/home/pi/linuxcnc-2.7/lib/python/gladevcp/hal_actions.py", line 212, in on_toggled
    self.linuxcnc.state(linuxcnc.STATE_ESTOP_RESET)
AttributeError: 'EMC_ToggleAction_ESTOP' object has no attribute 'linuxcnc'
Issuing ESTOP
Traceback (most recent call last):
  File "/home/pi/linuxcnc-2.7/lib/python/gladevcp/hal_actions.py", line 99, in _f
    return f(self, *a, **kw)
  File "/home/pi/linuxcnc-2.7/lib/python/gladevcp/hal_actions.py", line 209, in on_toggled
    self.linuxcnc.state(linuxcnc.STATE_ESTOP)
AttributeError: 'EMC_ToggleAction_ESTOP' object has no attribute 'linuxcnc'
Issuing ESTOP RESET
Traceback (most recent call last):
  File "/home/pi/linuxcnc-2.7/lib/python/gladevcp/hal_actions.py", line 99, in _f
    return f(self, *a, **kw)
  File "/home/pi/linuxcnc-2.7/lib/python/gladevcp/hal_actions.py", line 212, in on_toggled
    self.linuxcnc.state(linuxcnc.STATE_ESTOP_RESET)
AttributeError: 'EMC_ToggleAction_ESTOP' object has no attribute 'linuxcnc'

I have read many forum posts and google links trying to find the answer to this but have been unable to solve it. Any help would be greatly appreciated.

Please Log in or Create an account to join the conversation.

More
25 Jun 2018 14:07 #112847 by andypugh
The offending line in the handler code is here:
github.com/LinuxCNC/linuxcnc/blob/master.../hal_actions.py#L205

The VCP on/off button has the same structure, does that work?

Is the output above from a running linuxCNC instance, or from an attempt to run the screen standalone?

Please Log in or Create an account to join the conversation.

More
25 Jun 2018 14:25 #112849 by cgibbons
I have looked at this line in the code before but it doesn't help me fix the error.

The VCP on/off button has the same structure, does that work?

I have tried those too but i get these error messages in my terminal:
(glade-3:24712): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_WIDGET (widget)' failed

(glade-3:24712): Gtk-CRITICAL **: IA__gtk_container_child_set_property: assertion 'GTK_IS_WIDGET (child)' failed

(glade-3:24712): Gtk-CRITICAL **: IA__gtk_container_child_set_property: assertion 'GTK_IS_WIDGET (child)' failed

(glade-3:24712): Gtk-CRITICAL **: IA__gtk_container_child_set_property: assertion 'GTK_IS_WIDGET (child)' failed

(glade-3:24712): Gtk-CRITICAL **: IA__gtk_container_child_set_property: assertion 'GTK_IS_WIDGET (child)' failed

(glade-3:24712): Gtk-CRITICAL **: IA__gtk_container_child_set_property: assertion 'GTK_IS_WIDGET (child)' failed

(glade-3:24712): Gtk-CRITICAL **: IA__gtk_container_add: assertion 'GTK_IS_WIDGET (widget)' failed

(glade-3:24712): Gtk-CRITICAL **: IA__gtk_container_child_set_property: assertion 'GTK_IS_WIDGET (child)' failed

(glade-3:24712): Gtk-CRITICAL **: IA__gtk_container_child_set_property: assertion 'GTK_IS_WIDGET (child)' failed

(glade-3:24712): Gtk-CRITICAL **: IA__gtk_container_child_set_property: assertion 'GTK_IS_WIDGET (child)' failed

(glade-3:24712): Gtk-CRITICAL **: IA__gtk_container_child_set_property: assertion 'GTK_IS_WIDGET (child)' failed

(glade-3:24712): Gtk-CRITICAL **: IA__gtk_container_child_set_property: assertion 'GTK_IS_WIDGET (child)' failed

The actions do not show up in my inspector on the right hand side of my screen in glade. Once I click on some other widget, I cannot find the action anywhere.

Is the output above from a running linuxCNC instance, or from an attempt to run the screen standalone?

These error messages are all in the terminal while I am running Glade.

Please Log in or Create an account to join the conversation.

More
25 Jun 2018 15:05 #112851 by andypugh

These error messages are all in the terminal while I am running Glade.


There won't be a linuxcnc object for the GladeVCP to link to unless LinuxCNC is running.

You can probably ignore the e-stop warnings. It might be interesting to see if they go away if LinuxCNC is actually running at the time.

Please Log in or Create an account to join the conversation.

More
25 Jun 2018 17:06 #112854 by cmorley
You can try right clicking the action and add as a top level.
In general you should save your work often - GLADE can be glitchy.

Chris M

Please Log in or Create an account to join the conversation.

More
25 Jun 2018 17:50 #112856 by andypugh

You can try right clicking the action and add as a top level.
In general you should save your work often - GLADE can be glitchy.


I think that is an understatement. To the extent that once I have a panel set up I don't dare try editing it with Glade, I use a text editor :-)

I got the feeling that the newer version (which doesn't work with LunuxCNC) was more responsive and less glitchy.

Please Log in or Create an account to join the conversation.

More
26 Jun 2018 09:25 #112870 by cgibbons
Right clicking and adding it as a top level, makes it show up in my inspector on the right, whether I have linuxCNC running or not. Thank you cmorley.

I am going to have LinuxCNC running in the background from now on anyway, though LinuxCNC doesn't seem to be appearing as an object either way.

I am running glade/linuxcnc from different shell windows (as I wouldn't be able to run them both from the same window at the same time), that doesn't matter does it? As far as I know I can't run them both from the same shell window.

Please Log in or Create an account to join the conversation.

More
26 Jun 2018 09:28 #112871 by andypugh
If you use "linuxcnc &" then linuxcnc will launch and return control to the shell.

bashitout.com/2013/05/18/Ampersands-on-the-command-line.html

Please Log in or Create an account to join the conversation.

More
26 Jun 2018 10:09 #112873 by cgibbons
Oh great, Thank you! I have been using the terminal an insane amount in the last two years, can't believe I never came across this.

Please Log in or Create an account to join the conversation.

Moderators: HansU
Time to create page: 0.084 seconds
Powered by Kunena Forum