View Issue Details

IDProjectCategoryView StatusLast Update
0009746ardourbugspublic2024-07-23 15:53
Reportercartoonraccoon Assigned Tox42  
PriorityhighSeveritymajorReproducibilityalways
Status resolvedResolutionno change required 
PlatformArchOSLinuxOS Version(any)
Product Version8.6 
Summary0009746: Ardour gets stuck in poll loop when connecting to the X11 server
DescriptionArdour starts running when I run the command, but no window appears and the process appears to block.

Running strace, I got this output (unrelated syscalls elided):

```text
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 9
connect(9, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X0"}, 20) = 0
getpeername(9, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X0"}, [124 => 20]) = 0

...

getsockname(9, {sa_family=AF_UNIX}, [124 => 2]) = 0
fcntl(9, F_GETFL) = 0x2 (flags O_RDWR)
fcntl(9, F_SETFL, O_RDWR|O_NONBLOCK) = 0
fcntl(9, F_SETFD, FD_CLOEXEC) = 0
poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLOUT}])
writev(9, [{iov_base="l\0\v\0\0\0\22\0\20\0\0\0", iov_len=12}, {iov_base="", iov_len=0}, {iov_base="MIT-MAGIC-COOKIE-1", iov_len=18}, {iov_base="\0\0", iov_len=2}, {iov_base="\313CB\375\37\316Q\222\231R`\23\353\224\315\266", iov_len=16}, {iov_base="", iov_len=0}], 6) = 48
recvfrom(9, 0x61e160d23390, 8, 0, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=9, events=POLLIN}], 1, -1) = 1 ([{fd=9, revents=POLLIN}])
recvfrom(9, "\1\0\v\0\0\0\23\10", 8, 0, NULL, NULL) = 8
recvfrom(9, "\225\245\270\0\0\0`\t\377\377\37\0\0\1\0\0\24\0\377\377\1\7\0\0 \10\377\0\0\0\0"..., 8268, 0, NULL, NULL) = 8268
poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLOUT}])
writev(9, [{iov_base="b\0\5\0\f\0\0\0BIG-REQUESTS", iov_len=20}], 1) = 20
poll([{fd=9, events=POLLIN}], 1, -1) = 1 ([{fd=9, revents=POLLIN}])
recvmsg(9, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\1\0\0\0\0\0\1\205\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLOUT}])
writev(9, [{iov_base="\205\0\1\0", iov_len=4}], 1) = 4
poll([{fd=9, events=POLLIN}], 1, -1) = 1 ([{fd=9, revents=POLLIN}])
recvmsg(9, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\2\0\0\0\0\0\377\377?\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(9, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLOUT}])
writev(9, [{iov_base="7\0\5\0\0\0`\t\f\6\0\0\10\0\0\0\377\377\377\0\24\0\6\0\f\6\0\0\27\0\0\0"..., iov_len=44}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 44
poll([{fd=9, events=POLLIN}], 1, -1) = 1 ([{fd=9, revents=POLLIN}])
recvmsg(9, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\10\4\0\0\0\0\0\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(9, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLOUT}])
writev(9, [{iov_base="b\0\5\0\t\0`\t", iov_len=8}, {iov_base="XKEYBOARD", iov_len=9}, {iov_base="\0\0\0", iov_len=3}], 3) = 20
poll([{fd=9, events=POLLIN}], 1, -1) = 1 ([{fd=9, revents=POLLIN}])
recvmsg(9, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\5\0\0\0\0\0\1\207U\211\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(9, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(9, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=9, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=9, revents=POLLOUT}])
writev(9, [{iov_base="\207\0\2\0\1\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=9, events=POLLIN}], 1, -1) = 1 ([{fd=9, revents=POLLIN}])
recvmsg(9, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\1\6\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(9, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(9, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
...
```

Essentially, it creates the Unix socket (FD 9) to connect to the X server, but polling it always returns EAGAIN, so from my understanding, it is stuck on a loop, unable to initialize the GUI.
I am aware that this is possibly not a bug on your end, but it would be nice to get some pointers on what to do, or how to fix it.
Steps To ReproduceIt's probably an environment issue, so I'm not sure how you would reproduce it on your end. I am running pipewire, with pipewire-jack and pipewire-alsa installed.
Tags8.6, GUI, ui

Activities

x42

2024-07-20 22:58

administrator   ~0028825

I've never seen this before.

Does this happen when Ardour calls XOpenDisplay the very first time?
Are you using xwayland, or Xorg? If wayland: do other X11 apps work? xclock, xterm

If this is a distro build, are official Ardour binaries also affected?
(you can test with a demo from https://nightly.ardour.org which installs to /opt and can be installed in parallel to distro builds)

cartoonraccoon

2024-07-23 02:41

reporter   ~0028832

I'm on Xorg, but I also have wayland compositors and Ardour doesn't work there either.

I've installed the nightly demo, and the installer warned me that my system doesn't have realtime support. The same problem also occurs on the nightly build.

cartoonraccoon

2024-07-23 04:28

reporter   ~0028833

Out of desperation, I installed the GNOME DE (I was using the Qtile WM beforehand) and it works now, along with a host of other apps that didn't work beforehand. I had a feeling that the issue was involved with my system, and I guess I was right.

Can I ask what component allowed them to work again? I'm not sure what GNOME (or any other DE) has that I'm missing in my qtile setup, that prevented them from working.

In any case, you can close this bug report.
Thanks!

x42

2024-07-23 15:53

administrator   ~0028836

I'm glad you managed to got it working.

Issue History

Date Modified Username Field Change
2024-07-18 04:47 cartoonraccoon New Issue
2024-07-18 04:47 cartoonraccoon Tag Attached: 8.6
2024-07-18 04:47 cartoonraccoon Tag Attached: GUI
2024-07-18 04:47 cartoonraccoon Tag Attached: ui
2024-07-20 22:58 x42 Note Added: 0028825
2024-07-23 02:41 cartoonraccoon Note Added: 0028832
2024-07-23 04:28 cartoonraccoon Note Added: 0028833
2024-07-23 15:53 x42 Assigned To => x42
2024-07-23 15:53 x42 Status new => resolved
2024-07-23 15:53 x42 Resolution open => no change required
2024-07-23 15:53 x42 Note Added: 0028836