Kl4rry / simp

🖼️ Simp is a fast and simple GPU-accelerated image manipulation program.
Apache License 2.0
307 stars 14 forks source link

Segfault on adapter creation #42

Closed 0323pin closed 1 month ago

0323pin commented 2 months ago

@Kl4rry did you intend to release 3.7.0? Currently it's just a Github tag and not a release, it doesn't show in crates.io either.

Kl4rry commented 2 months ago

It seems the MacOS ci build is taking forever :(

0323pin commented 2 months ago

Thanks, I'll wait than

Kl4rry commented 2 months ago

The v3.7.1 release should be on crates.io now. You should be able to package that one no problem.

0323pin commented 2 months ago

👍

You should be able to package that one no problem.

Depends if Rust-1.79 is enough or, not. I'm on 1.80.1 but, default it's still 1.79

Kl4rry commented 2 months ago

Then you will have to wait as 1.80 is needed.

0323pin commented 2 months ago

The package update, yes but, not me 😄

0323pin commented 2 months ago

@Kl4rry No luck 😞

It builds but,

~> simp
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: <unknown>
   9: <unknown>

panicked at src/main.rs:127:14:
Unable to create adapter
Exception: simp killed by signal abort trap (core dumped)

I'll try to build with debug symbols on Wed. no time before that.

Kl4rry commented 2 months ago

Thats unfortunate. I think its a upstream wgpu issue as I have also had driver segfaults on linux.

0323pin commented 2 months ago

Thats unfortunate. I think its a upstream wgpu issue as I have also had driver segfaults on linux.

Is there an upstream bug report on this? If, I get a proper backtrace tomorrow, I'll open an issue.

Worth downgrading wgpu?

0323pin commented 2 months ago

@Kl4rry Some more info:

   0: simp::main::{{closure}}
             at ./Git/simp/src/main.rs:440:25
   1: std::panicking::rust_panic_with_hook
   2: std::panicking::begin_panic_handler::{{closure}}
   3: std::sys_common::backtrace::__rust_end_short_backtrace
   4: rust_begin_unwind
   5: core::panicking::panic_fmt
   6: core::option::expect_failed
   7: core::option::Option<T>::expect
             at /usr/pkgsrc/wip/rust180/work/rustc-1.80.1-src/library/core/src/option.rs:898:21
   8: simp::WindowHandler::new::{{closure}}
             at ./Git/simp/src/main.rs:120:23
   9: pollster::block_on
             at ./.cargo/registry/src/index.crates.io-6f17d22bba15001f/pollster-0.3.0/src/lib.rs:128:15
  10: simp::main
             at ./Git/simp/src/main.rs:456:30
  11: core::ops::function::FnOnce::call_once
             at /usr/pkgsrc/wip/rust180/work/rustc-1.80.1-src/library/core/src/ops/function.rs:250:5
  12: std::sys_common::backtrace::__rust_begin_short_backtrace
             at /usr/pkgsrc/wip/rust180/work/rustc-1.80.1-src/library/std/src/sys_common/backtrace.rs:155:18

panicked at src/main.rs:127:14:
Unable to create adapter
gdb /usr/local/bin/simp simp.core
GNU gdb (GDB) 15.1
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64--netbsd".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/local/bin/simp...
[New process 16814]
[New process 10186]
Core was generated by `simp'.
Program terminated with signal SIGABRT, Aborted.
#0  0x0000796975bd406a in ?? ()
[Current thread is 1 (process 16814)]
warning: Unsupported auto-load script at offset 0 in section .debug_gdb_scripts
of file /usr/local/bin/simp.
Use `info auto-load python-scripts [REGEXP]' to list them.
(gdb) bt
#0  0x0000796975bd406a in ?? ()
#1  0x0000796975bd4544 in ?? ()
#2  0xffffffffffffffdf in ?? ()
#3  0xffffffffffffffff in ?? ()
#4  0x0000000000000000 in ?? ()
Kl4rry commented 2 months ago

Worth downgrading wgpu?

Maybe what GPU do you have?

0323pin commented 2 months ago

Worth downgrading wgpu?

Maybe what GPU do you have?

~> pcictl pci0 list
000:00:0: Intel Core 4G (mobile) Host Bridge, DRAM (host bridge, revision 0x0b)
000:02:0: Intel HD Graphics (GT2) (VGA display, revision 0x0b)
000:03:0: Intel Core 4G (mobile) Mini HD audio (mixed mode multimedia, HD Audio 1.0, revision 0x0b)
000:20:0: Intel Core 4G (mobile) USB xHCI (USB serial bus, xHCI, revision 0x04)
000:22:0: Intel Core 4G (mobile) MEI (miscellaneous communications, revision 0x04)
000:25:0: Intel I218-LM Ethernet Connection (ethernet network, revision 0x04)
000:27:0: Intel Core 4G (mobile) HD Audio (mixed mode multimedia, HD Audio 1.0, revision 0x04)
000:28:0: Intel Core 4G (mobile) PCIe (PCI bridge, revision 0xe4)
000:28:3: Intel Core 4G (mobile) PCIe (PCI bridge, revision 0xe4)
000:29:0: Intel Core 4G (mobile) USB EHCI (USB serial bus, EHCI, revision 0x04)
000:31:0: Intel Core 4G (mobile) LPC (ISA bridge, revision 0x04)
000:31:2: Intel Core 4G (mobile) SATA Controller (AHCI) (SATA mass storage, AHCI 1.0, revision 0x04)
000:31:3: Intel Core 4G (mobile) SMBus (SMBus serial bus, revision 0x04)
002:00:0: Intel Centrino Advanced-N 6205 WiFi (miscellaneous network, revision 0x34)

Intel integrated graphics.

2024-09-11-193401_787x429_scrot

Kl4rry commented 2 months ago

Do the issue appear in 4e69ad3 ?

0323pin commented 2 months ago

Do the issue appear in 4e69ad3 ?

Building from this commit right now

0323pin commented 2 months ago

No, 4e69ad35b86d6467640ed38e901f091a85c657ba is fine.

2024-09-12-191504_1366x768_scrot

I'd guess, you would want at least 814a8b34cb40426d760e76a7e55b0a902c515953 on top of it.

Kl4rry commented 2 months ago

I reverted the wgpu update in the latest commit. Could you try it?

0323pin commented 2 months ago

I reverted the wgpu update in the latest commit. Could you try it?

On it now.

0323pin commented 2 months ago

All good 🤗

2024-09-12-210208_1366x768_scrot

Two questions remain, though ...

  1. I'd guess this should build with Rust-1.79 now, or?
  2. Will you submit an issue with wgpu upstream?
0323pin commented 2 months ago

Btw, where do I find the manpage now? I was looking for it in the directories inside target but was not able to find it.

Kl4rry commented 2 months ago

Btw, where do I find the manpage now? I was looking for it in the directories inside target but was not able to find it.

simp --generate-man writes it to stdout.

Kl4rry commented 2 months ago

Two questions remain, though ...

1. I'd guess this should build with Rust-1.79 now, or?

No I don't really want to revert that part as it allows me to get rid of having a direct dependency on once_cell.

2. Will you submit an issue with `wgpu` upstream?

This might already have been fixed as I only updated from wgpu 0.19 to 0.20 not to the latest version 22.0. I think will just wait until I do the larger wgpu update and if the problem remains I will report it.

0323pin commented 2 months ago

Btw, where do I find the manpage now? I was looking for it in the directories inside target but was not able to find it.

simp --generate-man writes it to stdout.

Thanks! It would be nice if it was included in the output of simp -h.

0323pin commented 2 months ago

As for the required MSRV, no worries, I understand. It's our problem.

I will create a package pulling from the latest commit and store in our "work-in-progress" repo until Rust is updated. For personal use, I don't want to wait and I do have 1.80.1 installed.

Thank you so much for the fix. Feel free to close this issue now.

Kl4rry commented 2 months ago

Thanks! It would be nice if it was included in the output of simp -h.


The simple image manipulation program

Usage: simp [OPTIONS] [file]

Arguments: [file] Load this file

Options: -f, --fullscreen Start simp in fullscreen --generate-man Generates manual page for simp -h, --help Print help -V, --version Print version


It is :)
Kl4rry commented 1 month ago

In 504bb0a I updated wgpu to the latest version and I would like to know if it fixes the segfault you experienced earlier.

0323pin commented 1 month ago

@Kl4rry Yes, I can confirm that the issues have been fixed. I've just built a package from HEAD and tested it. No segfaults or core dumps have been observed.