'systemcheck --gui' fails with `ERROR: ARG_MAX exceeded!`

On recent R4.3 build, the systemcheck --gui (and whonixcheck --gui) fails with this:

[gateway user ~]% systemcheck --gui
msgcollector unknown option: ERROR: ARG_MAX exceeded!

debug information:
output_func was called with too many arguments.
${FUNCNAME[0]}: output_func
${FUNCNAME[1]}: output_func_general
${FUNCNAME[2]}: preparation
${FUNCNAME[3]}: main
${FUNCNAME[5]}: 
${FUNCNAME[6]}: 
$0: /usr/libexec/systemcheck/systemcheck
[ERROR] [systemcheck] ERROR: ARG_MAX exceeded!

debug information:
output_func was called with too many arguments.
${FUNCNAME[0]}: output_func
${FUNCNAME[1]}: output_func_cli
${FUNCNAME[2]}: error_handler
${FUNCNAME[3]}: output_func_general
${FUNCNAME[5]}: preparation
${FUNCNAME[6]}: systemcheck_main
$0: /usr/libexec/systemcheck/systemcheck
systemcheck: Error detected. Cleaning up... Exiting...
systemcheck: signal ERR received. Cleaning up... Exiting...
msgcollector unknown option: ERROR: ARG_MAX exceeded!

debug information:
output_func was called with too many arguments.
${FUNCNAME[0]}: output_func
${FUNCNAME[1]}: output_func_general
${FUNCNAME[2]}: ex_funct
${FUNCNAME[3]}: output_func
${FUNCNAME[5]}: output_func_general
${FUNCNAME[6]}: preparation
$0: /usr/libexec/systemcheck/systemcheck
[INFO] [systemcheck] ERROR: ARG_MAX exceeded!

debug information:
output_func was called with too many arguments.
${FUNCNAME[0]}: output_func
${FUNCNAME[1]}: output_func_cli
${FUNCNAME[2]}: ex_funct
${FUNCNAME[3]}: output_func
${FUNCNAME[5]}: output_func_general
${FUNCNAME[6]}: preparation
$0: /usr/libexec/systemcheck/systemcheck
msgcollector unknown option: ERROR: ARG_MAX exceeded!

debug information:
output_func was called with too many arguments.
${FUNCNAME[0]}: output_func
${FUNCNAME[1]}: output_func_x
${FUNCNAME[2]}: ex_funct
${FUNCNAME[3]}: output_func
${FUNCNAME[5]}: output_func_general
${FUNCNAME[6]}: preparation
$0: /usr/libexec/systemcheck/systemcheck
msgcollector unknown option: ERROR: ARG_MAX exceeded!

debug information:
output_func was called with too many arguments.
${FUNCNAME[0]}: output_func
${FUNCNAME[1]}: output_func_cli
${FUNCNAME[2]}: ex_funct
${FUNCNAME[3]}: output_func
${FUNCNAME[5]}: output_func_general
${FUNCNAME[6]}: preparation
$0: /usr/libexec/systemcheck/systemcheck
1 Like

I broke it, probably.

Thought that’s a simple, almost self-evident (knowing issues of echo) [1] improvement.

“true” is presumably safer than “echo”.

output_func might need some improvements.

Not always reproducible. (But commit that caused that identified, probably.)


[1] Safe ways to print

1 Like

I removed &>/dev/null and got this:

/usr/libexec/msgcollector/msgdispatcher_run_check: line 90: /usr/bin/true: Permission denied

that’s apparmor:

type=AVC msg=audit(1748931939.457:965): apparmor="DENIED" operation="exec" class="file" profile="/usr/bin/systemcheck" name="/usr/bin/true" pid=7143 comm="systemcheck" requested_mask="x" denied_mask="x" fsuid=1000 ouid=0FSUID="user" OUID="root"
type=AVC msg=audit(1748931939.457:966): apparmor="DENIED" operation="open" class="file" profile="/usr/bin/systemcheck" name="/usr/bin/true" pid=7143 comm="systemcheck" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0FSUID="user" OUID="root"
1 Like

Thank you!

Fix has been uploaded.

1 Like

I can confirm it works now, thanks!

Let me know when it will land into testers repository, to do new template build (to unbreak R4.3 openqa tests)

1 Like

Migrated to testers repository just now.