Swupd update 'Bus error'

I originally posted this error in the Q&A section several days (and CL versions) ago. However, seeing as that post didn’t receive a response I’m posting it here with the hope someone might be able to help. Fingers crossed…

Periodically, and usually after searching this forum for any major system update issues, I manually update with swupd (I’ve been updating this way ever since the update clusterfu*k that occurred last year).

Satisfied there were no major problems, I ran the usual swupd update command in order to update from 35210 to 35550.

After downloading and extracting the required packages swupd update fails with the following message:

$ sudo swupd update
...
Finishing packs extraction...
Bus error

Does anyone know what this error is and how to resolve it?
… swupd clean and swupd repair don’t help!

Any help would be greatly appreciated - cheers :slight_smile:

post hardware info (cpu and ram)
run sudo swupd update --debug and post output

(you might have a better chance of getting help on github)

@cleart Thanks for responding.

The swupd --debug command output is likely going to be many thousands of lines long (the command has been running for over five minutes so far, and is still going…)!

Could this be related to cURL in some way? The --debug command has multiple instances of cURL errors, eg.:

Debug: Curl - process_curl_error_codes: curl_ret = 22, response = 404.

cURL has been an ever present and ongoing issue each time that I (successfully) ran swupd update - that is, before this bus error occured - with cURL eventually timing out and allowing the update to continue as normal.

Any thoughts?

can you post the output anyway? as much as you can of it anyway.
also hardware info.
what happens when you execute curl -O example.com ?
at what time(s) did things change between successful/unsuccessful execution of swupd update ?

(you might have a better chance of getting help on github)

@cleart Thanks again. I’ll post as much of the swupd update output as I can (once it’s done…)

In the meantime, here is the output from the curl command:

curl: Remote file name has no length!
curl: (23) Failed writing received data to disk/application

Cheers :slight_smile:

you can interrupt the process with Control + C
what happens when you try to add a bundle ( e.g. sudo swupd bundle-add vim-minimal)

(you might have a better chance of getting help on github)

@cleart Here is the output from swupd update --debug:

2022-01-06 01:36:00 (src/swupd_lib/progress.c:223)Debug: Current step name: load_manifests
2022-01-06 01:36:00 (src/swupd_lib/progress.c:224)Debug: Current step number: 1 (out of 10)
2022-01-06 01:36:00 (src/cmds/update.c:276)       Update started
2022-01-06 01:36:00 (src/swupd_lib/curl.c:204)    Debug: Initializing swupd curl library
2022-01-06 01:36:00 (src/swupd_lib/curl.c:139)    Debug: Curl - check_connection url: https://cdn.download.clearlinux.org/update/version/format30/latest
2022-01-06 01:36:01 (src/swupd_lib/curl.c:575)    Debug: Curl - Start sync download: https://cdn.download.clearlinux.org/update/version/format30/latest -> <memory>
2022-01-06 01:36:02 (src/swupd_lib/curl.c:436)    Debug: Curl - process_curl_error_codes: curl_ret = 0, response = 200
2022-01-06 01:36:02 (src/swupd_lib/curl.c:584)    Debug: Curl - Complete sync download: https://cdn.download.clearlinux.org/update/version/format30/latest -> <memory>, status=0
2022-01-06 01:36:02 (src/swupd_lib/progress.c:53)     
2022-01-06 01:36:02 (src/swupd_lib/curl.c:575)    Debug: Curl - Start sync download: https://cdn.download.clearlinux.org/update/version/format30/latest.sig -> <memory>
2022-01-06 01:36:03 (src/swupd_lib/curl.c:436)    Debug: Curl - process_curl_error_codes: curl_ret = 0, response = 200
2022-01-06 01:36:03 (src/swupd_lib/curl.c:584)    Debug: Curl - Complete sync download: https://cdn.download.clearlinux.org/update/version/format30/latest.sig -> <memory>, status=0
2022-01-06 01:36:03 (src/swupd_lib/progress.c:53)     
2022-01-06 01:36:03 (src/cmds/update.c:304)       Preparing to update from 35210 to 35550
2022-01-06 01:36:03 (src/lib/sys.c:87)            Debug: Running command -  /bin/mkdir -p //var/tmp/swupd
2022-01-06 01:36:11 (src/swupd_lib/progress.c:223)Debug: Current step name: run_preupdate_scripts
2022-01-06 01:36:11 (src/swupd_lib/progress.c:224)Debug: Current step number: 2 (out of 10)
2022-01-06 01:36:11 (src/swupd_lib/progress.c:223)Debug: Current step name: download_packs
2022-01-06 01:36:11 (src/swupd_lib/progress.c:224)Debug: Current step number: 3 (out of 10)
2022-01-06 01:36:11 (src/swupd_lib/packs.c:262)   No packs need to be downloaded
2022-01-06 01:36:11 (src/swupd_lib/progress.c:223)Debug: Current step name: extract_packs
2022-01-06 01:36:11 (src/swupd_lib/progress.c:224)Debug: Current step number: 4 (out of 10)
2022-01-06 01:36:11 (src/swupd_lib/progress.c:127) [100%]
2022-01-06 01:36:11 (src/swupd_lib/progress.c:129)
2022-01-06 01:36:11 (src/swupd_lib/progress.c:129)
2022-01-06 01:36:11 (src/swupd_lib/progress.c:223)Debug: Current step name: prepare_for_update
2022-01-06 01:36:11 (src/swupd_lib/progress.c:224)Debug: Current step number: 5 (out of 10)
Bus error

The vim-minimal bundle installed fine.

I have a feeling this will turn out to be a mishandled null pointer, possibly part of curl’s URL self-test routines?

@cleart Hardware info is as follows:

H/W path         Device     Class       Description
===================================================
                            system      To be filled by O.E.M. (To be filled by O.E.M.)
/0                          bus         F2A88XN-WIFI
/0/0                        memory      64KiB BIOS
/0/23                       memory      8GiB System Memory
/0/23/0                     memory      [empty]
/0/23/1                     memory      4GiB DIMM DDR3 Synchronous Unbuffered (Unregistere
/0/23/2                     memory      [empty]
/0/23/3                     memory      4GiB DIMM DDR3 Synchronous Unbuffered (Unregistere
/0/2f                       memory      96KiB L1 cache
/0/30                       memory      1MiB L2 cache
/0/39                       processor   AMD A6-6400K APU with Radeon(tm) HD Graphics
/0/100                      bridge      Family 15h (Models 10h-1fh) Processor Root Complex
/0/100/0.2                  generic     Family 15h (Models 10h-1fh) I/O Memory Management 
/0/100/1                    display     Richland [Radeon HD 8470D]
/0/100/1.1                  multimedia  Trinity HDMI Audio Controller
/0/100/2                    bridge      Family 15h (Models 10h-1fh) Processor Root Port
/0/100/2/0       enp1s0     network     RTL8111/8168/8411 PCI Express Gigabit Ethernet Con
/0/100/10                   bus         FCH USB XHCI Controller
/0/100/10/0      usb3       bus         xHCI Host Controller
/0/100/10/1      usb4       bus         xHCI Host Controller
/0/100/10.1                 bus         FCH USB XHCI Controller
/0/100/10.1/0    usb5       bus         xHCI Host Controller
/0/100/10.1/0/1             input       USB Receiver
/0/100/10.1/0/2             input       Wireless Receiver
/0/100/10.1/1    usb6       bus         xHCI Host Controller
/0/100/11                   storage     FCH SATA Controller [AHCI mode]
/0/100/12                   bus         FCH USB OHCI Controller
/0/100/12.2                 bus         FCH USB EHCI Controller
/0/100/12.2/1    usb1       bus         EHCI Host Controller
/0/100/13                   bus         FCH USB OHCI Controller
/0/100/13.2                 bus         FCH USB EHCI Controller
/0/100/13.2/1    usb2       bus         EHCI Host Controller
/0/100/14                   bus         FCH SMBus Controller
/0/100/14.1                 storage     FCH IDE Controller
/0/100/14.2                 multimedia  FCH Azalia Controller
/0/100/14.3                 bridge      FCH LPC Bridge
/0/100/14.4                 bridge      FCH PCI Bridge
/0/100/14.5                 bus         FCH USB OHCI Controller
/0/100/15                   bridge      Hudson PCI to PCI bridge (PCIE port 0)
/0/100/15/0      wlp3s0     network     Wireless 7260
/0/101                      bridge      Family 15h (Models 10h-1fh) Processor Function 0
/0/102                      bridge      Family 15h (Models 10h-1fh) Processor Function 1
/0/103                      bridge      Family 15h (Models 10h-1fh) Processor Function 2
/0/104                      bridge      Family 15h (Models 10h-1fh) Processor Function 3
/0/105                      bridge      Family 15h (Models 10h-1fh) Processor Function 4
/0/106                      bridge      Family 15h (Models 10h-1fh) Processor Function 5
/0/1             scsi2      storage     
/0/1/0.0.0       /dev/sda   disk        1TB WDC WD10EZEX-00B
/0/1/0.0.0/1     /dev/sda1  volume      931GiB EXT4 volume
/0/2             scsi3      storage     
/0/2/0.0.0       /dev/sdb   disk        1TB WDC WD10EZEX-00W
/0/2/0.0.0/1     /dev/sdb1  volume      141MiB Windows FAT volume
/0/2/0.0.0/2     /dev/sdb2  volume      243MiB Linux swap volume
/0/2/0.0.0/3     /dev/sdb3  volume      931GiB EXT4 volume

Thanks again.

“no packs need to be downloaded” seems strange. what is the output of swupd bundle list ?

i dont think curl is the problem. there were no curl errors in your swupd update --debug

(you might have a better chance of getting help on github)

perhaps try swupd repair -V 35210

(you might have a better chance of getting help on github)

@cleart Apologies for my late reply.

Below is the bundle-list output:

Installed bundles:
 - Babel
 - LibreCAD
 - MuseScore
 - NetworkManager
 - NetworkManager-extras
 - Sphinx
 - acpica-unix2
 - alsa-utils
 - baobab
 - bc
 - binutils
 - bison
 - bootloader
 - c-basic
 - cheese
 - cloc
 - cloud-api
 - clr-network-troubleshooter
 - cpio
 - curl
 - desktop
 - desktop-apps
 - desktop-assets
 - desktop-assets-extras
 - desktop-autostart
 - desktop-gnomelibs
 - desktop-locales
 - dev-utils
 - dev-utils-dev
 - devhelp
 - devpkg-LVM2
 - devpkg-SDL
 - devpkg-Vulkan-Loader
 - devpkg-acl
 - devpkg-alsa-lib
 - devpkg-at-spi2-atk
 - devpkg-at-spi2-core
 - devpkg-atk
 - devpkg-attr
 - devpkg-audit
 - devpkg-base
 - devpkg-boost
 - devpkg-bzip2
 - devpkg-cairo
 - devpkg-compat-fuse-soname2
 - devpkg-cryptsetup
 - devpkg-cups
 - devpkg-curl
 - devpkg-dbus
 - devpkg-e2fsprogs
 - devpkg-elfutils
 - devpkg-expat
 - devpkg-fontconfig
 - devpkg-freeglut
 - devpkg-freetype
 - devpkg-fribidi
 - devpkg-fuse
 - devpkg-gc
 - devpkg-gdk-pixbuf
 - devpkg-glew
 - devpkg-glib
 - devpkg-glu
 - devpkg-gnu-efi
 - devpkg-gnutls
 - devpkg-gobject-introspection
 - devpkg-googletest
 - devpkg-graphite
 - devpkg-gsettings-desktop-schemas
 - devpkg-gsl
 - devpkg-gtk-doc
 - devpkg-gtk3
 - devpkg-guile
 - devpkg-harfbuzz
 - devpkg-icu4c
 - devpkg-iptables
 - devpkg-json-c
 - devpkg-json-glib
 - devpkg-kmod
 - devpkg-libX11
 - devpkg-libXScrnSaver
 - devpkg-libXcursor
 - devpkg-libXft
 - devpkg-libXmu
 - devpkg-libXpm
 - devpkg-libXres
 - devpkg-libXt
 - devpkg-libXtst
 - devpkg-libXv
 - devpkg-libarchive
 - devpkg-libavif
 - devpkg-libcap
 - devpkg-libcap-ng
 - devpkg-libcgroup
 - devpkg-libcroco
 - devpkg-libdatrie
 - devpkg-libdrm
 - devpkg-libepoxy
 - devpkg-libevent
 - devpkg-libffi
 - devpkg-libgcrypt
 - devpkg-libgd
 - devpkg-libgpg-error
 - devpkg-libidn
 - devpkg-libidn2
 - devpkg-libinput
 - devpkg-libjpeg-turbo
 - devpkg-libmicrohttpd
 - devpkg-libmnl
 - devpkg-libnetfilter_conntrack
 - devpkg-libnfnetlink
 - devpkg-libnftnl
 - devpkg-libpciaccess
 - devpkg-libpipeline
 - devpkg-libpng
 - devpkg-libpthread-stubs
 - devpkg-libseccomp
 - devpkg-libssh
 - devpkg-libtasn1
 - devpkg-libthai
 - devpkg-libtirpc
 - devpkg-libunwind
 - devpkg-libva
 - devpkg-libwebp
 - devpkg-libxkbcommon
 - devpkg-libxml2
 - devpkg-libxslt
 - devpkg-llvm
 - devpkg-lz4
 - devpkg-mesa
 - devpkg-metrics-discovery
 - devpkg-mutter
 - devpkg-ncurses
 - devpkg-nettle
 - devpkg-nghttp2
 - devpkg-numactl
 - devpkg-openmpi
 - devpkg-openssl
 - devpkg-p11-kit
 - devpkg-pango
 - devpkg-pcre
 - devpkg-pcre2
 - devpkg-pixman
 - devpkg-polkit
 - devpkg-popt
 - devpkg-postgresql
 - devpkg-pygobject
 - devpkg-qtbase
 - devpkg-readline
 - devpkg-shared-mime-info
 - devpkg-sqlite-autoconf
 - devpkg-subunit
 - devpkg-systemd
 - devpkg-tiff
 - devpkg-util-linux
 - devpkg-util-macros
 - devpkg-valgrind
 - devpkg-wayland
 - devpkg-wayland-protocols
 - devpkg-xcb-proto
 - devpkg-xorgproto
 - devpkg-xtrans
 - devpkg-xz
 - devpkg-zlib
 - devpkg-zstd
 - diffutils
 - dnf
 - docbook-utils
 - docutils
 - dosfstools
 - doxygen
 - dpdk
 - emacs-x11
 - eog
 - ethtool
 - evince
 - evolution
 - file
 - file-roller
 - findutils
 - firefox
 - flac
 - flatpak
 - flex
 - fluidsynth
 - fonts-basic
 - fuse
 - gdb
 - geary
 - gedit
 - ghostscript
 - gimp
 - git
 - gjs
 - glibc-locale
 - gnome-base-libs
 - gnome-calculator
 - gnome-characters
 - gnome-clocks
 - gnome-color-manager
 - gnome-disk-utility
 - gnome-font-viewer
 - gnome-logs
 - gnome-music
 - gnome-photos
 - gnome-screenshot
 - gnome-system-monitor
 - gnome-todo
 - gnome-weather
 - gparted
 - gpgme
 - graphviz
 - gstreamer
 - guile
 - gvim
 - gzip
 - hardware-bluetooth
 - hardware-printing
 - hardware-uefi
 - htop
 - icdiff
 - inkscape
 - inotify-tools
 - intltool
 - iperf
 - iproute2
 - iptables
 - java-basic
 - jq
 - kbd
 - kernel-install
 - kernel-native
 - less
 - lib-imageformat
 - lib-opengl
 - lib-openssl
 - lib-qt5webengine
 - lib-samba
 - libX11client
 - libglib
 - libreoffice
 - libstdcpp
 - libva-utils
 - libxslt
 - lightdm
 - linux-firmware
 - linux-firmware-extras
 - linux-firmware-wifi
 - linux-tools
 - llvm
 - lynx
 - make
 - man-pages
 - minicom
 - mpg123
 - nasm
 - nautilus
 - net-tools
 - network-basic
 - nfs-utils
 - nodejs-basic
 - openblas
 - openldap
 - openssh-client
 - openssh-server
 - openssl
 - openvswitch
 - os-core
 - os-core-dev
 - os-core-plus
 - os-core-update
 - os-core-webproxy
 - p11-kit
 - package-utils
 - pandoc
 - parallel
 - parted
 - patch
 - perl-basic
 - perl-basic-dev
 - pmdk
 - polkit
 - powertop
 - procps-ng
 - pulseaudio
 - pygobject
 - python-extras
 - python2-basic
 - python3-basic
 - python3-tcl
 - qemu-guest-additions
 - qt-basic
 - qt-core
 - rsync
 - samba
 - sddm
 - seahorse
 - smartmontools
 - socat
 - sshfs
 - storage-utils
 - strace
 - stream-server
 - subversion
 - sudo
 - sysadmin-basic
 - syslinux
 - tcl-basic
 - texinfo
 - texlive
 - the_silver_searcher
 - thermal_daemon
 - thunderbird
 - tmux
 - totem
 - tzdata
 - uget
 - unzip
 - v4l-utils
 - valgrind
 - vim
 - vim-minimal
 - vlc
 - webkitgtk
 - wget
 - which
 - wine
 - wpa_supplicant
 - x11-server
 - x11-tools
 - x11vnc
 - xfce4-desktop
 - xfsprogs
 - xscreensaver
 - xterm
 - xz
 - yarn
 - yasm
 - znc
 - zstd

Total: 339

Running swupd repair -v 35210 we get the following output:

Diagnosing version 35210
Downloading missing manifests...
    
Checking for corrupt files
Bus error

Any ideas? I’m lost with this one…

Edit: And yeah, swupd repair issues the above Bus error, and swupd clean results in nothing of significance, as below:

18239 files removed
365.42 MB freed

Cheers.

here is from my update from 35210 to 35550

2022-01-05 17:26:52 (src/swupd_lib/packs.c:286)   Downloading packs for:
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - editors
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - emacs
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - ethtool
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - file
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - findutils
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - glibc-locale
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - gzip
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - htop
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - iperf
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - iproute2
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - iptables
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - joe
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - kbd
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - kernel-install
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - lib-openssl
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - libglib
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - libstdcpp
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - linux-firmware-wifi
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - man-pages
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - minicom
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - net-tools
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - network-basic
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - openssh-client
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - openssh-server
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - openssl
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - openvswitch
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - os-core
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - os-core-plus
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - os-core-update
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - os-core-webproxy
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - p11-kit
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - parallel
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - patch
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - perl-basic
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - powertop
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - procps-ng
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - python3-basic
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - qemu-guest-additions
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - rsync
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - socat
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - strace
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - sudo
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - sysadmin-basic
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - syslinux
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - systemd-networkd-autostart
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - tmux
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - tzdata
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - unzip
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - vim
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - wget
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - which
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - wpa_supplicant
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - xz
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - znc
2022-01-05 17:26:52 (src/swupd_lib/packs.c:291)    - zstd

as you can see, some of your bundles were updated from 35210 to 35550. the fact that your output was “no packs need to be downloaded” means that something is broken.

you should have a file on your system - /var/tmp/swupd/Manifest.MoM - can i see it ?

can you post the output of swupd repair -V 35210 --debug ?
if the output it too big can you direct the output to a file and post the file ?

what is the output of cat /usr/share/clear/version ?

i probably cant help you, but you can always backup your files and reinstall the system

you may want to open an issue at clearlinux/swupd-client

do you remember ever interrupting a swupd update ?

@cleart I don’t think I’ve ever interrupted the update process, but it’s possible I’ve done so, though not recently.

Thanks for your input, but I think I’m going to have to prepare myself for a deep dive down a rabbit-hole and investigate if there are any possibilities to manually modify the manifest or update or downgrade packages, etc…

If I am successful I’ll post an update and dedicated post for anyone else with the same problem.

The swupd Bus error is very non-specific, so I’m not expecting much in the way of success. I just don’t get how a Linux system can be incapable of version updating these days - I thought this was one of the alleged benefits ‘sandboxed’ user software (Packages, Flatpak, etc…) was meant to prevent!

Thanks again :).

I don’t think the “Bus error” is specific to the swupd software. I think its a SIGBUS

Good luck.