latency-histogram gets error messages

More
02 Oct 2016 22:41 #81158 by skelem
When I run latency-histogram, I get hundreds of these messages on the console:

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.

More
03 Oct 2016 00:02 - 03 Oct 2016 00:04 #81160 by dgarrett

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
and
lsb_release -a

Or just post the file created by this command:
linuxcnc_info
Last edit: 03 Oct 2016 00:04 by dgarrett.

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

More
05 Oct 2016 15:46 #81254 by skelem
% linuxcnc_info
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.

More
05 Oct 2016 15:54 #81255 by skelem
I added glade:
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.

More
05 Oct 2016 16:39 - 05 Oct 2016 16:40 #81258 by dgarrett

lsb_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

So -- a recent(!) RIP on ubuntu 16 xenial with preempt-rt and x84

0) Did you build the prempt-rt kernel?
1) What 'Max Jitter' result do you get with
latency-test
2) try a minor edit to
/local/home/skelem/cad/linuxcnc/scripts/latency-histogram
to see what is being reported for variance:
-    puts msg=$msg
+    puts "msg=$msg variance=$variance"
and post the exact error message msg=?

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 &
then in a separate terminal,
$ source /local/home/skelem/cad/linuxcnc/scripts/rip-environment
$ halcmd show >| /tmp/l.show
and post the file /tmp/l.show


I added several glade gtk packages, but, apparently, not the one that linuxcnc_info is looking for.

not an issue for latency-histogram -- doesn't use any gtk or glade
Last edit: 05 Oct 2016 16:40 by dgarrett.

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

More
05 Oct 2016 18:20 - 05 Oct 2016 18:34 #81265 by skelem
(0) Did you build the prempt-rt kernel?
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
Attachments:
Last edit: 05 Oct 2016 18:34 by skelem. Reason: grammar correction

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

More
05 Oct 2016 18:57 #81267 by PCW
Yow! 16 ms is not good. I suspect you built a non-realtime kernel:
# 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.

More
05 Oct 2016 19:16 #81269 by dgarrett

16017587 servo thread (1ms)

not good.

This indicates something wrong as well:
Note: Using POSIX non-realtime
1) did you ./configure --with-realtime=uspace ?
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.

More
06 Oct 2016 00:28 #81286 by skelem
Can you post your config file?
Thanks,
Steve

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

More
06 Oct 2016 01:02 #81287 by dgarrett
added .txt suffix for forum acceptance
Attachments:
The following user(s) said Thank You: skelem

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

Time to create page: 0.125 seconds
Powered by Kunena Forum