Timeshift error ```GLib-GIO-CRITICAL```

Hi all,

lol just a tad stressed out here. I have the worst problem I could have, an issue with timeshift my safety net. I’ve looked into an alternative here:


the error:

~$ sudo timeshift --create --comments "before yay"
Mounted '/dev/nvme0n1p2' at '/run/timeshift/1481/backup'
Creating new snapshot...(RSYNC)
Saving to device: /dev/nvme0n1p2, mounted at path: /run/timeshift/1481/backup
Linking from snapshot: 2024-05-13_13-39-44
Syncing files with rsync...
105.69% complete (00:00:00 remaining)
(process:1481): GLib-GIO-CRITICAL **: 13:40:37.112: g_output_stream_clear_pending: assertion 'G_IS_OUTPUT_STREAM (stream)' failed

(process:1481): GLib-GIO-CRITICAL **: 13:40:37.113: g_output_stream_clear_pending: assertion 'G_IS_OUTPUT_STREAM (stream)' failed
Created control file: /run/timeshift/1481/backup/timeshift/snapshots/2024-05-13_13-40-29/info.json
RSYNC Snapshot saved successfully (8s)
Tagged snapshot '2024-05-13_13-40-29': ondemand

I’m thinking the issue may be arising from what I’ve been trying to get done and will still mean there’s ongoing instability in my system.

I’ve installed neovim and vim.plug and have some plugins etc. To meet all of the requirements of the plugins I’ve had to install python and use pip and nvm and npm. lol Honestly haven’t even checked what they are just trying to get it done.

I got a warning when installing python globally, and found a solution to install python in a virtual environment.

I’ll paste the commands I’ve been using and my configs for bash and init.vim. After doing many timeshift backups I found that the error would come after this command npm install -g neovim


# ~/.bashrc

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias vim='nvim'

# .bashrc
# Bright Red for username: ANSI escape code \[\e[1;31m\]
# Bright White for hostname: ANSI escape code \[\e[1;37m\]
# Reset color: ANSI escape code \[\e[0m\]

export PS1='\[\e[38;2;255;0;0m\]\u\[\e[0m\]@\h \W\$ '
export EDITOR='nvim'
export QT_STYLE_OVERRIDE=kvantum
export LS_COLORS='di=38;2;0;255;0:'"$LS_COLORS"

# Set the number of commands to remember in the command history
# Set the maximum number of lines contained in the history file

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
       nvm use default 2>/dev/null
       [ -x "$(command -v npm)" ] && export PATH="$(npm get prefix)/bin:$PATH"
source ~/.nvm/nvm.sh
export PATH="$PATH:$(ruby -e print Gem.user_dir)/bin"


let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
if empty(glob(data_dir . '/autoload/plug.vim'))
  silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs  https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vi    m'
  autocmd VimEnter * PlugInstall --sync | source $MYVIMRC

" Vim-plug section

call plug#begin()
" The default plugin directory will be as follows:
"   - Vim (Linux/macOS): '~/.vim/plugged'
"   - Vim (Windows): '~/vimfiles/plugged'
"   - Neovim (Linux/macOS/Windows): stdpath('data') . '/plugged'
" You can specify a custom plugin directory by passing it as the argument
"   - e.g. `call plug#begin('~/.vim/plugged')`
"   - Avoid using standard Vim directory names like 'plugin'

" Make sure you use single quotes

" Shorthand notation for GitHub; translates to https://github.com/junegunn/vim-easy-align
Plug 'junegunn/vim-easy-align'

" Any valid git URL is allowed
Plug 'https://github.com/junegunn/seoul256.vim.git'

" Using a tagged release; wildcard allowed (requires git 1.9.2 or above)
Plug 'fatih/vim-go', { 'tag': '*' }

" Using a non-default branch
Plug 'neoclide/coc.nvim', { 'branch': 'release' }

" Use 'dir' option to install plugin in a non-default directory
Plug 'junegunn/fzf', { 'dir': '~/.fzf' }

" Post-update hook: run a shell command after installing or updating the plugin
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }

" Post-update hook can be a lambda expression
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }

" If the vim plugin is in a subdirectory, use 'rtp' option to specify its path
Plug 'nsf/gocode', { 'rtp': 'vim' }

" On-demand loading: loaded when the specified command is executed
Plug 'preservim/nerdtree', { 'on': 'NERDTreeToggle' }

" On-demand loading: loaded when a file with a specific file type is opened
Plug 'tpope/vim-fireplace', { 'for': 'clojure' }

" Unmanaged plugin (manually installed and updated)
" Plug '~/my-prototype-plugin'

" Post-update hooks
Plug 'Shougo/vimproc.vim', { 'do': 'make' }
Plug 'ycm-core/YouCompleteMe', { 'do': './install.py' }
Plug 'fatih/vim-go', { 'do': ':GoInstallBinaries' }
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }

" My installed plugins
Plug 'dracula/vim', { 'as': 'dracula' }

" Initialize plugin system
" - Automatically executes `filetype plugin indent on` and `syntax enable`.
call plug#end()
" You can revert the settings after the call like so:
"   filetype indent off   " Disable file-type-specific indentation
"   syntax off            " Disable syntax highlighting

" for dependencies of plugins
let g:ruby_host_prog = '/usr/bin/ruby'
let g:node_host_prog = '/home/slim/.nvm/versions/node/v22.1.0/bin/neovim-node-host'

" Disables annoyying and unneeded warning
let g:loaded_perl_provider = 0

 "Auto select with Ctrl n or p then hit space to select DONT NEED KEYMAPPING TO SCROLL AND SELECT!

" Vim settings

" Toggle on/off highlight search with F3
nnoremap <F3> :set hlsearch!<CR>

" Enable line numbers
set number

" Enable syntax highlighting
syntax on

" Set tab spaces
set tabstop=4
set shiftwidth=4
set expandtab

" Enable mouse support
set mouse=a

" Set the default search to case insensitive
set ignorecase
set smartcase

" Enable line wrapping
set wrap

" Show command as you type
set showcmd

" Remapping the (zz) to quit without saving
nnoremap zz :q!<CR>

" Remapping Esc
inoremap kj <Esc>

syntax enable
set background=dark  " if you prefer a light background, change 'dark' to 'light'

" Set true color support
set termguicolors

" set colorscheme
colorscheme dracula

set wildmenu        " Enable enhanced command-line completion
set wildmode=full   " Show completion matches as you type

set clipboard=unnamedplus
let g:python3_host_prog = '/home/slim/venvs/neovim/bin/python3'
let g:python3_host_prog = expand('~/venvs/neovim/bin/python')


python -m venv /path/to/new/virtual/environment

source /path/to/new/virtual/environment/bin/activate

pip install --upgrade pip

pip list --outdated

pip install --upgrade pynvim

sudo pacman -S ruby

sudo pacman -S npm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

nvm ls-remote

nvm install node

npm install -g npm@latest

npm install -g neovim

After I’ve run npm install -g neovim and used the PlugUpdate commands neovim is all good after running checkhealth. But then after creating about 3 more snapshots then I get that error message.

Timeshift is what has enabled me to keep using and learning Linux. lol So it’s a disaster issue for me.

Please help.

Many thanks in advance.

I’m just going to make some food.


1 Like

yeah, in my panic I didn’t check for similar topics.

Thank you very much.

I’ll ignore it lol, forget it like it never was lol. But will come back if something is actually broken.

I’m going to do a restore on the snapshot that came with the error and other snapshots after to check they’re working.

Thank you again @ddnn!

hahaha don’t dd me

1 Like


1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.