-
-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Build 2020033017-4.1] openQA test fails in TC_00_AppVM_fedora-30.test_097_qrexec_service_socket_vm_eof_reverse #5749
Comments
I'm not entirely sure if the qrexec-client message is really about the test call and not some auxiliary call during normal VM life cycle. In the very next test I see:
A bit early to be about this test, maybe some remainder of the previous test? |
I have ran those tests locally. They both passed, but I still got exactly the same qrexec-client messages. And only for those two tests (097 and 098), not the others, so it's unlikely side effect of just VM startup. |
Are you sure these are not cleanup issues? I don't see any message about timeout in logs. In |
I have added cleanup of service_proc to tearDown, but apparently I have forgot to create PR about it: QubesOS/qubes-core-admin#332. Let me see if that helps. |
With this cleanup the same: tests succeeded, but with this message present (only for those tests):
|
This comment has been minimized.
This comment has been minimized.
The process_io() (or more precisely - write_stdin() and write_all()) function relies on write() reporting errors "normally" (negative return value + errno), it is not prepared to handle SIGPIPE signal. If service exits, SIGPIPE sent to the qrexec-fork-server worker process would kill it. The main qrexec-agent process correctly has SIGPIPE handler set to SIG_IGN, but this was missing in qrexec-fork-server. Add it there too. This was found when debugging qrexec performance tests, but looks also similar to this issue: Fixes QubesOS/qubes-issues#5749
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The component
|
Automated announcement from builder-github The component
|
The process_io() (or more precisely - write_stdin() and write_all()) function relies on write() reporting errors "normally" (negative return value + errno), it is not prepared to handle SIGPIPE signal. If service exits, SIGPIPE sent to the qrexec-fork-server worker process would kill it. The main qrexec-agent process correctly has SIGPIPE handler set to SIG_IGN, but this was missing in qrexec-fork-server. Add it there too. This was found when debugging qrexec performance tests, but looks also similar to this issue: Fixes QubesOS/qubes-issues#5749 (cherry picked from commit a53295b)
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The component
|
Automated announcement from builder-github The component
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The component
|
Automated announcement from builder-github The component
|
Observation
openQA test in scenario qubesos-4.1-pull-requests-x86_64-system_tests_basic_vm_qrexec_gui@64bit fails in
TC_00_AppVM_fedora-30
Test suite description
This test is supposed to test VM socket service - if doing shutdown(SHUT_WR) on the socket there is transferred as EOF to dom0 (qrexec-client).
Reproducible
Fails since (at least) Build 2020032011-4.1
Expected result
Last good: (unknown) (or more recent)
Further details
Always latest result in this scenario: latest
The actual failure message is weird, as it's about FD leak, not timeout on waiting for EOF. But the above qrexec-client output suggests something is wrong.
cc @pwmarcz
The text was updated successfully, but these errors were encountered: