Byobu creates infinite spawn of “byobu-status -> tmux” children under tmux

byobutmux

When I launch Byobu, my System Monitor shows a new tmux process with a continuously growing set of byobu-status -> tmux children eating-up all my memory…

-> tmux
-> byobu-status
-> tmux
-> byobu-status
-> tmux
-> byobu-status
-> tmux
-> …
-> …
-> …


This continues with memory growing every second, and I can't find where the issue is being triggered.

Upon booting into the system, when tmux is launched on it's own before and separately from byobu, this issue WILL NOT happen in THAT tmux session. After byobu is launched for the first time and any subsequent time following that, tmux on it's own WILL cause this issue.

I don't doubt that it's a configuration issue in some rc file, but can't for the life of me find where it is…these are the files I've tried looking through:

~/.byobu/profile.tmux

source $BYOBU_PREFIX/share/byobu/profiles/tmux

/usr/share/byobu/profiles/tmux

###############################################################################
#    tmux common profile
#      This tmux configuration profile is intended to correspond to Byobu's
#      traditional GNU Screen profile
#
#    Copyright (C) 2011 Dustin Kirkland
#
#    Authors: Dustin Kirkland <kirkland@ubuntu.com>
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, version 3 of the License.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
###############################################################################

# Initialize environment, clean up
set-environment -g BYOBU_BACKEND tmux
new-window -d byobu-janitor
set -s escape-time 0

# Change to Screen's ctrl-a escape sequence
source /usr/share/doc/tmux/examples/screen-keys.conf
# On Archlinux, this file is not under the same directory
source /usr/share/tmux/screen-keys.conf

# Add F12 to the prefix list
set -g prefix ^A,F12

# Byobu's Keybindings
source $BYOBU_PREFIX/share/byobu/keybindings/f-keys.tmux

set-option -g set-titles on
set-option -g set-titles-string '#(whoami)@#H - byobu (#S)'
set-option -g pane-active-border-bg $BYOBU_ACCENT
set-option -g pane-active-border-fg $BYOBU_ACCENT
set-option -g pane-border-fg $BYOBU_LIGHT
set-option -g history-limit 10000
set-option -g display-panes-time 150
set-option -g display-panes-colour $BYOBU_ACCENT
set-option -g display-panes-active-colour $BYOBU_HIGHLIGHT
set-option -g clock-mode-colour $BYOBU_ACCENT
set-option -g clock-mode-style 24
set-option -g mode-keys vi
set-option -g mode-bg $BYOBU_ACCENT
set-option -g mode-fg $BYOBU_LIGHT

set-window-option -g window-status-attr default
set-window-option -g window-status-bg $BYOBU_DARK
set-window-option -g window-status-fg $BYOBU_LIGHT
set-window-option -g window-status-current-attr reverse
set-window-option -g window-status-current-bg $BYOBU_DARK
set-window-option -g window-status-current-fg $BYOBU_LIGHT
set-window-option -g window-status-alert-bg $BYOBU_DARK
set-window-option -g window-status-alert-fg $BYOBU_LIGHT
set-window-option -g window-status-alert-attr bold
set-window-option -g window-status-activity-bg $BYOBU_DARK
set-window-option -g window-status-activity-fg $BYOBU_LIGHT
set-window-option -g window-status-activity-attr bold
set-window-option -g automatic-rename off
set-window-option -g aggressive-resize on
set-window-option -g monitor-activity on

# Cannot use:
#  - screen-bce, screen-256color-bce: tmux does not support bce
#  - screen-256color: vim broken without -bce
set -g default-terminal "screen"

# The following helps with Shift-PageUp/Shift-PageDown
set -g terminal-overrides 'xterm*:smcup@:rmcup@'

# Must set default-command to $SHELL, in order to not source ~/.profile
# BUG: Should *not* hardcode /bin/bash here
set -g default-command $SHELL

set -g status-bg $BYOBU_DARK
set -g status-fg $BYOBU_LIGHT
set -g status-interval 1
set -g status-left-length 256
set -g status-right-length 256
set -g status-left '#(byobu-status tmux_left)'
set -g status-right '#(byobu-status tmux_right)'
set -g message-bg $BYOBU_ACCENT
set -g message-fg white

# Allow local overrides
source $BYOBU_CONFIG_DIR/.tmux.conf

/usr/share/byobu/profiles/tmuxrc

###############################################################################
#    Load:
#     * the stock byobu profile
#     * any windows
#     * and the local byoburc (instead of .screenrc)
#    Used at startup but not profile refresh
#
#    Copyright (C) 2009-2011 Canonical Ltd.
#
#    Authors: Dustin Kirkland <kirkland@ubuntu.com>
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, version 3 of the License.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
###############################################################################

source-file $HOME/.byobu/color.tmux
source-file $BYOBU_CONFIG_DIR/profile.tmux
source-file $BYOBU_CONFIG_DIR/keybindings.tmux
source-file $HOME/.byoburc.tmux

Best Answer

This was a bug in a previous version of Byobu. It should be fixed now. If you can still reproduce it with the latest released version, then please open a bug at https://bugs.launchpad.net/byobu.

Thanks!

Related Question