latency-histogram gets error messages
msg=can't use non-numeric floating-point value as operand of "*"
Any idea what is causing this or how to track it down? I couldn't find that error message is not in any of the files in the linuxcnc source tree.
Please Log in or Create an account to join the conversation.
msg=can't use non-numeric floating-point value as operand of "*"
the only place i see for this would occur for an
invalid (non-positive) variance calculation which
might be due to something abormal with the system
configuration.
What version of LinuxCNC and how installed?
What is result of the following shell commands?
uname -a
lsb_release -a
Or just post the file created by this command:
linuxcnc_info
Please Log in or Create an account to join the conversation.
This file can be posted to a web site like:
pastebin.com
in order to provide information about the linuxcnc
system and configuration.
VIEWER=gedit
Date: Wed Oct 5 08:43:58 PDT 2016
UTC Date: Wed Oct 5 15:43:58 UTC 2016
this program: /local/home/skelem/cad/linuxcnc/scripts/linuxcnc_info
uptime: 08:43:58 up 22:54, 2 users, load average: 0.17, 0.14, 0.16
lsb_release -sa: Ubuntu Ubuntu 16.04.1 LTS 16.04 xenial
which linuxcnc: /local/home/skelem/cad/linuxcnc/scripts/linuxcnc
pwd: /local/home/skelem
USER: skelem
LOGNAME: skelem
HOME: /local/home/skelem
EDITOR: emacsclient
VISUAL:
LANGUAGE:
TERM: xterm-256color
COLORTERM:
DISPLAY: localhost:10.0
display size: 1920x1080 pixels (508x286 millimeters)
uname items:
nodename -n: green76
kernel-name -s: Linux
kernel-vers -v: #2 SMP PREEMPT Sat Oct 1 21:56:09 PDT 2016
machine -k: green76
processor -p: x86_64
platform -i: x86_64
oper system -o: GNU/Linux
/proc items:
cmdline: BOOT_IMAGE=/boot/vmlinuz-4.4.21-rt31 root=UUID=ecaf0aba-b53c-4497-8926-183c83cacdb8 ro quiet splash vt.handoff=7
model name: Intel(R) Core(TM) i7-5557U CPU @ 3.10GHz
cores: 2
cpu MHz: 3100.000
parport:
serial:
Versions:
gcc: gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609
python: Python 2.7.12
git: git version 2.7.4
tcl: 8.6
tk: 8.6
glade: not_in_PATH
glade-gtk2: not_in_PATH
linuxcnc_var all:
LINUXCNCVERSION: 2.8.0~pre1
REALTIME: /local/home/skelem/cad/linuxcnc/scripts/realtime
RTS: uspace
HALLIB_DIR: /local/home/skelem/cad/linuxcnc/lib/hallib
(gedit:14709): dconf-WARNING **: failed to commit changes to dconf: Could not connect: Connection refused
(gedit:14709): dconf-WARNING **: failed to commit changes to dconf: Could not connect: Connection refused
(gedit:14709): dconf-WARNING **: failed to commit changes to dconf: Could not connect: Connection refused
(gedit:14709): dconf-WARNING **: failed to commit changes to dconf: Could not connect: Connection refused
(gedit:14709): dconf-WARNING **: failed to commit changes to dconf: Could not connect: Connection refused
Please Log in or Create an account to join the conversation.
glade: glade 3.18.3
I added several glade gtk packages, but, apparently, not the one that linuxcnc_info is looking for.
Please Log in or Create an account to join the conversation.
So -- a recent(!) RIP on ubuntu 16 xenial with preempt-rt and x84lsb_release -sa: Ubuntu Ubuntu 16.04.1 LTS 16.04 xenial
...
kernel-vers -v: #2 SMP PREEMPT Sat Oct 1 21:56:09 PDT 2016
...
processor -p: x86_64
...
cmdline: BOOT_IMAGE=/boot/vmlinuz-4.4.21-rt31
0) Did you build the prempt-rt kernel?
1) What 'Max Jitter' result do you get with
latency-test
/local/home/skelem/cad/linuxcnc/scripts/latency-histogram
to see what is being reported for variance:
- puts msg=$msg
+ puts "msg=$msg variance=$variance"
3) it might be instructive to see all of hal while running latency-histogram. To do this, start latency-histogram:
$ source /local/home/skelem/cad/linuxcnc/scripts/rip-environment
$ latency-histogram &
$ source /local/home/skelem/cad/linuxcnc/scripts/rip-environment
$ halcmd show >| /tmp/l.show
not an issue for latency-histogram -- doesn't use any gtk or gladeI added several glade gtk packages, but, apparently, not the one that linuxcnc_info is looking for.
Please Log in or Create an account to join the conversation.
I thought so. I downloaded the kernel source, applied the corresponding rt patches, used xconfig to enable PREEMPT, built and installed it. The correct name shows up in uname -r.
% grep PREEMPT rt/linux-4.4.21/.config
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PREEMPT=y
CONFIG_HAVE_PREEMPT_LAZY=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT__LL=y
# CONFIG_PREEMPT_RTB is not set
# CONFIG_PREEMPT_RT_FULL is not set
CONFIG_PREEMPT_COUNT=y
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_PREEMPT_TRACER is not set
(1) Max Jitter
16017587 servo thread (1ms)
16866119 base thread (25us)
(2)
Note: Using POSIX non-realtime
msg=can't use non-numeric floating-point value as operand of "*" variance=-1722378192
msg=can't use non-numeric floating-point value as operand of "*" variance=-1861254779
msg=can't use non-numeric floating-point value as operand of "*" variance=-1624845419
msg=can't use non-numeric floating-point value as operand of "*" variance=-1671011147
msg=can't use non-numeric floating-point value as operand of "*" variance=-768294139
msg=can't use non-numeric floating-point value as operand of "*" variance=-1028587226
Please Log in or Create an account to join the conversation.
# CONFIG_PREEMPT_RT_FULL is not set
If you use xconfig, the preemption options are in the processor types and features section
and you need to select the "fully preemptable kernel" option
Please Log in or Create an account to join the conversation.
not good.16017587 servo thread (1ms)
This indicates something wrong as well:
Note: Using POSIX non-realtime
2) did you make setuid ?
I wonder if there are items not tagged with
CONFIG_PREEMPT that are important for the kernel
build. You may need to find a working preempt-rt
kernel config file for your kernel version.
I notice on my (older, debian jessie) working uspace
config has items not listed as set in your grep output:
CONFIG_PREEMPT_RT_BASE=y
CONFIG_PREEMPT_LAZY=y
CONFIG_PREEMPT_RT_FULL=y
CONFIG_DEBUG_PREEMPT=y
and some that are not set (where you have it set):
# CONFIG_PREEMPT__LL is not set
Ref:
$ grep PREEMPT /boot/config-4.1.0-0.bpo.2-rt-amd64
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PREEMPT=y
CONFIG_PREEMPT_RT_BASE=y
CONFIG_HAVE_PREEMPT_LAZY=y
CONFIG_PREEMPT_LAZY=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT__LL is not set
# CONFIG_PREEMPT_RTB is not set
CONFIG_PREEMPT_RT_FULL=y
CONFIG_PREEMPT_COUNT=y
CONFIG_DEBUG_PREEMPT=y
# CONFIG_PREEMPT_TRACER is not set
Please Log in or Create an account to join the conversation.
Thanks,
Steve
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.