Bug 1200468 - [Build 20220610] XFCE does not start up with libX11 1.8.1
[Build 20220610] XFCE does not start up with libX11 1.8.1
Status: RESOLVED FIXED
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Xfce
Current
Other Other
: P5 - None : Normal (vote)
: ---
Assigned To: Maurizio Galli
E-mail List
https://openqa.opensuse.org/tests/241...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2022-06-13 07:27 UTC by Dominique Leuenberger
Modified: 2022-07-13 03:47 UTC (History)
4 users (show)

See Also:
Found By: openQA
Services Priority:
Business Priority:
Blocker: Yes
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dominique Leuenberger 2022-06-13 07:27:53 UTC
## Observation

In Snapshot 0610, libX11 has been updated from 1.8 to 1.8.1.

The XFCE desktop failed reliably to start with this update.

For snapshot 0611, libX11 has been reverted to 1.8 (not a single other change in the snapshot) - and xfce starts up again reliably.

(KDE, also running on X, did not suffer from this problem, which is why it was not observed in stagings)


openQA test in scenario opensuse-Tumbleweed-Rescue-CD-x86_64-rescue@64bit fails in
[finish_desktop](https://openqa.opensuse.org/tests/2411380/modules/finish_desktop/steps/5)

## Test suite description



## Reproducible

Fails since (at least) Build [20220610](https://openqa.opensuse.org/tests/2411179)


## Expected result

Last good: [20220609](https://openqa.opensuse.org/tests/2409217) (or more recent)


## Further details

Always latest result in this scenario: [latest](https://openqa.opensuse.org/tests/latest?arch=x86_64&distri=opensuse&flavor=Rescue-CD&machine=64bit&test=rescue&version=Tumbleweed)
Comment 1 Stefan Dirsch 2022-06-13 07:36:55 UTC
Hmm. Maybe related to this change:

-------------------------------------------------------------------
Thu Jun  9 02:09:02 UTC 2022 - Stefan Dirsch <sndirsch@suse.com>

- Update to version 1.8.1
  This release fixes the --enable-thread-safety-constructor option to the
  configure script to work as intended.  In the previous release, the changes
  for this option may not have been enabled when the option was not specified
  or when the --enable option was specified.

  While we have enabled it by default, believing that doing so will reduce
  the number of bugs users encounter running libX11 clients, in some cases
  it may expose bugs in which clients had previously gotten away with calling
  libX11 functions while a libX11 lock is already held, and thus now deadlock,
  as discussed in https://gitlab.freedesktop.org/xorg/lib/libx11/-/issues/157 .
Comment 2 Fabian Vogt 2022-06-13 11:40:47 UTC
The fdo gitlab is currently down so I couldn't read the discussion there.

Some debugging led me to https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/369, which again links to the (unavailable) libX11 MR discussion.

xfsettingsd calls XInternAtoms from an invalid context leading to a deadlock. This happens while a grab is held, so the X server refuses new connections.

Reassigning to Xfce.
Comment 3 Fabian Vogt 2022-06-13 14:32:39 UTC
BTW, the libX11 package in the Xorg devel project got reverted to 1.8.0 alongside with openSUSE:Factory due to the package link. I branched 1.8.1 into https://build.opensuse.org/package/show/home:favogt:boo1200468/libX11 to reproduce the issue.
Comment 4 Stefan Dirsch 2022-06-15 15:37:00 UTC
Thanks. I can reproduce the hangup with 1.8.1. 

Also I can confirm that after adding

  --disable-thread-safety-constructor

configure option to libX11 1.8.1. build xfce desktop starts again.
Comment 5 Maurizio Galli 2022-07-01 03:44:34 UTC
An initial patch was made for xfsettingsd upstream. If it gets merged I will either backport it or send an update to Factory.
Comment 6 Stefan Dirsch 2022-07-05 13:00:33 UTC
(In reply to Maurizio Galli from comment #5)
> An initial patch was made for xfsettingsd upstream. If it gets merged I will
> either backport it or send an update to Factory.

Thanks. But please also update this bug. Otherwise I can never update libX11 again ...

Reassigning the bug to you ...
Comment 7 Maurizio Galli 2022-07-05 15:20:49 UTC
(In reply to Stefan Dirsch from comment #6)
> (In reply to Maurizio Galli from comment #5)
> > An initial patch was made for xfsettingsd upstream. If it gets merged I will
> > either backport it or send an update to Factory.
> 
> Thanks. But please also update this bug. Otherwise I can never update libX11
> again ...
> 
> Reassigning the bug to you ...

Yes I will post here when ready and we can coordinate both updates.
Comment 8 Maurizio Galli 2022-07-05 16:30:59 UTC
@Stefan Upstream released the fix directly into Xfce 4.16. 
SR to Factory is ready: https://build.opensuse.org/request/show/986911
Comment 9 Stefan Dirsch 2022-07-05 17:46:32 UTC
Thanks! Suddenly X11:XOrg/libX11 and openSUSE:Factory/libX11 are back 1.8.1. No idea how. Looks like the downgrade was reverted somewhow. Sorry, this is too much buildmagic to me. Maybe we can assume after checking in the xfce 4.16 everything is fine. Or we should better Buildrequire x11 >= 1.8.1 to be on the safe side?
Comment 10 Stefan Dirsch 2022-07-05 17:47:29 UTC
-BuildRequires:  pkgconfig(x11)
+BuildRequires:  pkgconfig(x11) >= 1.8.1
Comment 11 Maurizio Galli 2022-07-06 01:32:16 UTC
(In reply to Stefan Dirsch from comment #9)
> Thanks! Suddenly X11:XOrg/libX11 and openSUSE:Factory/libX11 are back 1.8.1.
> No idea how. Looks like the downgrade was reverted somewhow. 


On OBS I see Factory being at version 1.8
https://build.opensuse.org/package/show/openSUSE:Factory/libX11

I think you can just resubmit the update to Factory, I added a review for you (sndirsch) on my SR:986911 that you can review/approve when you're ready.

Sorry, this is
> too much buildmagic to me. Maybe we can assume after checking in the xfce
> 4.16 everything is fine. Or we should better Buildrequire x11 >= 1.8.1 to be
> on the safe side?

I wouldn't force 1.8.1 as BuildRequire of xfce4-settings because it technically works with lower versions too. The patch does not force you to use 1.8.1.
Comment 12 Fabian Vogt 2022-07-06 06:22:49 UTC
(In reply to Stefan Dirsch from comment #9)
> Thanks! Suddenly X11:XOrg/libX11 and openSUSE:Factory/libX11 are back 1.8.1.
> No idea how. Looks like the downgrade was reverted somewhow. Sorry, this is
> too much buildmagic to me. Maybe we can assume after checking in the xfce
> 4.16 everything is fine. Or we should better Buildrequire x11 >= 1.8.1 to be
> on the safe side?

The upgrade was also reverted in the devel project, see comment 3.

I made https://build.opensuse.org/request/show/986957 to restore the upgraded revision (osc sr -r 79 X11:XOrg libX11 X11:XOrg).
Comment 13 Stefan Dirsch 2022-07-06 08:01:53 UTC
(In reply to Maurizio Galli from comment #11)
> > r we should better Buildrequire x11 >= 1.8.1 to be
> > on the safe side?
> 
> I wouldn't force 1.8.1 as BuildRequire of xfce4-settings because it
> technically works with lower versions too. The patch does not force you to
> use 1.8.1.

Hopefully, yes. I haven't seen the fix, but could well be that with this fix we now really require libX11 1.8.1. Of course then we cannot provide updates for older openSUSE/SLE releases any longer with the devel project. Even worse, upstream release would have this requirement now. I think this should at least be tested.
Comment 14 Stefan Dirsch 2022-07-06 08:06:32 UTC
(In reply to Fabian Vogt from comment #12)
> (In reply to Stefan Dirsch from comment #9)
> > Thanks! Suddenly X11:XOrg/libX11 and openSUSE:Factory/libX11 are back 1.8.1.
> > No idea how. Looks like the downgrade was reverted somewhow. Sorry, this is
> > too much buildmagic to me. Maybe we can assume after checking in the xfce
> > 4.16 everything is fine. Or we should better Buildrequire x11 >= 1.8.1 to be
> > on the safe side?
> 
> The upgrade was also reverted in the devel project, see comment 3.
> 
> I made https://build.opensuse.org/request/show/986957 to restore the
> upgraded revision (osc sr -r 79 X11:XOrg libX11 X11:XOrg).

Ok. I still had it checked out and a 'osc up' still gave me 1.8.1 with the inconsistent result of RPMs built with release 1.8. Then I did this.

# osc ls X11:XOrg libX11
_link
baselibs.conf
en-locales.diff
libX11-1.8.1.tar.xz
libX11.changes
libX11.spec
p_xlib_skip_ext_env.diff
u_no-longer-crash-in-XVisualIDFromVisual.patch
# -> openSUSE:Factory libX11 (latest)
baselibs.conf
en-locales.diff
libX11-1.8.tar.xz
libX11.changes
libX11.spec
p_xlib_skip_ext_env.diff
u_no-longer-crash-in-XVisualIDFromVisual.patch

So both versions somehow checked in at the same time. After checking out again to some different location I'm back to 1.8. This behaviour is still beyond my Build Service skills. Sorry.
Comment 15 Maurizio Galli 2022-07-06 08:58:41 UTC
(In reply to Stefan Dirsch from comment #13)
> (In reply to Maurizio Galli from comment #11)
> > > r we should better Buildrequire x11 >= 1.8.1 to be
> > > on the safe side?
> > 
> > I wouldn't force 1.8.1 as BuildRequire of xfce4-settings because it
> > technically works with lower versions too. The patch does not force you to
> > use 1.8.1.
> 
> Hopefully, yes. I haven't seen the fix, but could well be that with this fix
> we now really require libX11 1.8.1. Of course then we cannot provide updates
> for older openSUSE/SLE releases any longer with the devel project. Even
> worse, upstream release would have this requirement now. I think this should
> at least be tested.

I tested it and libX11 1.8.1 is not required. Currently running the updated xfce4-settings 4.16.3 and libX11 1.8.
Comment 16 Stefan Dirsch 2022-07-06 09:10:37 UTC
Wonderful! Thanks for testing! :-) I think you can close this now.
Comment 17 OBSbugzilla Bot 2022-07-06 10:40:02 UTC
This is an autogenerated message for OBS integration:
This bug (1200468) was mentioned in
https://build.opensuse.org/request/show/986992 Factory / xfce4-settings
Comment 18 Maurizio Galli 2022-07-13 03:47:05 UTC
Issue seems resolved with latest updates of xfce4-settings and libX11