** Description changed:

+ [Impact]
+ 
+ With the addition of SIXEL support by default, tmux may crash due to
+ SIXEL images having no color or being unable to scale. This is most
+ often seen when opening neovim in a tmux session.
+ 
+ This fix will allow problematic SIXEL images to render without crashing
+ tmux, and most importantly will fix using neovim in tmux.
+ 
+ The bug is fixed through an upstream patch that adds checks for a lack
+ of colors or scalability in SIXEL images, while also freeing them
+ regardless of reflow state.
+ 
+ [Test Plan]
+ 
+ As stated by the reporter, the steps to reproduce are:
+ 
+ Steps to reproduce:
+ 1. SSH to a Noble machine
+ 2. Install latest stable release of neovim (0.10.0)
+ 3. Run tmux with 'tmux -vv' to spawn a server with verbose logging
+ 4. Run neovim with 'sudo nvim -u NONE'
+ 5. [server exited unexpectedly]
+ 
+ Observe in log (tmux-server-PID.log):
+ 1717870463.535540 input_enter_dcs
+ 1717870463.535557 screen_write_collect_flush: flushed 0 items 
(screen_write_sixelimage)
+ 1717870463.535577 tty_cmd_sixelimage: image is 1x1
+ 1717870463.535595 tty_cmd_sixelimage: clamping to 0,0-1,1
+ 1717870463.535615 fatal: xcalloc: zero size
+ 
+ The bug is fixed when tmux no longer crashes after following these
+ instructions.
+ 
+ 
+ [Where problems could occur]
+ 
+ Based on the changes added through the commit, problems would be limited
+ to sixel image rendering. Previously, images with no colors or ability
+ to scale would lead to a crash. Now, however, they cause their
+ respective functions to bail out early. Likewise no color images cause
+ sixel_print() to return NULL. If other functions calling these do not
+ handle the results properly, then this may cause new issues. Finally,
+ when resizing the screen, all images are freed and redrawn regardless of
+ reflow. This may cause changes in behavior when resizing the screen
+ without reflow enabled.
+ 
+ [Other Info]
+  
+ This bug has been fixed in Debian Sid and Oracular through the inclusion of 
individual upstream commits as patches in 3.4-3
+ 
+ [Original Description]
+ 
  Please sync tmux (main) from Oracular (main)
  
  Noble was released with 3.4 which introduced half-baked Sixel support
  enabled by default that now had two important crash fixes upstream.

** Changed in: tmux (Ubuntu Noble)
       Status: Incomplete => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2068393

Title:
  Two Sixel support fixes needed for stabilization on noble

To manage notifications about this bug go to:
https://bugs.launchpad.net/tmux/+bug/2068393/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to