fastfetch-cli / fastfetch

A maintained, feature-rich and performance oriented, neofetch like system information tool.
MIT License
11.03k stars 426 forks source link

Segfault due to wl_output listener function being NULL #457

Closed Jackaed closed 1 year ago

Jackaed commented 1 year ago

General description of bug:

Whenever I run fastfetch (default config), it gets as far as printing out my packages before it segfaults and throws the following error:

listener function for opcode 4 of wl_output is NULL

Often helpful questions:

Output of fastfetch --version:

fastfetch 1.11.0 (x86_64)

Output of fastfetch --load-config devinfo:

           `.:/ossyyyysso/:.                edward@ed-thinkpad-t14s
        .:oyyyyyyyyyyyyyyyyyyo:`            -----------------------
      -oyyyyyyyodMMyyyyyyyysyyyyo-          OS: Kubuntu 23.04 x86_64
    -syyyyyyyyyydMMyoyyyydmMMyyyyys-        Host: 21CQCTO1WW (ThinkPad T14s Gen 3)
   oyyysdMysyyyydMMMMMMMMMMMMMyyyyyyyo      Kernel: 6.2.0-20-generic
 `oyyyydMMMMysyysoooooodMMMMyyyyyyyyyo`     Uptime: 21 hours, 23 mins
 oyyyyyydMMMMyyyyyyyyyyyysdMMysssssyyyo     Packages: 4057 (dpkg), 9 (flatpak-system), 14 (flatpak-user)
-yyyyyyyydMysyyyyyyyyyyyyyysdMMMMMysyyy-    Shell: fish 3.6.0
fish: Job 1, 'fastfetch --load-config devinfo' terminated by signal SIGSEGV (Address boundary error)
edward@ed-thinkpad-t14s ~ [SIGSEGV]> 
yyysdMMMMMyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy    
oyyyyysosdyyyyyyyyyyyyyyyyyyydMMMMysyyyo    
-yyyyyyyydMysyyyyyyyyyyyyyysdMMMMMysyyy-    
 oyyyyyydMMMysyyyyyyyyyyysdMMyoyyyoyyyo    
 `oyyyydMMMysyyyoooooodMMMMyoyyyyyyyyo    
   oyyysyyoyyyysdMMMMMMMMMMMyyyyyyyyo    
    -syyyyyyyyydMMMysyyydMMMysyyyys-    
      -oyyyyyyydMMyyyyyyysosyyyyo-    
        ./oyyyyyyyyyyyyyyyyyyo/.    
           `.:/oosyyyysso/:.`    

Output of fastfetch --load-config devinfo-verbose:

           `.:/ossyyyysso/:.                edward@ed-thinkpad-t14s
        .:oyyyyyyyyyyyyyyyyyyo:`            -----------------------
      -oyyyyyyyodMMyyyyyyyysyyyyo-          OS: System: Linux; Name: Kubuntu; Pretty name: Kubuntu; ID: kubuntu; ID like: ubuntu; Variant: ; Variant ID: ; Version: 23.04 (Lunar Lobster); Version ID: 23.04; Version codename: lunar; Build ID: ; Architecture: x86_64
    -syyyyyyyyyydMMyoyyyydmMMyyyyys-        Host: Family: product_family: ThinkPad T14s Gen 3; product_name: 21CQCTO1WW; product_version: ThinkPad T14s Gen 3; product_sku: LENOVO_MT_21CQ_BU_Think_FM_ThinkPad T14s Gen 3; sys_vendor: LENOVO
   oyyysdMysyyyydMMMMMMMMMMMMMyyyyyyyo      Bios: 1.30
 `oyyyydMMMMysyysoooooodMMMMyyyyyyyyyo`     Board: 21CQCTO1WW
 oyyyyyydMMMMyyyyyyyyyyyysdMMysssssyyyo     Chassis: 10
-yyyyyyyydMysyyyyyyyyyyyyyysdMMMMMysyyy-    Kernel: Sysname: Linux; Release: 6.2.0-20-generic; Version: #20-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr  6 07:48:48 UTC 2023
oyyyysoodMyyyyyyyyyyyyyyyyyyydMMMMysyyyo    Uptime: Days: 0; Hours: 21; Minutes: 22; Seconds: 32
yyysdMMMMMyyyyyyyyyyyyyyyyyyysosyyyyyyyy    Processes: Count: 1148
yyysdMMMMMyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy    Packages: All: 4080; pacman: 0; pacman branch: ; dpkg: 4057; rpm: 0; emerge: 0; eopkg: 0; xbps: 0; apk: 0; flatpak-system: 0; flatpak-user: 0; snap: 0; brew: 0; brew-cask: 9; port: 14; scoop: 0; choco: 0
oyyyyysosdyyyyyyyyyyyyyyyyyyydMMMMysyyyo    Shell: Process name: fish; Process path: /usr/bin/fish; Process exe: fish; Process version: 3.6.0; User path: /usr/bin/fish; User exe: fish; User version: 3.6.0
fish: Job 1, 'fastfetch --load-config devinfo…' terminated by signal SIGSEGV (Address boundary error)
edward@ed-thinkpad-t14s ~ [SIGSEGV]> 
 `oyyyydMMMysyyyoooooodMMMMyoyyyyyyyyo    
   oyyysyyoyyyysdMMMMMMMMMMMyyyyyyyyo    
    -syyyyyyyyydMMMysyyydMMMysyyyys-    
      -oyyyyyyydMMyyyyyyysosyyyyo-    
        ./oyyyyyyyyyyyyyyyyyyo/.    
           `.:/oosyyyysso/:.`    

Output of fastfetch --list-features:

threads
libpci
vulkan
wayland
xcb-randr
xcb
xrandr
x11
gio
dconf
dbus
imagemagick6
zlib
xfconf
sqlite3
rpm
egl
glx
osmesa
opencl
libpulse
libnm
LinusDierheimer commented 1 year ago

Can you please post the content of the file /usr/include/wayland-version.h?

Jackaed commented 1 year ago
/*
 * Copyright © 2012 Intel Corporation
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 *
 * The above copyright notice and this permission notice (including the
 * next paragraph) shall be included in all copies or substantial
 * portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

#ifndef WAYLAND_VERSION_H
#define WAYLAND_VERSION_H

#define WAYLAND_VERSION_MAJOR 1
#define WAYLAND_VERSION_MINOR 21
#define WAYLAND_VERSION_MICRO 0
#define WAYLAND_VERSION "1.21.0"

#endif
Jackaed commented 1 year ago

Note that I've installed it via the .deb package, which was seemingly a fix for the same issue under #188.

Jackaed commented 1 year ago

I uninstalled it and tried installing via pacstall, and it is now working correctly, I probably had a missing dependency. Thank you for replying so quickly earlier!

Jackaed commented 1 year ago

When I install via Pacstall, it doesn't seem to detect my imagemagick installs, and generally recognises far fewer dependencies than the deb version. Looking through the dependency list, I seem to have all of the non-optional dependencies on my system installed, so I'm still not sure as to why this is happening.

Any ideas? I would quite like imagemagick working if possible!

Jackaed commented 1 year ago

Note the behaviour is now different, it seems to work properly with --load-config devinfo for some reason, but doesn't work correctly without it or when using devinfo-verbose.

Jackaed commented 1 year ago

Okay, installing libmagick from source and then building fastfetch from pacstall seems to have worked. Not sure what's going on with the .deb build, but glad I got it working in the end.