I can also confirm the issue. It only occurs when I select a category that has existing icon assignments.
Lockup occurs because an error dialog comes up, steals focus, but gets trapped underneath the always-on-top tag browser window. Since I have a shell extension that let me enable/disable AOT I was able to disable it and alt+tab away to get the error log:
Code:
calibre, version 5.2.0
ERROR: Unhandled exception: <b>TypeError</b>:'<' not supported between instances of 'str' and 'NoneType'
calibre 5.2 [64bit] embedded-python: True is64bit: True
Windows-10-10.0.19041-SP0 Windows ('64bit', 'WindowsPE')
('Windows', '10', '10.0.19041')
Python 3.8.5
Windows: ('10', '10.0.19041', 'SP0', 'Multiprocessor Free')
Interface language: None
Successfully initialized third party plugins: Calibre Power Search Plugin (1, 6, 0) && Clean Comments (0, 1, 0) && Comments Cleaner (0, 3, 1) && Count Pages (1, 10, 0) && Drop Search Results (1, 0, 10) && Embed Comic Metadata (1, 5, 0) && EpubCheck (0, 2, 3) && EpubMerge (2, 11, 0) && Extract ISBN (1, 5, 0) && FanFicFare (3, 23, 9) && Fantastic Fiction (1, 4, 0) && Favourites Menu (1, 0, 5) && Find Duplicates (1, 7, 2) && Generate Cover (1, 5, 25) && Goodreads (1, 5, 1) && Import List (1, 5, 1) && Job Spy (1, 0, 184) && Kobo Books (1, 8, 0) && Kobo Utilities (2, 11, 7) && KoboTouchExtended (3, 2, 15) && Library Codes (1, 0, 47) && Manage Series (1, 2, 11) && Modify ePub (1, 6, 1) && MultiColumnSearch (1, 0, 84) && Open With (1, 5, 12) && Quality Check (1, 10, 1) && Reading List (1, 6, 15) && Save To Format (0, 0, 6) && View Manager (1, 5, 7)
Traceback (most recent call last):
File "calibre_plugins.job_spy.tagbrowser_icons_dialog", line 599, in event_current_text_changed_combo_category
File "calibre_plugins.job_spy.tagbrowser_icons_dialog", line 1019, in refresh_matrix_control
File "calibre_plugins.job_spy.tagbrowser_icons_dialog", line 1285, in refresh_values_combobox_only
File "calibre_plugins.job_spy.tagbrowser_icons_dialog", line 968, in refresh_combo_boxes
TypeError: '<' not supported between instances of 'str' and 'NoneType'