Skip to content

tests/ui-smoke: let linuxcnc shut down before signalling its group - #4701

Open
grandixximo wants to merge 2 commits into
LinuxCNC:masterfrom
grandixximo:ui-smoke-quit-teardown
Open

grandixximo wants to merge 2 commits into
LinuxCNC:masterfrom
grandixximo:ui-smoke-quit-teardown

Conversation

@grandixximo

Copy link
Copy Markdown
Contributor

Part of #4669. @hdiethelm, this is the touchy-quit SHMERR from your last round.

Once the GUI had quit, quit-launch.sh sent SIGTERM to the whole linuxcnc process group at once. linuxcnc was already shutting down after its GUI, so under load the signal arrived while it unloaded: the halcmd and rtapi_app clients died halfway ("child did not exit normally"), linuxcnc's SIGTERM trap ran its cleanup a second time on top of the first, and the motion shared memory was left behind. After a clean quit the launcher now waits up to 30 s for linuxcnc to exit by itself, and only then signals what is left.

With a component that takes 1 s to unload added to linuxcnc's cleanup, touchy-quit printed the same lines as your log and the SHMERR on every run; with this change it passes.

The second commit drops the ${SUDO} left in tests/tp/circle-curvature, which came in after #4663.

Once the GUI had quit, quit-launch.sh sent SIGTERM to the whole linuxcnc
process group at once. linuxcnc was then already shutting down after
its GUI, so under load the signal reached it while it unloaded: the
halcmd and rtapi_app clients died halfway ("child did not exit
normally"), linuxcnc's SIGTERM trap ran its cleanup a second time on
top of the first, and the motion shared memory was left behind (SHMERR
in touchy-quit, LinuxCNC#4669).

After a clean quit the launcher now waits up to 30 s for linuxcnc to
exit by itself, and only then signals what is left. With a component
that takes 1 s to unload, touchy-quit gave that SHMERR on every run
and now passes.
runtests no longer sets SUDO since the tests stopped using sudo, and
the skip file keeps the test off installed packages.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant