gitbutlerapp / gitbutler

The GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte
https://gitbutler.com
Other
12.18k stars 472 forks source link

Crash on pop-os 22.04 / git-butler 0.10 #2553

Closed damageboy closed 2 days ago

damageboy commented 6 months ago

Crash

Running git-butler leads to a crash on pop-os 22.04 (basically ubuntu 22.04):

 git-butler

thread 'main' has overflowed its stack
fatal runtime error: stack overflow
[1]    16464 IOT instruction (core dumped)  git-butler

Installation Log/Audit Trail

Installed deb of 0.10

❯ dpkg -l git-butler
dpkg-query: warning: parsing file '/var/lib/dpkg/status' near line 8828 package 'git-butler':
 missing 'Maintainer' field
───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
       │ STDIN
───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1   │ Desired=Unknown/Install/Remove/Purge/Hold
   2   │ | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
   3   │ |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
   4   │ ||/ Name           Version      Architecture Description
   5   │ +++-==============-============-============-=================================
   6   │ ii  git-butler     0.10.0       amd64        (none)
───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
❯ dpkg -L git-butler
dpkg-query: warning: parsing file '/var/lib/dpkg/status' near line 8828 package 'git-butler':
 missing 'Maintainer' field
/usr
/usr/share
/usr/share/applications
/usr/share/applications/git-butler.desktop
/usr/share/icons
/usr/share/icons/hicolor
/usr/share/icons/hicolor/256x256@2
/usr/share/icons/hicolor/256x256@2/apps
/usr/share/icons/hicolor/256x256@2/apps/git-butler.png
/usr/share/icons/hicolor/128x128
/usr/share/icons/hicolor/128x128/apps
/usr/share/icons/hicolor/128x128/apps/git-butler.png
/usr/share/icons/hicolor/32x32
/usr/share/icons/hicolor/32x32/apps
/usr/share/icons/hicolor/32x32/apps/git-butler.png
/usr/bin
/usr/bin/git-butler
schacon commented 6 months ago

same as #2542 ?

denjell-crabnebula commented 6 months ago

I think that this has actually been resolved upstream in Tauri - @naman-crabnebula was recently working on it.

namanlp commented 6 months ago

Hi there!

No, it is not related with https://github.com/gitbutlerapp/gitbutler/issues/2542 , that one is just a warning.

The issue, most probably, is the lack of dependencies. The app is running fine at my side, both in Arch Linux ( via AppImage ) and Ubuntu ( via Deb ).

So, @damageboy , can you install prerequisites for Tauri, using

sudo apt update
sudo apt install libwebkit2gtk-4.0-dev \
    build-essential \
    curl \
    wget \
    file \
    libssl-dev \
    libgtk-3-dev \
    libayatana-appindicator3-dev \
    librsvg2-dev

( Refer : https://tauri.app/v1/guides/getting-started/prerequisites/#1-system-dependencies )

If that solves your issue, I will add dependencies for .deb package accordingly.

damageboy commented 6 months ago

Not yet:

Note that it mentions stackoverflow which would be surprising for a missing dependency?

 sudo apt update && sudo apt install libwebkit2gtk-4.0-dev \
    build-essential \
    curl \
    wget \
    file \
    libssl-dev \
    libgtk-3-dev \
    libayatana-appindicator3-dev \
    librsvg2-dev
...
Hit:33 http://apt.pop-os.org/ubuntu jammy InRelease
Hit:4 https://apt.llvm.org/jammy llvm-toolchain-jammy-16 InRelease
Hit:9 https://apt.llvm.org/jammy llvm-toolchain-jammy-17 InRelease
Hit:34 http://apt.pop-os.org/ubuntu jammy-security InRelease
Hit:35 http://apt.pop-os.org/ubuntu jammy-updates InRelease
Hit:36 http://apt.pop-os.org/ubuntu jammy-backports InRelease
Fetched 10.1 kB in 3s (3,966 B/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
22 packages can be upgraded. Run 'apt list --upgradable' to see them.
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://apt.repos.intel.com/oneapi all InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY BAC6F0C353D04109
W: Failed to fetch https://apt.repos.intel.com/oneapi/dists/all/InRelease  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY BAC6F0C353D04109
W: Some index files failed to download. They have been ignored, or old ones used instead.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
build-essential is already the newest version (12.9ubuntu3).
libayatana-appindicator3-dev is already the newest version (0.5.90-7ubuntu2).
wget is already the newest version (1.21.2-2ubuntu1).
curl is already the newest version (7.81.0-1ubuntu1.15).
file is already the newest version (1:5.41-3ubuntu0.1).
librsvg2-dev is already the newest version (2.52.5+dfsg-3ubuntu0.2).
libssl-dev is already the newest version (3.0.2-0ubuntu1.14).
libwebkit2gtk-4.0-dev is already the newest version (2.42.4-0ubuntu0.22.04.1).
libgtk-3-dev is already the newest version (3.24.33-1ubuntu2).
The following packages were automatically installed and are no longer required:
  appmenu-gtk-module-common appmenu-gtk2-module appmenu-gtk3-module dotnet-runtime-deps-7.0 gconf-service gconf-service-backend gconf2-common gir1.2-gweather-4.0 hdparm ieee-data intel-oneapi-compiler-dpcpp-cpp-2023.2.0 intel-oneapi-compiler-dpcpp-cpp-common-2023.2.0 intel-oneapi-compiler-shared-2023.2.0 intel-oneapi-compiler-shared-common-2023.2.0 intel-oneapi-dpcpp-cpp-2023.2.0
  intel-oneapi-icc-eclipse-plugin-cpp-2023.2.0 libappmenu-gtk2-parser0 libappmenu-gtk3-parser0 libappstream-glib8 libclang-rt-16-dev libcommon-sense-perl libdav1d6 libgconf-2-4 libjs-sphinxdoc libjs-underscore libjson-perl libjson-xs-perl libluajit-5.1-2 libluajit-5.1-common libopenal1:i386 libplacebo192 libpython3-dev libpython3.10-dev libsdl-image1.2 libsdl1.2debian libsndio7.0:i386 libtypes-serialiser-perl
  linux-headers-6.5.4-76060504 linux-headers-6.5.6-76060506 plymouth-theme-ubuntu-text postgresql-client-15 postgresql-client-common postgresql-common python3-netaddr sysstat vulkan-validationlayers-dev
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 22 not upgraded.
❯ git-butler

thread 'main' has overflowed its stack
fatal runtime error: stack overflow
[1]    77230 IOT instruction (core dumped)  git-butler
damageboy commented 6 months ago

FWIW, I've downloaded the .AppImage and ran it successfully.

It does "feel" like a stack overflow given that the working version starts within 10ms while the deb version which crashed with stack overflow takes a few good second (about 5) to crash, which is indicative of it doing something busy before overflowing.

naman-crabnebula commented 6 months ago

Can you please share your system details? I may test it on Pop! OS as well. Using

inxi -Fza

would be appreciated.

damageboy commented 6 months ago
System:
  Kernel: 6.6.10-76060610-generic x86_64 bits: 64 compiler: N/A
    parameters: initrd=\EFI\Pop_OS-92a09859-b82a-4502-a804-8daa4019f052\initrd.img
    root=UUID=92a09859-b82a-4502-a804-8daa4019f052 ro quiet loglevel=0
    systemd.show_status=false splash mitigations=off
  Desktop: GNOME 42.5 tk: GTK 3.24.33 wm: gnome-shell dm: GDM3 42.0
    Distro: Pop!_OS 22.04 LTS base: Ubuntu 22.04 LTS Jammy
Machine:
  Type: Laptop System: ASUSTeK product: ASUS EXPERTBOOK B9400CEA_B9400CEA
    v: 1.0 serial: <superuser required>
  Mobo: ASUSTeK model: B9400CEA v: 1.0 serial: <superuser required>
    UEFI: ASUSTeK v: B9400CEA.309 date: 09/22/2021
Battery:
  ID-1: BAT0 charge: 24.8 Wh (46.2%) condition: 53.7/66.0 Wh (81.3%)
    volts: 15.7 min: 15.7 model: ASUSTeK ASUS Battery type: Li-ion serial: N/A
    status: Discharging cycles: 295
CPU:
  Info: model: 11th Gen Intel Core i7-1165G7 bits: 64 type: MCP
    arch: Tiger Lake family: 6 model-id: 0x8C (140) stepping: 1 microcode: 0xB4
  Topology: cpus: 1x cores: 4 smt: disabled cache: L1: 320 KiB
    desc: d-4x48 KiB; i-4x32 KiB L2: 5 MiB desc: 4x1.2 MiB L3: 12 MiB
    desc: 1x12 MiB
  Speed (MHz): avg: 963 high: 1146 min/max: 400/4700 scaling:
    driver: intel_pstate governor: powersave cores: 1: 821 2: 838 3: 1146
    4: 1048 bogomips: 22425
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: gather_data_sampling status: Vulnerable
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass status: Vulnerable
  Type: spectre_v1 status: Vulnerable: __user pointer sanitization and
    usercopy barriers only; no swapgs barriers
  Type: spectre_v2
    status: Vulnerable, IBPB: disabled, STIBP: disabled, PBRSB-eIBRS: Vulnerable
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] vendor: ASUSTeK
    driver: i915 v: kernel ports: active: eDP-1 empty: DP-1,DP-2,HDMI-A-1
    bus-ID: 0000:00:02.0 chip-ID: 8086:9a49 class-ID: 0300
  Device-2: IMC Networks USB2.0 HD UVC WebCam type: USB driver: uvcvideo
    bus-ID: 3-5:3 chip-ID: 13d3:56eb class-ID: fe01 serial: <filter>
  Display: wayland server: X.org v: 1.21.1.4 with: Xwayland v: 22.1.1
    compositor: gnome-shell driver: X: loaded: modesetting unloaded: fbdev,vesa
    gpu: i915 display-ID: 0
  Monitor-1: eDP-1 model: AU Optronics built: 2020 res: 1920x1080 dpi: 158
    gamma: 1.2 size: 309x174mm (12.2x6.9") diag: 355mm (14") ratio: 16:9
    modes: 1920x1080
  OpenGL: renderer: Mesa Intel Xe Graphics (TGL GT2)
    v: 4.6 Mesa 23.3.2-1pop0~1704238321~22.04~36f1d0e direct render: Yes
Audio:
  Device-1: Intel Tiger Lake-LP Smart Sound Audio vendor: ASUSTeK
    driver: sof-audio-pci-intel-tgl
    alternate: snd_hda_intel,snd_sof_pci_intel_tgl bus-ID: 0000:00:1f.3
    chip-ID: 8086:a0c8 class-ID: 0401
  Sound Server-1: ALSA v: k6.6.10-76060610-generic running: yes
  Sound Server-2: PulseAudio v: 15.99.1 running: no
  Sound Server-3: PipeWire v: 1.0.0 running: yes
Network:
  Device-1: Intel Wi-Fi 6 AX201 driver: iwlwifi v: kernel
    bus-ID: 0000:00:14.3 chip-ID: 8086:a0f0 class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  Device-2: Intel Ethernet I219-V driver: e1000e v: kernel port: N/A
    bus-ID: 0000:00:1f.6 chip-ID: 8086:15fc class-ID: 0200
  IF: eno2 state: down mac: <filter>
  IF-ID-1: lxcbr0 state: down mac: <filter>
  IF-ID-2: virbr0 state: down mac: <filter>
  IF-ID-3: zt44xpuqac state: unknown speed: 10000 Mbps duplex: full
    mac: <filter>
  IF-ID-4: ztyxa4t4hd state: unknown speed: 10000 Mbps duplex: full
    mac: <filter>
Bluetooth:
  Device-1: Intel AX201 Bluetooth type: USB driver: btusb v: 0.8
    bus-ID: 3-10:5 chip-ID: 8087:0026 class-ID: e001
  Report: hciconfig ID: hci0 rfk-id: 2 state: up address: <filter>
    bt-v: 3.0 lmp-v: 5.2 sub-v: 20f9 hci-v: 5.2 rev: 20f9
  Info: acl-mtu: 1021:4 sco-mtu: 96:6 link-policy: rswitch sniff
    link-mode: peripheral accept
    service-classes: rendering, capturing, audio, telephony
RAID:
  Hardware-1: Intel Volume Management Device NVMe RAID Controller driver: vmd
    v: 0.6 port: N/A bus-ID: 0000:00:0e.0 chip-ID: 8086:9a0b rev:
    class-ID: 0104
Drives:
  Local Storage: total: 2.33 TiB used: 1.37 TiB (58.8%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:4 vendor: Samsung
    model: MZVLB2T0HMLB-00000 size: 1.86 TiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: EXB7201Q temp: 30.9 C scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Toshiba
    model: THNSN5512GPUK NVMe 512GB size: 476.94 GiB block-size:
    physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD
    serial: <filter> rev: 5KDA4103 temp: 36.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 1.85 TiB size: 1.82 TiB (98.37%) used: 1.37 TiB (75.0%)
    fs: ext4 dev: /dev/nvme0n1p3 maj-min: 259:7
  ID-2: /boot/efi raw-size: 1022 MiB size: 1020 MiB (99.80%)
    used: 394.7 MiB (38.7%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:5
Swap:
  Kernel: swappiness: 180 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: partition size: 4 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/dm-0 maj-min: 252:0 mapped: cryptswap
  ID-2: swap-2 type: zram size: 16 GiB used: 256 KiB (0.0%) priority: 1000
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 56.0 C mobo: N/A
  Fan Speeds (RPM): cpu: 0
Info:
  Processes: 429 Uptime: 21h 19m wakeups: 14960 Memory: 31.04 GiB
  used: 13.82 GiB (44.5%) Init: systemd v: 249 runlevel: 5 tool: systemctl
  Compilers: gcc: 11.4.0 alt: 11/12 clang: 17.0.6 Packages: 3155 apt: 3147
  lib: 1807 flatpak: 0 snap: 8 Shell: Zsh v: 5.8.1 running-in: figterm
  inxi: 3.3.13
namanlp commented 6 months ago

Note that it mentions stackoverflow which would be surprising for a missing dependency?

Yeah, it happened with me in past, so....

Anyways, sorry for late response.

So, I tested it on Pop! OS and it is working perfectly fine, without any stack overflows.

Btw, can you link to the repository which you were having issues with stack overflow, if it is not a private one?

Byron commented 3 months ago

Is this still an issue with the latest available version?

Caleb-T-Owens commented 2 days ago

Closing for now, if the problem still persists, please feel free to create a new issue