With glib2 2.68 gdebi is an FTBFS (hangs)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gdebi (Debian) |
Fix Released
|
Unknown
|
|||
gdebi (Ubuntu) |
Fix Released
|
Undecided
|
Brian Murray |
Bug Description
Ubuntu https:/
https:/
The same https:/
Debian still works as they have 2.66 still
https:/
At build time it is getting stuck until a timeout kills it:
Log:
```
running build_ext
test_simple (tests.
(setup.py:7825): Gtk-WARNING **: 05:55:50.408: Error loading theme icon 'dialog-error' for stock: Icon 'dialog-error' not present in theme Yaru
E: Build killed with signal TERM after 150 minutes of inactivity
```
This is reproducible locally and the process tree looks like:
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
4 0 39842 0 20 0 9328 3000 do_wai Ss pts/2 0:00 bash
0 0 40835 39842 20 0 22136 13032 do_wai S+ pts/2 0:00 \_ /usr/bin/perl /usr/bin/debuild -i -us -uc -b
0 0 40852 40835 20 0 7392 604 pipe_w S+ pts/2 0:00 \_ tee ../gdebi_
0 0 40853 40835 20 0 25328 16328 do_wai S+ pts/2 0:00 \_ /usr/bin/perl /usr/bin/
0 0 40891 40853 20 0 7764 1616 do_wai S+ pts/2 0:00 \_ /usr/bin/make -f debian/rules build
0 0 40892 40891 20 0 24356 15260 do_wai S+ pts/2 0:00 \_ /usr/bin/perl /usr/bin/dh build --with python3 --buildsystem pybuild
0 0 41533 40892 20 0 7764 1572 do_wai S+ pts/2 0:00 \_ /usr/bin/make -f debian/rules override_
0 0 41535 41533 20 0 2620 1320 do_wai S+ pts/2 0:00 \_ /bin/sh /usr/bin/xvfb-run -a python3.9 setup.py test
4 0 41545 41535 20 0 1034648 37536 ep_pol Sl+ pts/2 0:00 \_ Xvfb :99 -screen 0 1280x1024x24 -nolisten tcp -auth /tmp/xvfb-
0 0 41560 41535 20 0 1331396 131060 poll_s Sl+ pts/2 0:01 \_ python3.9 setup.py test
From there the test is stuck.
Some debugging revealed that it does no more come back from:
GDebiGtkTestCase
-> test_lintian
-> GDebiGtk (init)
-> gio_copy_in_place
-> show_alert
That alert only happens because we run as root, but even if that is avoided
(e.g. by running as another user) then it blocks at the next message. E.g.
when failing to download.
But these blocking alerts are only secondary symptoms.
I've found that all issues come back to a check that seems wrong.
The test wants to copy a non-existing file into a temp path.
At least the current version of Gio.File hates this and errors out
g-io-error-quark: Operation not supported (15)
Maybe Gio was more tolerant in the past, but checking a non existing
file makes no sense anyway. We can guard that step a bit better than all works.
A fix could look like:
--- /home/ubuntu/
+++ /root/gdebi-
@@ -119,7 +119,8 @@
# Check file with gio
- file = self.gio_
+ if file != "" and os.path.
+ file = self.gio_
I've proposed the same to the project [1], but I'm unsure about the speed this
is picked up there.
I've also filed this in Debian for them to be aware when the 2.68 switch happens.
[1]: https:/
[2]: https:/
Related branches
- Michael Vogt: Approve
-
Diff: 13 lines (+2/-1)1 file modifiedGDebi/GDebiGtk.py (+2/-1)
summary: |
- FTBFS + With glib2 2.68 gdebi is an FTBFS (hangs) |
tags: | added: update-excuse |
Changed in gdebi (Debian): | |
status: | Unknown → New |
Changed in gdebi (Debian): | |
status: | New → Fix Released |
I went ahead and uploaded this to Impish given that the version in the release pocket also FTBFS.