#linuxcnc-devel Logs
Dec 18 2022
#linuxcnc-devel Calendar
12:18 AM pere: hi
12:36 AM linuxcnc-build2: Worker `checkin` is missing. It was seen last on Sat Dec 17 22:21:28 2022.
02:05 AM fdarling: is there a way for realtime components to get the servo thread rate without having it passed as a parameter? Is it something that can just be accessed from a component?
02:08 AM fdarling: http://linuxcnc.org/docs/stable/html/hal/comp.html#cha:hal-component-generator
02:08 AM fdarling: it seems like "fperiod" is available, but I am having trouble finding documentation for it...
03:16 AM * pere do not know
06:46 AM pere: so, should we keep the code building with clang?
07:48 AM seb_kuzminsky: fdarling: the only documentation for that is here, i think: http://linuxcnc.org/docs/devel/html/hal/comp.html#_implicit_parameters
07:49 AM seb_kuzminsky: there are other ways to find the period, but the function argument to the HAL function is by far the easiest
07:50 AM seb_kuzminsky: pere: clang build in github actions is a fine idea
07:51 AM seb_kuzminsky: we have an rtai clang build in the buildbot, but a quick one in github is welcome imo
07:52 AM pere: the github onces seem to cause more followup than those on the build bot.
07:52 AM pere: good to see you here, btw. :)
07:53 AM linuxcnc-build2: Build [#3](http://buildbot2.highlab.com/buildbot/#builders/19/builds/3) of `30-dsc-uspace.debian-07-wheezy` 8completed with warnings.
07:55 AM linuxcnc-build2: Build [#3](http://buildbot2.highlab.com/buildbot/#builders/23/builds/3) of `40-dsc-rtai.ubuntu-12-04-precise` 8completed with warnings.
07:56 AM linuxcnc-build2: Build [#3](http://buildbot2.highlab.com/buildbot/#builders/22/builds/3) of `30-dsc-uspace.debian-09-stretch` 8completed with warnings.
07:56 AM linuxcnc-build2: Build [#3](http://buildbot2.highlab.com/buildbot/#builders/10/builds/3) of `30-dsc-uspace.debian-08-jessie` 8completed with warnings.
07:56 AM linuxcnc-build2: Build [#3](http://buildbot2.highlab.com/buildbot/#builders/5/builds/3) of `30-dsc-uspace.debian-10-buster` 8completed with warnings.
08:23 AM seb_kuzminsky: there's a way to get the buildbot to report results in github now, that might help more people notice when it finds something broken
08:41 AM seb_kuzminsky: pere: how are things?
08:42 AM pere: seb_kuzminsky: busy as usual. been at the workshop working on the lid the entire weekend.
08:43 AM pere: sadly I got integration issues when putting things together. :)
08:43 AM seb_kuzminsky: what's the lid?
08:54 AM pere: for the wood chip boiler
08:55 AM seb_kuzminsky: oh right
09:10 AM pere: seb_kuzminsky: btw, which clang fix do you prefer?
09:11 AM pere: specificly the return; vs removing the return statement in the component code.
09:23 AM seb_kuzminsky: pere: hal functions return void, so the return statement should be deleted
09:24 AM Tom_L: seb, some time back you were working on the rpi4 latency. i just wondered where you got with that
09:24 AM seb_kuzminsky: i used the debian bookworm (not raspbian/raspberry pi os) images from here: https://raspi.debian.net/
09:25 AM Tom_L: yes, i'm using those as well
09:25 AM seb_kuzminsky: with some tweaks i got sub-10 µs latency: https://github.com/LinuxCNC/linuxcnc/tree/busywait5
09:26 AM Tom_L: what kernel were you using?
09:27 AM Tom_L: 4.19 or something newer?
09:27 AM seb_kuzminsky: but that only works reliably if there's only one hal thread, if you have both a base and a servo thread the Rate Monotonic Scheduling guarantee that linuxcnc uses is violated, which can lead to comminication problems between comps like sw stepgen
09:27 AM seb_kuzminsky: i just used the preempt-rt kernel from debian.org
09:27 AM seb_kuzminsky: i think it was 6.0-rt last time i updated
09:28 AM Tom_L: ok, i was looking at that a couple days ago but wasn't sure if it was fully preempt-rt
09:29 AM Tom_L: i have a rt on buster but not bookworm
09:29 AM pere: seb_kuzminsky: ok. Then I will merge my patch and reject the other.
09:29 AM seb_kuzminsky: yeah the debian.org -rt kernel includes preempt-rt
09:29 AM pere: seb_kuzminsky: did you figure out the classicladder arm issue?
09:30 AM seb_kuzminsky: pere: thanks for the increased test coverage :-)
09:30 AM seb_kuzminsky: i have not looked at arm at all this week, been concentrating on the buildbot
09:30 AM seb_kuzminsky: it's getting pretty close
09:31 AM seb_kuzminsky: have you looked at the arm problem any?
09:33 AM linuxcnc-build2: Build [#3](http://buildbot2.highlab.com/buildbot/#builders/6/builds/3) of `50-deb-uspace.debian-10-buster-amd64` 8completed with warnings.
09:33 AM pere: I tried to reproduce it on github, but could not get the test running.
09:36 AM pere: is it ok to require c++11, ref <URL: https://github.com/LinuxCNC/linuxcnc/pull/2215 >?
09:39 AM seb_kuzminsky: we're currently on C11 and C++17 according to src/Makefile, so yes that's fine
09:40 AM seb_kuzminsky: it is reproducible locally in arm64 docker with qemu
09:48 AM pere: ok.
09:53 AM seb_kuzminsky: the current holdup is this buildbot bug: https://github.com/buildbot/buildbot/issues/6591
09:56 AM seb_kuzminsky: linuxcnc-build2: force build --branch=2.9 00-checkin
09:56 AM linuxcnc-build2: Force build successfully requested.
09:58 AM seb_kuzminsky: linuxcnc-build2: force build --branch=2.9 --revision=2.9 00-checkin
09:58 AM linuxcnc-build2: Force build successfully requested.
10:00 AM seb_kuzminsky: linuxcnc-build2: force build --branch=2.9 --revision=origin/2.9 00-checkin
10:00 AM linuxcnc-build2: Force build successfully requested.
10:05 AM pere: I hope my hy_gt_vfd.fault-info fix is more acceptable now.
10:07 AM pere: seb_kuzminsky: what about cloning the git repo every time, if #6591 do not trigger on the first run?
10:09 AM seb_kuzminsky: the bug is before cloning the repo (sort of)
10:10 AM seb_kuzminsky: gitpoller has its own clone of the repo, it periodically fetches the real repo, and if it got anything new to build it triggers the buildbot
10:10 AM seb_kuzminsky: it's this logic of polling the real repo to see if it's time to build that's broken
10:10 AM seb_kuzminsky: forcing builds like i've been doing here on irc works for the most part, it just doesn't figure it out for itself when its time to build
10:24 AM roguish[m]: seb_kuzminsky: good morning. a curious question here. why isn't there a bullseye in the buildbot? is there ever going to be one? or is it all skipping over and going directly to bookworm???
10:25 AM roguish[m]: I'm trying to find a .deb for linuxcnc for bullseye.....
10:25 AM Tom_L: it kinda got skipped
10:28 AM Tom_L: roguish[m], i think the idea was that when 2.9 was ready to be released, bookworm would also be
10:35 AM seb_kuzminsky: pere: it's kind of a distraction, the old buildbot doesn't use polling and the new one won't either, they both use github's webhooks
10:35 AM seb_kuzminsky: i just switched the new buildbot to that scheme and it seems to work fine (so far)
10:36 AM Tom_L: seb is the new buildbot building debs?
10:36 AM Tom_L: ie bullseye
10:36 AM seb_kuzminsky: roguish[m]: there's not currently a bullseye (or bookworm) worker in the buildbot because of a version incompatibility between the buildbot worker in bullseye (and newer) and the old buildmaster that the buildbot is currently using
10:36 AM seb_kuzminsky: i've been working on upgrading the buildmaster, and in the process added bullseye and bookworm workers
10:37 AM seb_kuzminsky: it's not quite ready to switch over yet, but it's very close
10:37 AM roguish[m]: seb_kuzminsky: is there a set of bullseye linuxcnc debs anywhere???
10:37 AM seb_kuzminsky: here's a preview: http://buildbot2.highlab.com/buildbot/
10:38 AM roguish[m]: also, I'm not bitching. just need debs
10:38 AM seb_kuzminsky: roguish[m]: yeah, understood :-)
10:38 AM seb_kuzminsky: we all want debs :-)
10:38 AM roguish[m]: seb_kuzminsky: also, you're still a herl
10:38 AM roguish[m]: hero
10:39 AM seb_kuzminsky: hurlo
10:39 AM roguish[m]: sorry, fat fingers.
10:39 AM seb_kuzminsky: as part of the buildbot upgrade i'm reshaping the debian archive a bit, so the old buildbot apt sources won't work
10:40 AM seb_kuzminsky: it may be ready to start testing, if anyone wants to give it a shot...
10:40 AM roguish[m]: frak, i sure wish i could help.
10:40 AM seb_kuzminsky: something like "deb http://buildbot2.highlab.com/debian bullseye master-uspace 2.9-uspace scratch-uspace"
10:41 AM seb_kuzminsky: i may nuke the package archive from time to time as i fix bugs with it, but i think it's pretty close to ready
10:41 AM seb_kuzminsky: and i'd appreciate any bug reports people find...
10:42 AM seb_kuzminsky: the "waterfall" view that used to be so good in the old buildbot isn't as useful in the new buildbot, i find the "console" view to be easier to parse
10:43 AM seb_kuzminsky: bbl
10:44 AM roguish[m]: so right now i see a bullseye building. is that creating debs? it's got rip in it's name
10:45 AM seb_kuzminsky: right now it's just building rip and testing, if that passes it'll build & upload debian source packages, then download those source packages and build debs
10:45 AM seb_kuzminsky: those debs will be available from the package archive at the new builbot
10:45 AM seb_kuzminsky: it should be ready in an hour or two
10:46 AM Tom_L: are all those built with the new buildbot?
10:46 AM seb_kuzminsky: if nothing new breaks
10:46 AM Tom_L: in your directory
10:46 AM seb_kuzminsky: yep, this is the new buildbot
10:46 AM Tom_L: even wheezy!
10:46 AM roguish[m]: where is the package archive? link?
10:46 AM Tom_L: http://buildbot2.highlab.com/debian/dists/
10:46 AM seb_kuzminsky: all the old 2.8 distros will still be built in the new buildbot
10:46 AM seb_kuzminsky: Tom_L: yeah that's it
10:47 AM roguish[m]: COOL. i'll keep a watch on it....
10:47 AM Tom_L: is that also on the build server?
10:47 AM Tom_L: we don't want to tell many if it is.. and bog it down
10:47 AM seb_kuzminsky: the new buildbot is running on all-new VMs on the same hardware that's running the old buildbot
10:48 AM roguish[m]: busy little beever....
10:48 AM seb_kuzminsky: it should be fine to bang on it, the VMs are scaled appropriately for the underlying bare-metal hardware (i hope)
10:49 AM seb_kuzminsky: once the new buildbot works, i'll move all the workers from the old buildbot to the new one and we'll get the full complement of distros & architectures
10:49 AM seb_kuzminsky: for now it's only a proof-of-concept with a few (well, 7) workers
10:49 AM Tom_L: how are you building the arm stuff?
10:49 AM Tom_L: cross compile?
10:49 AM seb_kuzminsky: currently arm is only on the old buildbot, not the new one yet
10:50 AM seb_kuzminsky: it's a raspberry pi 4 running Raspberry Pi OS (aka Raspbian)
10:50 AM Tom_L: poor little guy..
10:50 AM seb_kuzminsky: it's doing ok! way better than the old Odroid machines i was using before
10:51 AM seb_kuzminsky: the armhf builds happen on a real hard disk, not on the SD card, so that helps a lot
10:51 AM Tom_L: i use mine as a hand warmer sometimes
10:51 AM Tom_L: oh, you've got a usb ssd on it..
10:51 AM seb_kuzminsky: it runs a lot cooler than the giant intel servers next to it ;-)
10:53 AM Tom_L: is it hard to set up a ssd on one?
10:53 AM Tom_L: i've never tried that
10:54 AM Tom_L: i just keep a pile of sd with different os on each one
10:56 AM seb_kuzminsky: Tom_L: i boot the rpi4 off a micro-sd card, and there's a real hard disk connected via a USB-to-SATA adapter mounted on /data, and the buildbot worker does its builds there
10:56 AM seb_kuzminsky: it was super easy to set up
10:57 AM seb_kuzminsky: i'm heading out while the buildbot chews on this latest push, back later!
10:57 AM Tom_L: thanks
11:08 AM pere: seb_kuzminsky: got to run, but remember we have an offer for a VM in Norway. I suspect it could be useful as a buildbot master.
11:13 AM linuxcnc-build2: Build [#2](http://buildbot2.highlab.com/buildbot/#builders/13/builds/2) of `00-checkin` 3completed successfully.
11:27 AM fdarling: seb_kuzminsky: the documentation says "...the period parameter which is the time in nanoseconds of the last period to execute the component."
11:27 AM fdarling: does this mean that the number varies between calls and represents the "real" elapsed time, or is it the ideal/configured servo thread period?
11:33 AM linuxcnc-build2: Worker `checkin` is missing. It was seen last on Sun Dec 18 09:33:39 2022.
02:50 PM linuxcnc-build2: Build [#2](http://buildbot2.highlab.com/buildbot/#builders/11/builds/2) of `10-rip.debian-12-bookworm-rtpreempt-amd64` 4failed.
02:56 PM linuxcnc-build2: Build [#3](http://buildbot2.highlab.com/buildbot/#builders/13/builds/3) of `00-checkin` 4failed.
03:07 PM seb_kuzminsky: the new buildbot and the github action agree that #2211 is bad
03:09 PM seb_kuzminsky: and #2216, nice
03:17 PM andypugh_: fdarling: The number should be the actual time. Halscope it to see.
03:33 PM linuxcnc-build2: Build [#4](http://buildbot2.highlab.com/buildbot/#builders/11/builds/4) of `10-rip.debian-12-bookworm-rtpreempt-amd64` 8completed with warnings.
03:46 PM linuxcnc-build2: Build [#5](http://buildbot2.highlab.com/buildbot/#builders/13/builds/5) of `00-checkin` 3completed successfully.
04:11 PM seb_kuzminsky: the new buildbot is nearing done
04:12 PM seb_kuzminsky: the old buildbot is still running just like before, i'm going to leave it up until i'm confident the new one is ready to take over
04:13 PM seb_kuzminsky: the new buildbot is hooked up to our github repo and builds every push and pr, but only on a few representative platforms: wheezy through bookworm, plus precise
04:14 PM seb_kuzminsky: so all the distros supported by 2.8 and newer, but not a complete complement of kernels (only one worker on each distro, but including rtai, preempt-rt, and vanilla)
04:14 PM seb_kuzminsky: only one arch per platform, and onle i686 and amd64 now, no arm yet
04:14 PM seb_kuzminsky: just like the old buildbot it builds rip+test, docs, dscs, and debs
04:15 PM seb_kuzminsky: you can follow the build progress here: http://buildbot2.highlab.com/buildbot/#/console
04:15 PM seb_kuzminsky: debs (what few it makes) are here: http://buildbot2.highlab.com/debian/
04:16 PM seb_kuzminsky: the new components are named "${BRANCH}-${CONFIG}", where BRANCH is 2.8, 2.9, master, or "scratch" for all other branches, and CONFIG is "uspace" or "rtai"
04:17 PM seb_kuzminsky: there's a placeholder for raspbian debs at http://buildbot2.highlab.com/raspbian/, unlike the old buildbot which mixes the raspbian and debian debs together in the same package archive
04:18 PM seb_kuzminsky: docs (pdf & html) are here: http://buildbot2.highlab.com/doc/
04:18 PM seb_kuzminsky: (the links from the "20-docs" builder point to an internal name currently, i'll fix that)
04:19 PM Tom_L: i bet that's quite the master.cfg file :)
04:19 PM seb_kuzminsky: i'd like it if people tried out the debs it makes and let me know if anything is broken
04:19 PM seb_kuzminsky: the master.cfg is > 1500 lines :-/
04:21 PM seb_kuzminsky: it uses the new Secrets API so i can publish the git repo with the master cfg, though i dont know how useful it will be to people, as you can't really test it out locally without setting up workers
04:28 PM pere: hi
04:34 PM Tom_L: seb_kuzminsky, is 30 32bit wheezy?
04:34 PM Tom_L: i could test that but not 64bit
04:34 PM Tom_L: i wasn't aware there was a 64bit wheezy
04:34 PM Tom_L: but what do i know...
04:35 PM Tom_L: yeah i guess there was
04:35 PM CaptHindsight[m]: seb_kuzminsky: http://buildbot2.highlab.com/ is there any way to have this parent page list/show the public branches?
04:36 PM CaptHindsight[m]: ../debian .../raspian ../doc
04:37 PM CaptHindsight[m]: frequent guests will just get used to it as is
04:37 PM Tom_L: http://buildbot2.highlab.com/debian/dists/
04:37 PM Tom_L: it looks similar to the old buildbot
04:38 PM CaptHindsight[m]: yeah, if you keep pressing parent you end up at the top
04:39 PM CaptHindsight[m]: but if you enter the site there you have to remember what the directories are
04:39 PM CaptHindsight[m]: this falls under my "never can remember" category
04:39 PM Tom_L: you need to practice more then
04:40 PM CaptHindsight[m]: what if he hides a secret branch there?
04:40 PM Tom_L: he must want it hidden?
04:40 PM CaptHindsight[m]: it would be right under your nose and you would not know it
04:42 PM pere: Tom_L: I suspect it is more than 20 years since 64 bits started to become popular.
04:42 PM pere: <URL: https://github.com/LinuxCNC/linuxcnc/pull/2209 > updated.
04:42 PM CaptHindsight[m]: secret branches are fine
04:46 PM seb_kuzminsky: yeah, an updated landing page like the old buildbot has would be good
05:02 PM CaptHindsight[m]: I forget what I can't remember anymore
05:03 PM seb_kuzminsky: ok there's a little landing page
05:03 PM seb_kuzminsky: bbl
05:03 PM CaptHindsight[m]: 👍️
05:04 PM CaptHindsight[m]: much thanks
06:54 PM CaptHindsight[m]: silopolis: from the dev ml: current install "first.dds.install" note on github.
06:54 PM CaptHindsight[m]: https://github.com/auto-mation-assist/LinuxCnc-OpenDDS-Work/install-notes/first.dds.install
06:55 PM CaptHindsight[m]: Main folder at:
06:55 PM CaptHindsight[m]: https://github.com/auto-mation-assist/LinuxCnc-OpenDDS-Work