ebuild fails trying to access /dev/dri/renderD128 and /dev/dri/card0 with open_wr Reproducible: Always Actual Results: F: open_wr S: deny P: /dev/dri/renderD128 A: /dev/dri/renderD128 R: /dev/dri/renderD128 C: /usr/libexec/gstreamer-1.0/gst-plugin-scanner -l /usr/bin/pulseaudio F: open_wr S: deny P: /dev/dri/card0 A: /dev/dri/card0 R: /dev/dri/card0 C: /usr/libexec/gstreamer-1.0/gst-plugin-scanner -l /usr/bin/pulseaudio I haven't dug deep into the ebuild, but my logs tell me that I've successfully emerged this package before on 20220214, so maybe this has to do with the new gstreamer related ebuilds I've been seeing over the last few weeks? I'll attach the logs for both the successful and failing builds.
Created attachment 768505 [details] app-accessibility:espeak-ng-1.50-r3:20220402-062753.log NEW FAILING BUILD LOG
Created attachment 768506 [details] app-accessibility:espeak-ng-1.50-r3:20220214-051527.log OLD SUCCESSFUL BUILD LOG
Created attachment 768507 [details] emerge --info app-accessibility/espeak-ng
What verssion of gst?
(In reply to Sam James from comment #4) > What verssion of gst? Version 1.20.1
Created attachment 768545 [details] strace of sandbox violation strace log resulting from the command, lzma-compressed: MAKEOPTS=-j1 strace ebuild /var/db/repos/gentoo/app-accessibility/espeak-ng/espeak-ng-1.50-r3.ebuild clean compile 2> /tmp/espeak-ng-strace.log
Looks like compiled espeak-ng binary is invoked with pulseaudio autospawn enabled while pulseaudio is not accessible by client library (e.g. not running or not listening.) *and* pulsaudio is built with USE gstreamer. Workaround is to set PULSE_SERVER="" before launching compiled espeak-ng binary, which would effectively disable autospawning function.
(In reply to Igor V. Kovalenko from comment #7) > Looks like compiled espeak-ng binary is invoked with pulseaudio autospawn > enabled while pulseaudio is not accessible by client library (e.g. not > running or not listening.) *and* pulsaudio is built with USE gstreamer. > > Workaround is to set PULSE_SERVER="" before launching compiled espeak-ng > binary, which would effectively disable autospawning function. This is exactly the case. Between the successful and unsuccessful compilations, I had changed to pipewire, but only half-assed. I neglected to edit /etc/pulse/{daemon,client}.conf to disable autospawn because I figured I would just uninstall pulseaudio. That proved to be impossible while maintaining pulseaudio support through pipewire so I dropped the ball on the .conf changes. I have submitted https://github.com/gentoo/gentoo/pull/24878 with the above proposed fix. i-garrison and sam_ from IRC did most of the work with finding the root cause of the bug.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cccecafab917464137d22cec82e7458d6f5c277e commit cccecafab917464137d22cec82e7458d6f5c277e Author: William Hubbs <williamh@gentoo.org> AuthorDate: 2022-04-04 02:17:05 +0000 Commit: William Hubbs <williamh@gentoo.org> CommitDate: 2022-04-04 02:18:44 +0000 app-accessibility/espeak-ng: add fix for pulseaudio access violation Closes: https://bugs.gentoo.org/836646 Closes: https://github.com/gentoo/gentoo/pull/24878 Signed-off-by: Peter Alfredsen <crabbedhaloablution@icloud.com> Signed-off-by: William Hubbs <williamh@gentoo.org> app-accessibility/espeak-ng/espeak-ng-1.50-r3.ebuild | 3 +++ app-accessibility/espeak-ng/espeak-ng-1.51.ebuild | 4 ++++ app-accessibility/espeak-ng/espeak-ng-9999.ebuild | 4 ++++ 3 files changed, 11 insertions(+)