Bug 7950 - GUI tl-setup sometimes hangs or crashes when installing dependencies
Summary: GUI tl-setup sometimes hangs or crashes when installing dependencies
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Server Installer (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.15.0
Assignee: Bugzilla mail exporter
URL:
Keywords: ossman_tester, prosaic
Depends on:
Blocks:
 
Reported: 2022-06-20 16:00 CEST by William Sjöblom
Modified: 2022-06-22 13:32 CEST (History)
0 users

See Also:
Acceptance Criteria:


Attachments

Description William Sjöblom cendio 2022-06-20 16:00:43 CEST
This was observed intermittently on Fedora 36 using server build #2708.

Given this setup, running tl-setup on a system that misses some of the required dependencies (i.e. pkginsthelp will be used), you sometimes get one of the following effects right after the installation progress bar appears:

- The application crashes:
> Fatal Python error: Segmentation fault
- Pango spews out a bunch of warnings but the installation continues just fine:
> (tl-setup.py:2748): Pango-CRITICAL **: 13:27:23.043: pango_layout_is_wrapped: assertion 'layout != NULL' failed
> 
> (tl-setup.py:2748): Pango-CRITICAL **: 13:27:23.043: pango_layout_is_ellipsized: assertion 'layout != NULL' failed
> /usr/lib/python3.10/site-packages/gi/overrides/Gtk.py:1689: Warning: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
>   return _Gtk_main(*args, **kwargs)
> 
> (tl-setup.py:2748): Pango-CRITICAL **: 13:27:23.044: pango_layout_get_context: assertion 'layout != NULL' failed
- tl-setup simply locks up indefinitely without anything being written to either stout or /var/log/tlsetup.log
Comment 2 William Sjöblom cendio 2022-06-20 16:54:07 CEST
A fix is now in place, and I can no longer reproduce the crash/hang/warnings.

The issue was likely present on all distributions and has been there since 2012. Thus, reproducing this issue may be somewhat tricky for the tester since it requires at least a handful of stars to perfectly align. Though you may have some luck attempting to reproduce it as follows:

1. Deploy F36 server from our template
2. dnf install python3-gobject gtk3 librsvg2 xauth
3. Run #2708 installer over X forwarding
4. Continue running tl-setup, clicking on through until you hit the first page
   where dependency installation takes place
5. Hopefully get hit by warnings, a crash, or a freeze right after the 
   installation progress bar is shown

If the problem is hard to reproduce, it may be enough just to check that my reasoning for pushing the UI code to the event queue is sufficient.
Comment 4 William Sjöblom cendio 2022-06-22 09:21:39 CEST
I noticed the same sequence of warnings when tl-setup was installing the first bunch of dependencies for the 4.14.0 server. This time on RHEL9.
Comment 5 Pierre Ossman cendio 2022-06-22 13:32:01 CEST
Unfortunately, I was unable to reproduce the issue. However, the fix looks good, and I could not find any other GTK code being called from the threads. We basically only do GLib.idle_add() from the thread now.

Note You need to log in before you can comment on or make changes to this bug.