Public bug reported: With default Tcl/Tk versions installed, tkcvs reliably freezes up after launching as soon as you move the mouse cursor over any of the files listed in the main panel. If you carefully avoid crossing that area, menus and other buttons do continue to function.
Running `strace` wasn't too insightful on its own, but the fact that the font in the file list attempted to update when the UI froze was a clue. Launching with `FC_DEBUG=1 tkcvs`, you can see font lookups get stuck in an infinite loop as soon as the UI freezes. Finally, digging through the Tcl source a bit looking for hints, I came across a code region which works around a bug in Tk v8.5.0 through v8.5.7, but the version check isn't written robustly enough to avoid taking effect for v8.6. On a guess, I applied the attached patch, and that seems to fix the issue. $ lsb_release -rd Description: Ubuntu 18.04.2 LTS Release: 18.04 $ apt-cache policy tkcvs tcl tk tkcvs: Installed: 8.2.3-1.1 Candidate: 8.2.3-1.1 Version table: *** 8.2.3-1.1 500 500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages 100 /var/lib/dpkg/status tcl: Installed: 8.6.0+9 Candidate: 8.6.0+9 Version table: *** 8.6.0+9 500 500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages 100 /var/lib/dpkg/status tk: Installed: 8.6.0+9 Candidate: 8.6.0+9 Version table: *** 8.6.0+9 500 500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages 100 /var/lib/dpkg/status ** Affects: tkcvs (Ubuntu) Importance: Undecided Status: New ** Patch added: "Guard for tk < v8.6" https://bugs.launchpad.net/bugs/1817571/+attachment/5241589/+files/tkcvs_ver8p6.patch ** Description changed: With default Tcl/Tk versions installed, tkcvs reliably freezes up after launching as soon as you move the mouse cursor over any of the files listed in the main panel. If you carefully avoid crossing that area, menus and other buttons do continue to function. Running `strace` wasn't too insightful on its own, but the fact that the font in the file list attempted to update when the UI froze was a clue. Launching with `FC_DEBUG=1 tkcvs`, you can see font lookups get stuck in an infinite loop as soon as the UI freezes. Finally, digging through the Tcl source a bit looking for hints, I came across a code region which works around a bug in Tk v8.5.0 through v8.5.7, but the version check isn't written robustly enough to avoid taking effect for v8.6. On a guess, I applied the attached patch, and that seems to fix the issue. $ lsb_release -rd Description: Ubuntu 18.04.2 LTS Release: 18.04 - $ tkcvs: - Installed: 8.2.3-1.1 - Candidate: 8.2.3-1.1 - Version table: - *** 8.2.3-1.1 500 - 500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages - 100 /var/lib/dpkg/status + $ apt-cache policy tkcvs tcl tk + tkcvs: + Installed: 8.2.3-1.1 + Candidate: 8.2.3-1.1 + Version table: + *** 8.2.3-1.1 500 + 500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages + 100 /var/lib/dpkg/status tcl: - Installed: 8.6.0+9 - Candidate: 8.6.0+9 - Version table: - *** 8.6.0+9 500 - 500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages - 100 /var/lib/dpkg/status + Installed: 8.6.0+9 + Candidate: 8.6.0+9 + Version table: + *** 8.6.0+9 500 + 500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages + 100 /var/lib/dpkg/status tk: - Installed: 8.6.0+9 - Candidate: 8.6.0+9 - Version table: - *** 8.6.0+9 500 - 500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages - 100 /var/lib/dpkg/status + Installed: 8.6.0+9 + Candidate: 8.6.0+9 + Version table: + *** 8.6.0+9 500 + 500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages + 100 /var/lib/dpkg/status -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1817571 Title: UI freezes To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/tkcvs/+bug/1817571/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
