webkitgtk and bubblewrap help needed

# Jack Hill (6 days ago)

I'm working on an issue [0] in GNU Guix's WebKitGTK package. In the issue, I've identified what I believe to be a problem at the intersection of Bubblewrap, WebKitGTK, and Guix. I believe that the source of the problem is that with Guix, files that are needed in the sandbox are located in unexpected places. Everything manages by Guix, such as packages and configuration files, gets its own path under /gnu/store (answering why it is this way is a longer discussion which I'll leave to the manual [1] for now, but I find it compelling). Some files and directories under /run and /etc are symlinks to their canonical location under /gnu/store.

I believe that this arrangement will require extra paths to be bound into Bubblwrap's new mount namespace. However, it isn't clear to me what they are. I have tried patching BubblewrapLauncher.cpp, but it still seems to get tripped up with the pulse/client.conf symlink. I have not been able to reproduce the problem with simple interactive invocations of bwrap.

I'm interested in hearing how to troubleshoot problems like:

bwrap: Can't create file at /etc/pulse/client.conf: No such file or directory bwrap: Can't mkdir parents for /run/current-system/profile/lib/gstreamer-1.0: No such file or directory

I'm also interested in hearing how to best integrate WebKitGTK with Guix. I suppose the ideal case is for WebKitGTK to detect situations like Guix's and call bwrap with the correct arguments, and to fall back to carrying a local patch in Guix if a general solution is not appropriate.

[0] debbugs.gnu.org/cgi/bugreport.cgi?bug=40837 [1] guix.gnu.org/manual/en/html_node/Managing-Software-the-Guix-Way.html

Thanks, Jack

Contact us to advertise here
# Jack Hill (6 days ago)

bwrap: Can't create file at /etc/pulse/client.conf: No such file or directory bwrap: Can't mkdir parents for /run/current-system/profile/lib/gstreamer-1.0: No such file or directory

I've made a little bit of progress [0] on what's causing these errors. I believe it is an issue in Bubblewrap bind and symlinks [1]. Can this problem be worked-around in WebKitGTK?

[0] debbugs.gnu.org/cgi/bugreport.cgi?bug=40837#31 [1] containers/bubblewrap#195

Best, Jack

# Michael Catanzaro (5 days ago)

On Mon, Apr 27, 2020 at 11:22 pm, Jack Hill <jackhill at jackhill.us>

wrote:

Can this problem be worked-around in WebKitGTK?

Looks like WebKit should call realpath() for each path it passes to bwrap. Annoying, but certainly doable. Want to report a bug for it on WebKit Bugzilla?

# Jack Hill (5 days ago)

On Tue, 28 Apr 2020, Michael Catanzaro wrote:

On Mon, Apr 27, 2020 at 11:22 pm, Jack Hill <jackhill at jackhill.us> wrote:

Can this problem be worked-around in WebKitGTK?

Looks like WebKit should call realpath() for each path it passes to bwrap. Annoying, but certainly doable. Want to report a bug for it on WebKit Bugzilla?

Sure, I've submitted bugs.webkit.org/show_bug.cgi?id=211131

Best, Jack

Want more features?

Request early access to our private beta of readable email premium.