QTvcp copy Error

  • Samas322
  • Samas322's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
11 Jun 2023 00:03 #273305 by Samas322
QTvcp copy Error was created by Samas322
Hi I just tried to copy the QTplasmaC GUI to modify it but as soon as i copy it in the machine directory (by using "qtvcp copy" in the terminal, and before i attempt any modification) QtplasmaC wont launch and send me this error. i tried it with a clean installation also and still not work. i also try the same thing with qtdragon but this time it worked. it seams to be an error in qtplasmac_handler.py but im not sure. can anyone help me please?
Error report created by /usr/lib/tcltk/linuxcnc/show_errors.tcl:

Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/lib/linuxcnc/modules
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.6
LINUXCNC - 2.10.0-pre0-1498-g9dbb4192c
Machine configuration directory is '/home/ssm/linuxcnc/configs/sim.qtplasmac'
Machine configuration file is 'qtplasmac_l_imperial.ini.expanded'
INIFILE=/home/ssm/linuxcnc/configs/sim.qtplasmac/qtplasmac_l_imperial.ini.expanded
VERSION=1.1
PARAMETER_FILE=imperial_parameters.txt
TPMOD=
HOMEMOD=
TASK=milltask
HALUI=halui
DISPLAY=qtvcp qtplasmac
COORDINATES=XYYZ
KINEMATICS=trivkins coordinates=xyyz
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Starting HAL User Interface program: halui
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
twopass:invoked with <> options
twopass:found ./sim_no_stepgen.tcl
twopass:found /usr/share/linuxcnc/hallib/qtplasmac_comp.hal
twopass:found ./custom.hal
Starting TASK program: milltask
Starting DISPLAY program: qtvcp
Shutting down and cleaning up LinuxCNC...
task: 943 cycles, min=0.000009, max=0.010113, avg=0.009788, 0 latency excursions (> 10x expected cycle time of 0.010000s)

identityKinematicsSetup: coordinates:xyyz
   Joint 0 ==> Axis X
   Joint 1 ==> Axis Y
   Joint 2 ==> Axis Y
   Joint 3 ==> Axis Z
identityKinematicsSetup: Recommend: kinstype=both

Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments

Debug file information:
Note: Using POSIX realtime
[QTvcp.QTVCP.QT_MAKEGUI][[31mERROR[0m]  Trouble looking for handlers in 'qtplasmac_handler': (qt_makegui.py:333)
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/qtvcp/qt_makegui.py", line 311, in _load_handlers
    objlist = h(halcomp, widgets, self.PATHS)  # this sets the handler class signature
  File "/home/ssm/linuxcnc/configs/sim.qtplasmac/qtplasmac/qtplasmac_handler.py", line 6051, in get_handlers
    return [HandlerClass(halcomp, widgets, paths)]
  File "/home/ssm/linuxcnc/configs/sim.qtplasmac/qtplasmac/qtplasmac_handler.py", line 145, in __init__
    self.update_check()
  File "/home/ssm/linuxcnc/configs/sim.qtplasmac/qtplasmac/qtplasmac_handler.py", line 2390, in update_check
    os.rmdir(os.path.join(self.PATHS.CONFIGPATH, 'qtplasmac'))
OSError: [Errno 39] Directory not empty: '/home/ssm/linuxcnc/configs/sim.qtplasmac/qtplasmac'
[QTvcp][[41mCRITICAL[0m]  Aborted from Error Dialog
 Qtvcp encountered an error.  The following information may be useful in troubleshooting:
LinuxCNC Version  : 2.10.0-pre0-1498-g9dbb4192c

Traceback (most recent call last):
  File "/usr/bin/qtvcp", line 518, in <module>
    _qtvcp = QTVCP()
  File "/usr/bin/qtvcp", line 261, in __init__
    window.load_extension(opts.usermod)
  File "/usr/lib/python3/dist-packages/qtvcp/qt_makegui.py", line 268, in load_extension
    methods, self[obj].handler_module, self[obj].handler_instance = self._load_handlers([handlerpath], self.halcomp, self[obj])
  File "/usr/lib/python3/dist-packages/qtvcp/qt_makegui.py", line 311, in _load_handlers
    objlist = h(halcomp, widgets, self.PATHS)  # this sets the handler class signature
  File "/home/ssm/linuxcnc/configs/sim.qtplasmac/qtplasmac/qtplasmac_handler.py", line 6051, in get_handlers
    return [HandlerClass(halcomp, widgets, paths)]
  File "/home/ssm/linuxcnc/configs/sim.qtplasmac/qtplasmac/qtplasmac_handler.py", line 145, in __init__
    self.update_check()
  File "/home/ssm/linuxcnc/configs/sim.qtplasmac/qtplasmac/qtplasmac_handler.py", line 2390, in update_check
    os.rmdir(os.path.join(self.PATHS.CONFIGPATH, 'qtplasmac'))
OSError: [Errno 39] Directory not empty: '/home/ssm/linuxcnc/configs/sim.qtplasmac/qtplasmac'

 (qtvcp:474)
15732
15763
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime



-----------------------------------------------------------------------
Info report created by linuxcnc_info:
The file:    /tmp/linuxcnc_info.txt
can be posted to a forum or a web site like:
     http://pastebin.com
in order to provide information about the linuxcnc
system and configuration.

                Date: Sat Jun 10 19:54:38 EDT 2023
            UTC Date: Sat Jun 10 23:54:38 UTC 2023
        this program: /usr/bin/linuxcnc_info
              uptime: 19:54:38 up 2:56, 1 user, load average: 0.77, 0.75, 0.58
     lsb_release -sa: Debian Debian GNU/Linux 10 (buster) 10 buster
            linuxcnc: /usr/bin/linuxcnc
                 pwd: /home/ssm/linuxcnc/configs/sim.qtplasmac
                USER: ssm
             LOGNAME: ssm
                HOME: /home/ssm
              EDITOR:
              VISUAL:
            LANGUAGE: en_CA:en
                TERM: dumb
           COLORTERM:
             DISPLAY: :0.0
             DESKTOP: xfce
        display size: 1440x900 pixels (381x238 millimeters)
                PATH: /usr/bin:/home/ssm/linuxcnc/configs/sim.qtplasmac/bin:/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

uname items:
         nodename -n: PlasmaCNC
      kernel-name -s: Linux
      kernel-vers -v: #1 SMP PREEMPT RT Debian 4.19.282-1 (2023-04-29)
          machine -m: x86_64
        processor -p: unknown
         platform -i: unknown
      oper system -o: GNU/Linux

/proc items:
             cmdline: BOOT_IMAGE=/boot/vmlinuz-4.19.0-24-rt-amd64 root=UUID=e7af7f7a-65e7-48e6-86e4-3ea860bf22ee ro quiet
          model name: AMD A10-6700 APU with Radeon(tm) HD Graphics
               cores: 2
             cpu MHz: 2183.484
             parport:
              serial:

Versions:
                 gcc: gcc (Debian 8.3.0-6) 8.3.0
              python: Python 3.7.3
                 git: not_in_PATH
          git commit: NA
                 tcl: 8.6
                  tk: 8.6
               glade: not_in_PATH

linuxcnc_var all:

     LINUXCNCVERSION: 2.10.0-pre0-1498-g9dbb4192c
LINUXCNC_AUX_GLADEVCP: /usr/share/linuxcnc/aux_gladevcp
LINUXCNC_AUX_EXAMPLES: /usr/share/linuxcnc/aux_examples
            REALTIME: /usr/lib/linuxcnc/realtime
                 RTS: uspace
          HALLIB_DIR: /usr/share/linuxcnc/hallib
              PYTHON: /usr/bin/python3

dpkg -l '*linuxcnc*':
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                   Version                       Architecture Description
+++-======================-=============================-============-=====================================================================
un  linuxcnc               <none>                        <none>       (no description available)
un  linuxcnc-dev           <none>                        <none>       (no description available)
un  linuxcnc-doc           <none>                        <none>       (no description available)
ii  linuxcnc-doc-en        1:2.10.0~pre0.1498.g9dbb4192c all          motion controller for CNC machines and robots (English documentation)
un  linuxcnc-doc-es        <none>                        <none>       (no description available)
ii  linuxcnc-doc-fr        1:2.10.0~pre0.1498.g9dbb4192c all          motion controller for CNC machines and robots (French documentation)
un  linuxcnc-sim           <none>                        <none>       (no description available)
un  linuxcnc-sim-dev       <none>                        <none>       (no description available)
ii  linuxcnc-uspace        1:2.10.0~pre0.1498.g9dbb4192c amd64        motion controller for CNC machines and robots
ii  linuxcnc-uspace-dbgsym 1:2.10.0~pre0.1498.g9dbb4192c amd64        debug symbols for linuxcnc-uspace
ii  linuxcnc-uspace-dev    1:2.10.0~pre0.1498.g9dbb4192c amd64        PC based motion controller for real-time Linux

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

  • Samas322
  • Samas322's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
11 Jun 2023 03:18 #273309 by Samas322
Replied by Samas322 on topic QTvcp copy Error
Ok so i removed few spaces in front of the elif just before the "os.rmdir..." around line 2390 and now it seems to work but im not sure if i fixed it or if i bypassed some feature! Anyway it will need to be fixed for future updates.

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

More
11 Jun 2023 08:00 #273317 by phillc54
Replied by phillc54 on topic QTvcp copy Error
Thanks for the report, we will take a look at it.
 

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

  • snowgoer540
  • snowgoer540's Avatar
  • Away
  • Moderator
  • Moderator
More
11 Jun 2023 16:21 - 11 Jun 2023 16:22 #273336 by snowgoer540
Replied by snowgoer540 on topic QTvcp copy Error
OSError: [Errno 39] Directory not empty: '/home/ssm/linuxcnc/configs/sim.qtplasmac/qtplasmac'


To help figure out the root cause, and how to address it, can you tell me what's still in the directory?
Last edit: 11 Jun 2023 16:22 by snowgoer540.

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

  • Samas322
  • Samas322's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
11 Jun 2023 19:03 - 11 Jun 2023 19:04 #273342 by Samas322
Replied by Samas322 on topic QTvcp copy Error
Its the copy of the gui that i made with "qtvcp copy" for editing it. As i tell you i removed spaces in front of the else before this line and it solved the probleme. I think the else have been moved accidently. This section of code i think is for unlink the original handler.ini file and use the copied one in this directory. For whatever reason it tried to delete this folder.
finaly it is not supposed to delete the folder.
Last edit: 11 Jun 2023 19:04 by Samas322.

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

  • snowgoer540
  • snowgoer540's Avatar
  • Away
  • Moderator
  • Moderator
More
11 Jun 2023 19:51 #273346 by snowgoer540
Replied by snowgoer540 on topic QTvcp copy Error
It IS supposed to delete the folder.  qtplasmac as a symlink, or a directory should not exist inside of a config folder anymore, this is something we used in the past.  You are getting the error because the folder is not empty, which is something I did not expect when I added that line of code.

I am asking what is in that particular folder, as I want to understand this edge case before I change the code to just delete the directory regardless of its contents.

Can you copy and paste the results of the following terminal command:
ls /home/ssm/linuxcnc/configs/sim.qtplasmac/qtplasmac

 

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

  • Samas322
  • Samas322's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
11 Jun 2023 22:26 #273357 by Samas322
Replied by Samas322 on topic QTvcp copy Error
Hi snowgoer540 i made a video to explaine you what i did and why. I think you will understand. Sorry if im hard to understand i dont speak english well..

The following user(s) said Thank You: snowgoer540

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

  • snowgoer540
  • snowgoer540's Avatar
  • Away
  • Moderator
  • Moderator
More
11 Jun 2023 23:47 #273359 by snowgoer540
Replied by snowgoer540 on topic QTvcp copy Error
Hey Sam, thanks for the video, I wasn’t previously aware of qtvcp copy. So it’s definitely creating an edge case we didn’t know to plan for.

I’ll work with Phill on the side and come up with a solution here.

Ctrl+r will do cycle start by the way. For things that cause motion we chose a two key combo intentionally so you don’t accidentally start motion if you drop something on the keyboard, etc. It’s always interesting to see people’s use cases for things, but wanted to toss the thought process out there for choosing two keys instead of just one to start motion.

On a similar note, space bar was chosen to pause motion once it’s already started because it’s easy to “dive” for and hit when you see something going wrong.

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

  • Samas322
  • Samas322's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
12 Jun 2023 00:00 #273360 by Samas322
Replied by Samas322 on topic QTvcp copy Error
Yes i already know for the ctrl+r but like to use the space bar and for safety i added a 2 second delay when you press for cycle start and 1 second for cycle resume. For my self i like it that way! In the future it would be nice to implement an easy way to change keyboard shorcuts! Have a nice day!

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

  • Samas322
  • Samas322's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
12 Jun 2023 01:36 - 12 Jun 2023 01:37 #273361 by Samas322
Replied by Samas322 on topic QTvcp copy Error
By the way thanks alot for your great work on the program! It is awesome and every time i see theres a new update with new features im really excited to try them! Heres a project i made recently using my plasma cutter and your program!        
Attachments:
Last edit: 12 Jun 2023 01:37 by Samas322.
The following user(s) said Thank You: phillc54

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

Moderators: snowgoer540
Time to create page: 0.146 seconds
Powered by Kunena Forum