localhost:~/server-bundle # ./install-server /opt/thinlinc/modules/thinlinc/tlsetup/pkginsthelp.py:248: GtkWarning: gtk_progress_set_percentage: assertion `percentage >= 0 && percentage <= 1.0' failed self . __progressbar . set_fraction ( float ( current_step ) / total_steps )
Getting this in Fedora 18 as well.
*** Bug 7652 has been marked as a duplicate of this bug. ***
From bug 7652: When installing the ThinLinc packages, the progress percentage goes above 100%. I have seen 130% followed by 200% at the end of the package installs on a RHEL8 system. The relevant algorithm in installer/modules/thinlinc/rpm.py is: > progress_cb(100*stage/stages + 100*hashes/50/stages) Where 'stages' are number of packages and 'hashes' are the number of '#' characters per line in the output from rpm. This means that when installing the last package the percentage will always exceed 100 when rpm output contains '#'.
In detail, the "stages" are the number of packages plus 2 (this is explained with that we have a prepare stage and a remove stage). It seems the 'stage' starts at 0 which means the logic is somewhat correct. However, that number is incremented for each newline found in the output from "rpm --quiet --hash --upgrade <PACKAGES>", and it seems we get more newlines than the code accounts for. In our example we got 8 packages and 11 newlines. Perhaps the output has gotten more verbose over the years. It's probably more robust to filter the lines and only look at the relevant output.
There are apparently more issues related to this bug than just exceeding 100%: - We expect 50 hashes per fully completed line when rpm (version 4.16.1.3) only gives us 33. - For each upgraded package we get an additional hashmark progress bar that is not present for packages that are installed for the first time. This results in a percentage being reported that is too low. Even though the above patch solves the problems described in this bug, we put it on hold since it does not correctly handle the above two scenarios.
I was able to get 500% when upgrading ThinLinc 4.6.0 to ThinLinc 4.14.0post on a RHEL 7 system. :)
I think we hit 600% when upgrading to 4.15.0. Top that!