-
Notifications
You must be signed in to change notification settings - Fork 379
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
Timeout waiting for log entry "containerrootrc=ready" #196
Comments
Thank you for the bug report! I found this error message:
It is this line in
It only serves to redirect some log output. I'll think about a possible alternative. |
I got around to check the commits already: Part of the problem (seeing that this issue hasnt been opened yet) may be that I set the permissions on I also found that running with In the end, I am not sure what exactly is causing this but I hope this will help you. Cheers |
It also did not work after a This is what the respective
which looks fine I think (?) |
Thanks for your investigation!
Ah, yes! I already thought that this bug looks somehow familar. So I reintroduced it. As a first fix that maybe helps I've changed the file permission of
The point is that x11docker runs the container with docker option Adding the capability to supersede access permissions should solve the issue (compare
I am currently not sure what would be the best solution.
Sorry for asking, but what exactly does that do? |
I tried using the latest commit, still no change. Nope, DAC_OVERRIDE on its own does not cut it, only cap-default. I am not very sure on to the details of this. But option 1 and 2 do not sound quite elegant. And it would make sense to prevent root files in the host environment. Those are always a bummer when it comes to archives, searches, deletions etc. Like when you want to backup your home folder but get errors somewhere deep nested inside .local/share/x11docker, as it contains root files. Option 3 makes the most sense to me, but this is only intuition.
No worries – it means recursively giving read access (+4) to "other" users (not owner or group) to everthing inside .cache. |
Ok wait, the recent commit might have solved this (but everything is kinda laggy now). Just so you dont spend too much unnecessary digging here. I'll get back to you later. |
Good! Maybe there is another timeout now. Please give me a fresh logfile and I'll look through it.
x11docker already avoids root files in I am surprised why you have a root-owned
It should not be there. It is shared with the container with:
In my own x11docker cache tini does not appear. |
With latest commit:
With previous commit, before your latest fix (at 25b8034), everything seems the same as above. So nothing changed. Here's a new verbose log file as requested, from latest commit's * but is slow, like really laggy, vscode editor is pretty much unusable. But somehow now also older versions of x11docker are as slow, when they were smooth a few days ago(?!) I will investigate this further, you may consider those cases working perfectly for now |
I thought I'd try to reproduce it by deleting the respective cache folder. But now when I run it (with cap-default), no folder is recreated inside .cache/x11docker anymore, so I cannot give you any more details. |
Okay, regarding the lagginess: This might not be related to this issue at all, but I'll post the info here anyway: The lags got introduced with 5a35b81. Note that this is an earlier one than the one that broke everything described above. I only encounter those lags with Xephyr. The application I tested this with is xfce, with vscode as the application running inside. I dont know what is so special about it, but thunar for instance was not lagging. But maybe it's just not as resource intensive. Please tell me if you want more info here. While digging, I also realized that nxagent and hostdisplay seem to behave more fluent than xephyr and xpra. I dont know how nxagent works, but with hostdisplay it makes sense as no key presses are proxied. |
Thank you for your detailed investigation!
Finally an issue that I can fix easily! In the commit you found I've enabled Xephyr option
glamor should help to speed up some things, but appearently it can be problematic. I've disabled it yet.
The cache folder only exists while the container is running. If you don't have a cache folder while x11docker is running, something very basical goes wrong.
I just tried to reproduce the
That's odd. I doubt that it is a tty issue again. I would see that in the log.
The log shows version
|
Huh, sorry - I dont know how the version mismatch happened. I redid it with the latest commit from yesterday, for sure this time: https://waritschlager.de/share/32492a8420106529.txt
No, this is not the case. xfce shortcut and interactive bash definitely behave differently (one working, the other not). I removed all the times and pids from it with some wild regex and skipped display numbers etc. and below are the notable log output differences when run as xfce shortcut. As expected, the only real difference seems to be that the 8a9
> DEBUGNOTE: check_host(): Command tty failed. Guess if running on console: no
45a47
> DEBUGNOTE: check_host(): Command tty failed. Guess if running on console: no
124c126
< Running in a terminal: yes
---
> Running in a terminal: no
371,377d372
< grep -x -q 'x11docker/xfce' < /home/phi/.cache/x11docker/docker.imagelist || grep -x -q 'x11docker/xfce:latest' < /home/phi/.cache/x11docker/docker.imagelist || {
< docker inspect x11docker/xfce >>/home/phi/.cache/x11docker/x11docker-xfce-/share/container.log 2>&1 || {
< echo 'Image x11docker/xfce not found locally.' >&2
< echo 'Do you want to pull it from docker hub?' >&2
< askyesno && Dockerpull=yes || error "Image 'x11docker/xfce' not available locally and not pulled from docker hub."
< }
< }
382a378
> env DISPLAY=':0.0' DBUS_SESSION_BUS_ADDRESS='unix:path=/run/user/1000/bus' bash -c "notify-send 'x11docker: Pulling image x11docker/xfce from docker hub'" 2>/dev/null &
1475c1471,1495
< /tmp/containerrootrc: 11: /tmp/containerrootrc: cannot create /x11docker/container.log: Permission denied
---
> mkdir: created directory '/var/run/dbus'
> mkdir: created directory '/tmp/.ICE-unix'
> mkdir: created directory '/tmp/.X11-unix'
> mkdir: created directory '/tmp/.font-unix'
> srwxrwxrwx 1 1000 1001 0 Nov 23 08:10 /X113
>
> ==> /home/phi/.cache/x11docker/x11docker-xfce-/message.log <==
> DEBUGNOTE: Running containerrootrc: Setup as root in container
>
> ==> /home/phi/.cache/x11docker/x11docker-xfce-/share/container.log <==
> lrwxrwxrwx 1 root root 5 Nov 23 08:10 /tmp -> /X113
> mkdir: created directory '/fakehome'
>
> ==> /home/phi/.cache/x11docker/x11docker-xfce-/message.log <==
> DEBUGNOTE: containerrootrc: Container libc: glibc
>
> ==> /home/phi/.cache/x11docker/x11docker-xfce-/share/container.log <==
> removed '/etc/shadow'
>
> ==> /home/phi/.cache/x11docker/x11docker-xfce-/message.log <==
> x11docker: Container system ID: debian
>
>
> ==> /home/phi/.cache/x11docker/x11docker-xfce-/share/container.log <==
> chown: changing ownership of '/tmp/chowntestfile': Operation not permitted
1551d1572
< DEBUGNOTE: waitforlogentry(): tailstderr: Found log entry "x11docker=ready" in store.info.
1553,1592c1574,1586
< DEBUGNOTE: waitforlogentry(): containerrc: Waiting since 11s for log entry "containerrootrc=ready" in store.info
< DEBUGNOTE: waitforlogentry(): containerrc: Waiting since 12s for log entry "containerrootrc=ready" in store.info
...
---
> DEBUGNOTE: waitforlogentry(): tailstderr: Found log entry "x11docker=ready" in store.info.
> DEBUGNOTE: waitforlogentry(): containerrc: Found log entry "containerrootrc=ready" in store.info. So it fails here: https://github.com/mviereck/x11docker/blob/master/x11docker#L4282.
and On my host system, the the Thanks for removing the glamor option! Everything is smooth again.
Oh, huh. The cache folders I described above were present without any container running. So I guess they were leftovers from failed run attempts. Should not matter, this doesnt happen anymore right now. |
That's really odd. I have no good idea why there is a difference. That also indicates that
Could you try to just disable this line? It only serves to redirect some output into the logfile, so it would not hurt essentially. Though,
The entries in
I also get those leftover folders. It seems x11docker does not get enough time to clean up if I shut down the system while x11docker is running. You can use |
I did a test in an old Manjarao VM. I could not update Manjaro due to some package conflicts. But I assume that would not change anything. So i cannot reproduce your issue and have no idea why x11docker fails on your system in terminal only. Would it be ok for you to just use |
Sure. I'll get back to you when I come accross a meaningful hint. Thank you for the help! |
The latest commit runs |
yup, works now out of the box :-) |
Great! :-) Finally solved although we did not find the very special point where it previously failed. |
Hi! Not really sure whats happening here. Happens with either of xephyr, xpra, nxagent and hostidsplay. As if the docker image doesnt even get started. Here is a verbose log output upload: https://waritschlager.de/share/922650f43f77a6fe.txt
Seems to have broken with a x11docker update of last few weeks/months, as I did not have any such problems beforehand. I can cycle through recent commits to find the culprit tomorrow.
until then, LG
The text was updated successfully, but these errors were encountered: