webkitgtk and bubblewrap help needed

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

webkitgtk and bubblewrap help needed

Jack Hill
Hi WebKit,

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] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40837
[1] https://guix.gnu.org/manual/en/html_node/Managing-Software-the-Guix-Way.html

Thanks,
Jack
_______________________________________________
webkit-dev mailing list
[hidden email]
https://lists.webkit.org/mailman/listinfo/webkit-dev
Reply | Threaded
Open this post in threaded view
|

Re: webkitgtk and bubblewrap help needed

Jack Hill
> 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] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40837#31
[1] https://github.com/containers/bubblewrap/issues/195

Best,
Jack
_______________________________________________
webkit-dev mailing list
[hidden email]
https://lists.webkit.org/mailman/listinfo/webkit-dev
Reply | Threaded
Open this post in threaded view
|

Re: webkitgtk and bubblewrap help needed

Michael Catanzaro-2
On Mon, Apr 27, 2020 at 11:22 pm, Jack Hill <[hidden email]>
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?


_______________________________________________
webkit-dev mailing list
[hidden email]
https://lists.webkit.org/mailman/listinfo/webkit-dev
Reply | Threaded
Open this post in threaded view
|

Re: webkitgtk and bubblewrap help needed

Jack Hill
On Tue, 28 Apr 2020, Michael Catanzaro wrote:

> On Mon, Apr 27, 2020 at 11:22 pm, Jack Hill <[hidden email]> 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 https://bugs.webkit.org/show_bug.cgi?id=211131

Best,
Jack
_______________________________________________
webkit-dev mailing list
[hidden email]
https://lists.webkit.org/mailman/listinfo/webkit-dev