Skip to content
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

[Arch] Broken installation (FAIL: test_local_snapshot_is_successful) #1421

Closed
matypist opened this issue Apr 8, 2023 · 15 comments
Closed

[Arch] Broken installation (FAIL: test_local_snapshot_is_successful) #1421

matypist opened this issue Apr 8, 2023 · 15 comments
Labels
Bug Discussion decision or consensus needed Infrastructure Wayland Issues related to Wayland-based desktop environments
Milestone

Comments

@matypist
Copy link

matypist commented Apr 8, 2023

OS: Arch Linux x86_64
Kernel: 6.1.22-1-lts
DE: Plasma 5.27.4
CPU: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx (8) @ 2.100GHz
Python: 3.10.10

Tried installing through Octopi / yay but got the following error:

python -m unittest  -b test/test_backintime.py
WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
.Fs
======================================================================
FAIL: test_local_snapshot_is_successful (test.test_backintime.TestBackInTime)
end to end test - from BIT initialization through snapshot
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/matypist/.cache/yay/backintime/src/backintime-1.3.3/common/test/test_backintime.py", line 147, in test_local_snapshot_is_successful
    self.assertRegex(filtered_log_output, re.compile(r'''INFO: Lock
AssertionError: Regex didn't match: 'INFO: Lock\nINFO: Take a new snapshot. Profile: 1 Main profile\nINFO: Call rsync to take the snapshot\nINFO: Save config file\nINFO: Save permissions\nINFO: Create info file\nINFO: Unlock\n' not found in 'INFO: Lock\nINFO: Take a new snapshot. Profile: 1 Main profile\nINFO: Call rsync to take the snapshot\nINFO: Save config file\nINFO: Save permissions\nINFO: Create info file\nwarning: queue 0x561120d68540 destroyed while proxies still attached:\n  wl_display@1 still attached\nINFO: Unlock\n'

----------------------------------------------------------------------
Ran 3 tests in 3.277s

FAILED (failures=1, skipped=1)
make: *** [Makefile:570: unittest] Error 1
==> ERROR: A failure occurred in check().
    Aborting...
 -> error making: backintime-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
backintime-cli - exit status 4
backintime - exit status 4

@matypist matypist changed the title [Arch] FAIL: test_local_snapshot_is_successful [Arch] Broken installation (FAIL: test_local_snapshot_is_successful) Apr 8, 2023
@buhtz
Copy link
Member

buhtz commented Apr 8, 2023

Dear matypist,
thanks for reporting.

Can you please specify the installation source. There are different Arch/AUR packages of git available.

@buhtz
Copy link
Member

buhtz commented Apr 8, 2023

Regex does look for

INFO: Lock
INFO: Take a new snapshot. Profile: 1 Main profile
INFO: Call rsync to take the snapshot
INFO: Save config file
INFO: Save permissions
INFO: Create info file
INFO: Unlock

The real output was:

INFO: Lock
INFO: Take a new snapshot. Profile: 1 Main profile
INFO: Call rsync to take the snapshot
INFO: Save config file
INFO: Save permissions
INFO: Create info file
warning: queue 0x561120d68540 destroyed while proxies still attached:
  wl_display@1 still attached
  INFO: Unlock

Seems to be something with display manager. This is @aryoda 's area of topic. My this wayland issue be relevant?

Can you tell us more about your setup, display manager, etc?

@buhtz buhtz added Infrastructure Discussion decision or consensus needed Bug Feedback needs user response, may be closed after timeout without a response Wayland Issues related to Wayland-based desktop environments labels Apr 8, 2023
@buhtz buhtz added this to the upcoming release (1.3.4) milestone Apr 8, 2023
@matypist
Copy link
Author

matypist commented Apr 9, 2023

@buhtz

Can you tell us more about your setup, display manager, etc?

$ grep 'ExecStart=' /etc/systemd/system/display-manager.service
ExecStart=/usr/bin/sddm

$ echo $DESKTOP_SESSION
plasmawayland

@matypist
Copy link
Author

matypist commented Apr 9, 2023

@buhtz

Can you please specify the installation source. There are different Arch/AUR packages of git available.

@matypist
Copy link
Author

matypist commented Apr 9, 2023

UPDATE: fixed itself after a pacman update of all installed packages, completed the installation successfully

@matypist matypist closed this as completed Apr 9, 2023
@topas-rec
Copy link

topas-rec commented Apr 15, 2023

Still fails for me. Can you assist me in finding the cause please?
Installation source are both I guess. I do an update through yay. In the logs I've attached I cannot see it building backintime-cli somehow.

build output
[tobiasb@tobias-pc ~]$ yay --aur --sync --refresh --sysupgrade
:: Searching AUR for updates...
 -> Packages not in AUR: vino
 -> Flagged Out Of Date AUR Packages: brutefir  protontricks
:: 4 Packages to upgrade/install.
4  extra/oxygen-icons                 -> 1:5.105.0-1
3  community/python-pyfakefs          -> 5.1.0-3
2  aur/backintime             1.3.2-2 -> 1.3.3-3
1  aur/backintime-cli                 -> 1.3.3-3
==> Packages to exclude: (eg: "1 2 3", "1-3", "^4" or repo name)
 -> Excluding packages may cause partial upgrades and break systems
==> 
AUR Explicit (1): backintime-1.3.3-3
AUR Dependency (1): backintime-cli-1.3.3-3
Sync Check Dependency (2): oxygen-icons-1:5.105.0-1, python-pyfakefs-5.1.0-3
:: PKGBUILD up to date, skipping download: backintime
:: PKGBUILD up to date, skipping download: backintime
  1 backintime                               (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> A
:: Deleting (1/1): /home/tobiasb/.cache/yay/backintime
HEAD is now at 1a14ec8 Update to 1.3.3-3
warning: could not open directory 'pkg/': Permission denied
Removing backintime-1.3.3.tar.gz
Removing pkg/
Removing src/
  1 backintime                               (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
==> Making package: backintime 1.3.3-3 (Sat 15 Apr 2023 10:14:05 CEST)
==> Retrieving sources...
  -> Downloading backintime-1.3.3.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  747k    0  747k    0     0  1159k      0 --:--:-- --:--:-- --:--:-- 1159k
==> Validating source files with b2sums...
    backintime-1.3.3.tar.gz ... Passed
:: (1/1) Parsing SRCINFO: backintime
[sudo] password for tobiasb: 
:: Synchronising package databases...
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (5) python-iniconfig-2.0.0-2  python-pluggy-1.0.0-2  python-pytest-7.3.1-1  oxygen-icons-1:5.105.0-1  python-pyfakefs-5.1.0-3

Total Installed Size:  37.01 MiB

:: Proceed with installation? [Y/n] 
(5/5) checking keys in keyring                                                                                                             [#####################################################################################] 100%
(5/5) checking package integrity                                                                                                           [#####################################################################################] 100%
(5/5) loading package files                                                                                                                [#####################################################################################] 100%
(5/5) checking for file conflicts                                                                                                          [#####################################################################################] 100%
(5/5) checking available disk space                                                                                                        [#####################################################################################] 100%
:: Processing package changes...
(1/5) installing oxygen-icons                                                                                                              [#####################################################################################] 100%
(2/5) installing python-iniconfig                                                                                                          [#####################################################################################] 100%
(3/5) installing python-pluggy                                                                                                             [#####################################################################################] 100%
(4/5) installing python-pytest                                                                                                             [#####################################################################################] 100%
(5/5) installing python-pyfakefs                                                                                                           [#####################################################################################] 100%
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Updating icon theme caches...
==> Making package: backintime 1.3.3-3 (Sat 15 Apr 2023 10:14:32 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found backintime-1.3.3.tar.gz
==> Validating source files with b2sums...
    backintime-1.3.3.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting backintime-1.3.3.tar.gz with bsdtar
==> Sources are ready.
==> Making package: backintime 1.3.3-3 (Sat 15 Apr 2023 10:14:34 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting build()...
All OK. Now run:
    make
    sudo make install
msgfmt -o po/zh_TW.mo po/zh_TW.po
msgfmt -o po/zh_CN.mo po/zh_CN.po
msgfmt -o po/uk.mo po/uk.po
msgfmt -o po/tr.mo po/tr.po
msgfmt -o po/th.mo po/th.po
msgfmt -o po/sv.mo po/sv.po
msgfmt -o po/sr.mo po/sr.po
msgfmt -o po/sl.mo po/sl.po
msgfmt -o po/sk.mo po/sk.po
msgfmt -o po/ru.mo po/ru.po
msgfmt -o po/ro.mo po/ro.po
msgfmt -o po/pt.mo po/pt.po
msgfmt -o po/pt_BR.mo po/pt_BR.po
msgfmt -o po/pl.mo po/pl.po
msgfmt -o po/nn.mo po/nn.po
msgfmt -o po/nl.mo po/nl.po
msgfmt -o po/nb.mo po/nb.po
msgfmt -o po/lt.mo po/lt.po
msgfmt -o po/ko.mo po/ko.po
msgfmt -o po/jv.mo po/jv.po
msgfmt -o po/ja.mo po/ja.po
msgfmt -o po/it.mo po/it.po
msgfmt -o po/is.mo po/is.po
msgfmt -o po/id.mo po/id.po
msgfmt -o po/hu.mo po/hu.po
msgfmt -o po/hr.mo po/hr.po
msgfmt -o po/he.mo po/he.po
msgfmt -o po/gl.mo po/gl.po
msgfmt -o po/fr.mo po/fr.po
msgfmt -o po/fo.mo po/fo.po
msgfmt -o po/fi.mo po/fi.po
msgfmt -o po/eu.mo po/eu.po
msgfmt -o po/et.mo po/et.po
msgfmt -o po/es.mo po/es.po
msgfmt -o po/eo.mo po/eo.po
msgfmt -o po/en_GB.mo po/en_GB.po
msgfmt -o po/en_CA.mo po/en_CA.po
msgfmt -o po/el.mo po/el.po
msgfmt -o po/de.mo po/de.po
msgfmt -o po/da.mo po/da.po
msgfmt -o po/cs.mo po/cs.po
msgfmt -o po/ca.mo po/ca.po
msgfmt -o po/bs.mo po/bs.po
msgfmt -o po/bg.mo po/bg.po
msgfmt -o po/ar.mo po/ar.po
#man pages
for i in $(ls -1 man/C/); do case $i in *.gz|*~) continue;; *) gzip -n --best -c man/C/$i > man/C/${i}.gz;; esac; done
#config-examples
gzip -n --best -c config-example-local > config-example-local.gz
gzip -n --best -c config-example-ssh > config-example-ssh.gz
All OK. Now run:
    make
    sudo make install
#man pages
for i in $(ls -1 man/C/); do case $i in *.gz|*~) continue;; *) gzip -n --best -c man/C/$i > man/C/${i}.gz;; esac; done
==> Starting check()...
python -m unittest  -b test/test_applicationinstance.py
...................
----------------------------------------------------------------------
Ran 19 tests in 0.034s

OK
python -m unittest  -b test/test_argparser.py
.....................
----------------------------------------------------------------------
Ran 21 tests in 2.935s

OK
python -m unittest  -b test/test_backintime.py
.Fs
======================================================================
FAIL: test_local_snapshot_is_successful (test.test_backintime.TestBackInTime)
end to end test - from BIT initialization through snapshot
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tobiasb/.cache/yay/backintime/src/backintime-1.3.3/common/test/test_backintime.py", line 147, in test_local_snapshot_is_successful
    self.assertRegex(filtered_log_output, re.compile(r'''INFO: Lock
AssertionError: Regex didn't match: 'INFO: Lock\nINFO: Take a new snapshot. Profile: 1 Main profile\nINFO: Call rsync to take the snapshot\nINFO: Save config file\nINFO: Save permissions\nINFO: Create info file\nINFO: Unlock\n' not found in 'INFO: Lock\nINFO: Take a new snapshot. Profile: 1 Main profile\nINFO: Call rsync to take the snapshot\nINFO: Save config file\nINFO: Save permissions\nINFO: Create info file\nWarning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.\nINFO: Unlock\n'

----------------------------------------------------------------------
Ran 3 tests in 2.855s

FAILED (failures=1, skipped=1)
make: *** [Makefile:570: unittest] Error 1
==> ERROR: A failure occurred in check().
    Aborting...
 -> Failed to install layer, rolling up to next layer.error:error making: backintime - exit status 4
==> Making package: backintime 1.3.3-3 (Sat 15 Apr 2023 10:14:42 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found backintime-1.3.3.tar.gz
==> Validating source files with b2sums...
    backintime-1.3.3.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting backintime-1.3.3.tar.gz with bsdtar
==> Sources are ready.
==> Making package: backintime 1.3.3-3 (Sat 15 Apr 2023 10:14:45 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory...
==> Starting build()...
All OK. Now run:
    make
    sudo make install
msgfmt -o po/zh_TW.mo po/zh_TW.po
msgfmt -o po/zh_CN.mo po/zh_CN.po
msgfmt -o po/uk.mo po/uk.po
msgfmt -o po/tr.mo po/tr.po
msgfmt -o po/th.mo po/th.po
msgfmt -o po/sv.mo po/sv.po
msgfmt -o po/sr.mo po/sr.po
msgfmt -o po/sl.mo po/sl.po
msgfmt -o po/sk.mo po/sk.po
msgfmt -o po/ru.mo po/ru.po
msgfmt -o po/ro.mo po/ro.po
msgfmt -o po/pt.mo po/pt.po
msgfmt -o po/pt_BR.mo po/pt_BR.po
msgfmt -o po/pl.mo po/pl.po
msgfmt -o po/nn.mo po/nn.po
msgfmt -o po/nl.mo po/nl.po
msgfmt -o po/nb.mo po/nb.po
msgfmt -o po/lt.mo po/lt.po
msgfmt -o po/ko.mo po/ko.po
msgfmt -o po/jv.mo po/jv.po
msgfmt -o po/ja.mo po/ja.po
msgfmt -o po/it.mo po/it.po
msgfmt -o po/is.mo po/is.po
msgfmt -o po/id.mo po/id.po
msgfmt -o po/hu.mo po/hu.po
msgfmt -o po/hr.mo po/hr.po
msgfmt -o po/he.mo po/he.po
msgfmt -o po/gl.mo po/gl.po
msgfmt -o po/fr.mo po/fr.po
msgfmt -o po/fo.mo po/fo.po
msgfmt -o po/fi.mo po/fi.po
msgfmt -o po/eu.mo po/eu.po
msgfmt -o po/et.mo po/et.po
msgfmt -o po/es.mo po/es.po
msgfmt -o po/eo.mo po/eo.po
msgfmt -o po/en_GB.mo po/en_GB.po
msgfmt -o po/en_CA.mo po/en_CA.po
msgfmt -o po/el.mo po/el.po
msgfmt -o po/de.mo po/de.po
msgfmt -o po/da.mo po/da.po
msgfmt -o po/cs.mo po/cs.po
msgfmt -o po/ca.mo po/ca.po
msgfmt -o po/bs.mo po/bs.po
msgfmt -o po/bg.mo po/bg.po
msgfmt -o po/ar.mo po/ar.po
#man pages
for i in $(ls -1 man/C/); do case $i in *.gz|*~) continue;; *) gzip -n --best -c man/C/$i > man/C/${i}.gz;; esac; done
#config-examples
gzip -n --best -c config-example-local > config-example-local.gz
gzip -n --best -c config-example-ssh > config-example-ssh.gz
All OK. Now run:
    make
    sudo make install
#man pages
for i in $(ls -1 man/C/); do case $i in *.gz|*~) continue;; *) gzip -n --best -c man/C/$i > man/C/${i}.gz;; esac; done
==> Starting check()...
python -m unittest  -b test/test_applicationinstance.py
...................
----------------------------------------------------------------------
Ran 19 tests in 0.033s

OK
python -m unittest  -b test/test_argparser.py
.....................
----------------------------------------------------------------------
Ran 21 tests in 2.946s

OK
python -m unittest  -b test/test_backintime.py
.Fs
======================================================================
FAIL: test_local_snapshot_is_successful (test.test_backintime.TestBackInTime)
end to end test - from BIT initialization through snapshot
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tobiasb/.cache/yay/backintime/src/backintime-1.3.3/common/test/test_backintime.py", line 147, in test_local_snapshot_is_successful
    self.assertRegex(filtered_log_output, re.compile(r'''INFO: Lock
AssertionError: Regex didn't match: 'INFO: Lock\nINFO: Take a new snapshot. Profile: 1 Main profile\nINFO: Call rsync to take the snapshot\nINFO: Save config file\nINFO: Save permissions\nINFO: Create info file\nINFO: Unlock\n' not found in 'INFO: Lock\nINFO: Take a new snapshot. Profile: 1 Main profile\nINFO: Call rsync to take the snapshot\nINFO: Save config file\nINFO: Save permissions\nINFO: Create info file\nWarning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.\nINFO: Unlock\n'

----------------------------------------------------------------------
Ran 3 tests in 2.863s

FAILED (failures=1, skipped=1)
make: *** [Makefile:570: unittest] Error 1
==> ERROR: A failure occurred in check().
    Aborting...
 -> error making: backintime-exit status 4
==> Making package: backintime 1.3.3-3 (Sat 15 Apr 2023 10:14:53 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found backintime-1.3.3.tar.gz
==> Validating source files with b2sums...
    backintime-1.3.3.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting backintime-1.3.3.tar.gz with bsdtar
==> Sources are ready.
==> Making package: backintime 1.3.3-3 (Sat 15 Apr 2023 10:14:56 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory...
==> Starting build()...
All OK. Now run:
    make
    sudo make install
msgfmt -o po/zh_TW.mo po/zh_TW.po
msgfmt -o po/zh_CN.mo po/zh_CN.po
msgfmt -o po/uk.mo po/uk.po
msgfmt -o po/tr.mo po/tr.po
msgfmt -o po/th.mo po/th.po
msgfmt -o po/sv.mo po/sv.po
msgfmt -o po/sr.mo po/sr.po
msgfmt -o po/sl.mo po/sl.po
msgfmt -o po/sk.mo po/sk.po
msgfmt -o po/ru.mo po/ru.po
msgfmt -o po/ro.mo po/ro.po
msgfmt -o po/pt.mo po/pt.po
msgfmt -o po/pt_BR.mo po/pt_BR.po
msgfmt -o po/pl.mo po/pl.po
msgfmt -o po/nn.mo po/nn.po
msgfmt -o po/nl.mo po/nl.po
msgfmt -o po/nb.mo po/nb.po
msgfmt -o po/lt.mo po/lt.po
msgfmt -o po/ko.mo po/ko.po
msgfmt -o po/jv.mo po/jv.po
msgfmt -o po/ja.mo po/ja.po
msgfmt -o po/it.mo po/it.po
msgfmt -o po/is.mo po/is.po
msgfmt -o po/id.mo po/id.po
msgfmt -o po/hu.mo po/hu.po
msgfmt -o po/hr.mo po/hr.po
msgfmt -o po/he.mo po/he.po
msgfmt -o po/gl.mo po/gl.po
msgfmt -o po/fr.mo po/fr.po
msgfmt -o po/fo.mo po/fo.po
msgfmt -o po/fi.mo po/fi.po
msgfmt -o po/eu.mo po/eu.po
msgfmt -o po/et.mo po/et.po
msgfmt -o po/es.mo po/es.po
msgfmt -o po/eo.mo po/eo.po
msgfmt -o po/en_GB.mo po/en_GB.po
msgfmt -o po/en_CA.mo po/en_CA.po
msgfmt -o po/el.mo po/el.po
msgfmt -o po/de.mo po/de.po
msgfmt -o po/da.mo po/da.po
msgfmt -o po/cs.mo po/cs.po
msgfmt -o po/ca.mo po/ca.po
msgfmt -o po/bs.mo po/bs.po
msgfmt -o po/bg.mo po/bg.po
msgfmt -o po/ar.mo po/ar.po
#man pages
for i in $(ls -1 man/C/); do case $i in *.gz|*~) continue;; *) gzip -n --best -c man/C/$i > man/C/${i}.gz;; esac; done
#config-examples
gzip -n --best -c config-example-local > config-example-local.gz
gzip -n --best -c config-example-ssh > config-example-ssh.gz
All OK. Now run:
    make
    sudo make install
#man pages
for i in $(ls -1 man/C/); do case $i in *.gz|*~) continue;; *) gzip -n --best -c man/C/$i > man/C/${i}.gz;; esac; done
==> Starting check()...
python -m unittest  -b test/test_applicationinstance.py
...................
----------------------------------------------------------------------
Ran 19 tests in 0.033s

OK
python -m unittest  -b test/test_argparser.py
.....................
----------------------------------------------------------------------
Ran 21 tests in 2.898s

OK
python -m unittest  -b test/test_backintime.py
.Fs
======================================================================
FAIL: test_local_snapshot_is_successful (test.test_backintime.TestBackInTime)
end to end test - from BIT initialization through snapshot
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tobiasb/.cache/yay/backintime/src/backintime-1.3.3/common/test/test_backintime.py", line 147, in test_local_snapshot_is_successful
    self.assertRegex(filtered_log_output, re.compile(r'''INFO: Lock
AssertionError: Regex didn't match: 'INFO: Lock\nINFO: Take a new snapshot. Profile: 1 Main profile\nINFO: Call rsync to take the snapshot\nINFO: Save config file\nINFO: Save permissions\nINFO: Create info file\nINFO: Unlock\n' not found in 'INFO: Lock\nINFO: Take a new snapshot. Profile: 1 Main profile\nINFO: Call rsync to take the snapshot\nINFO: Save config file\nINFO: Save permissions\nINFO: Create info file\nWarning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.\nINFO: Unlock\n'

----------------------------------------------------------------------
Ran 3 tests in 2.867s

FAILED (failures=1, skipped=1)
make: *** [Makefile:570: unittest] Error 1
==> ERROR: A failure occurred in check().
    Aborting...
 -> error making: backintime-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
backintime - exit status 4
backintime-cli - exit status 4
[tobiasb@tobias-pc ~]$ 

@aryoda
Copy link
Contributor

aryoda commented Apr 15, 2023

I can see an unexpected WARNING in the unit test:

Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

I will try to find out the reason and the solution...

This unit test failure is not critical but to improve our diagnostics it would be helpful to install BiT anyhow by disabling the PKGBUILD check (or make test) if I cannot reproduce the problem and cannot find a solution...

@buhtz I think we should try to filter out such Qt5 warnings from the CLI unit tests. They are caused by the Qt5-based systray icon plugin I guess (the CLI should not have any dependency on Qt5 - I am currently fixing this in my upcoming systray icon fix - as soon as I find the time to finish this ;-)

@aryoda
Copy link
Contributor

aryoda commented Apr 15, 2023

@topas-rec Could you please provide me with the output of

  • echo $XDG_SESSION_TYPE
  • echo $QT_QPA_PLATFORM
  • echo $XDG_CURRENT_DESKTOP

Edit: I guess to install successfully you could set this env var first: export QT_QPA_PLATFORM=wayland. Somehow Qt5 chooses another platform plugin on Gnome and throws this warning. We should add this warning to the "ignore" filter of the unit test...

@topas-rec
Copy link

Thanks for your help. Sure.

$ echo $XDG_SESSION_TYPE
wayland

$ echo $QT_QPA_PLATFORM


$ echo $XDG_CURRENT_DESKTOP
GNOME

QT_QPA_PLATFORM seems emtpy.

@topas-rec
Copy link

I tried the install with export QT_QPA_PLATFORM=wayland without success.
It still fails with:

python -m unittest  -b test/test_applicationinstance.py
...................
----------------------------------------------------------------------
Ran 19 tests in 0.032s

OK
python -m unittest  -b test/test_argparser.py
.....................
----------------------------------------------------------------------
Ran 21 tests in 2.956s

OK
python -m unittest  -b test/test_backintime.py
.Fs
======================================================================
FAIL: test_local_snapshot_is_successful (test.test_backintime.TestBackInTime)
end to end test - from BIT initialization through snapshot
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tobiasb/.cache/yay/backintime/src/backintime-1.3.3/common/test/test_backintime.py", line 147, in test_local_snapshot_is_successful
    self.assertRegex(filtered_log_output, re.compile(r'''INFO: Lock
AssertionError: Regex didn't match: 'INFO: Lock\nINFO: Take a new snapshot. Profile: 1 Main profile\nINFO: Call rsync to take the snapshot\nINFO: Save config file\nINFO: Save permissions\nINFO: Create info file\nINFO: Unlock\n' not found in 'INFO: Lock\nINFO: Take a new snapshot. Profile: 1 Main profile\nINFO: Call rsync to take the snapshot\nINFO: Save config file\nINFO: Save permissions\nINFO: Create info file\nWarning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.\nqt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""\nThis application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.\n\nAvailable platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.\n\nINFO: Unlock\n'

----------------------------------------------------------------------
Ran 3 tests in 2.856s

FAILED (failures=1, skipped=1)
make: *** [Makefile:570: unittest] Error 1

I just looked at the error closer and realized there are two errors. One is
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""\nThis application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

This should be solvable by installing qt5-wayland package (from here).

Did that and it shortend the error message to this:

AssertionError: Regex didn't match: 'INFO: Lock\nINFO: Take a new snapshot. Profile: 1 Main profile\nINFO: Call rsync to take the snapshot\nINFO: Save config file\nINFO: Save permissions\nINFO: Create info file\nINFO: Unlock\n' not found in 'INFO: Lock\nINFO: Take a new snapshot. Profile: 1 Main profile\nINFO: Call rsync to take the snapshot\nINFO: Save config file\nINFO: Save permissions\nINFO: Create info file\nWarning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.\nINFO: Unlock\n'

It seems the arch repo has to add qt5-wayland to the dependencies, right?

@aryoda
Copy link
Contributor

aryoda commented Apr 15, 2023

So do I understand it right: Even after installing qt5-wayland then unit test fails because of the wayland/gnome warning?

It seems the arch repo has to add qt5-wayland to the dependencies, right?

Yes, I'd say so, even though I think there may be discussions then that wayland dependencies are only required when wayland is really used as display manager - not only X11 and not when installing only BiT CLI (since this could lead to a full desktop environment installation on a headless system just because of this dependency).

I think this is a thing the package maintainer has to decide).

(Hopefully) all dependencies are documented here (and qt5wayland is mentioned there already):

https://github.com/bit-team/backintime/blob/dev/CONTRIBUTING.md#build--install

Shall I contact the package maintainer by dropping a comment here or do you want to take over the lead?

@buhtz
Copy link
Member

buhtz commented Apr 15, 2023

I'm not into all wayland/x11 details.

If you still think it might be an acceptable solution than I would filter that messages out. But I'm not sure which messages are the problem here.

@aryoda
Copy link
Contributor

aryoda commented Apr 15, 2023

@buhtz

I'm not into all wayland/x11 details.

OK, I am trying to diagnose and solve this.

If you still think it might be an acceptable solution than I would filter that messages out.

No need for you to do anything.

I am still not sure (without the warning we couldn't have found the missing dependency).

I am still analyzing the issue but the systray icon plugin is my main suspect ATM (if an old installation of BiT exists) - and this a problem of test isolation (unit tests should not trigger installed plugins which may interfere then)...

@topas-rec
Copy link

Shall I contact the package maintainer by dropping a comment here or do you want to take over the lead?

I added a comment.

So do I understand it right: Even after installing qt5-wayland then unit test fails because of the wayland/gnome warning?

The test still fails, but I think it is because of AssertionError: Regex didn't match: .

Installing qt5-wayland just removed this part of the message:

qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""\nThis application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

The following full message remains:

AssertionError: Regex didn't match: 'INFO: Lock\nINFO: Take a new snapshot. Profile: 1 Main profile\nINFO: Call rsync to take the snapshot\nINFO: Save config file\nINFO: Save permissions\nINFO: Create info file\nINFO: Unlock\n' not found in 'INFO: Lock\nINFO: Take a new snapshot. Profile: 1 Main profile\nINFO: Call rsync to take the snapshot\nINFO: Save config file\nINFO: Save permissions\nINFO: Create info file\nWarning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.\nINFO: Unlock\n'

If you still think it might be an acceptable solution than I would filter that messages out.

Since the tests fail I think filtering out these messages is not enough. Something is going wrong.

@aryoda
Copy link
Contributor

aryoda commented Apr 25, 2023

@topas-rec I have created a new issue for the remaining part of of the failing unit test since this issue is already closed (and to avoid mixing similar symptoms with different reasons in one single issue): #1429

@buhtz buhtz removed the Feedback needs user response, may be closed after timeout without a response label Jun 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Discussion decision or consensus needed Infrastructure Wayland Issues related to Wayland-based desktop environments
Projects
None yet
Development

No branches or pull requests

4 participants