Persistently crashing on KDE Neon 22.04
Closed this issue · 5 comments
Describe the bug
Persistently crashing on KDE Neon (Ubuntu derivative).
To Reproduce
Steps to reproduce the behaviour:
- Open a URL or run
browsers
from terminal. Looks like an app initialisation issue.
Expected behavior
It should not crash.
Screenshots
Stacktrace below.
~$ RUST_BACKTRACE=full .local/bin/browsers
2023-03-22T18:55:30.046157185Z INFO browsers: Starting Browsers
2023-03-22T18:55:30.046178349Z INFO browsers: Logging to /home/dkorah/.local/state/software.Browsers/logs/browsers.log
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/linux_utils.rs:145:31
stack backtrace:
0: 0x55ded53f9e20 - std::backtrace_rs::backtrace::libunwind::trace::h595f06c70adcc478
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x55ded53f9e20 - std::backtrace_rs::backtrace::trace_unsynchronized::h177a0149c76cdde9
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x55ded53f9e20 - std::sys_common::backtrace::_print_fmt::hc0701fd2c3530c58
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/sys_common/backtrace.rs:65:5
3: 0x55ded53f9e20 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hd4cd115d8750fd6c
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/sys_common/backtrace.rs:44:22
4: 0x55ded530b6ce - core::fmt::write::h93e2f5923c7eca08
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/core/src/fmt/mod.rs:1213:17
5: 0x55ded53cebf4 - std::io::Write::write_fmt::h8162dbb45f0b9e62
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/io/mod.rs:1682:15
6: 0x55ded53fb59f - std::sys_common::backtrace::_print::h1835ef8a8f9066da
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/sys_common/backtrace.rs:47:5
7: 0x55ded53fb59f - std::sys_common::backtrace::print::hcb5e6388b9235f41
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/sys_common/backtrace.rs:34:9
8: 0x55ded53fb22f - std::panicking::default_hook::{{closure}}::h9c084969ccf9a722
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/panicking.rs:267:22
9: 0x55ded53fc24c - std::panicking::default_hook::h68fa2ba3c3c6c12f
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/panicking.rs:286:9
10: 0x55ded53fc24c - std::panicking::rust_panic_with_hook::h8d5c434518ef298c
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/panicking.rs:688:13
11: 0x55ded53fbcd4 - std::panicking::begin_panic_handler::{{closure}}::hf33414f5dabf6faf
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/panicking.rs:577:13
12: 0x55ded53fbc6c - std::sys_common::backtrace::__rust_end_short_backtrace::hc50389427413bb75
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/sys_common/backtrace.rs:137:18
13: 0x55ded53fbc41 - rust_begin_unwind
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/panicking.rs:575:5
14: 0x55ded51c0f22 - core::panicking::panic_fmt::h2de7a7938f816de8
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/core/src/panicking.rs:64:14
15: 0x55ded51c101c - core::panicking::panic::h90931f06a97cc5e0
at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/core/src/panicking.rs:114:5
16: 0x55ded52c0182 - browsers::utils::OSAppFinder::get_installed_browsers::h4b0ffc42d8c99b5d
17: 0x55ded52774c6 - browsers::generate_all_browser_profiles::hba51cad9bfc18633
18: 0x55ded5280e75 - browsers::basically_main::h72baa66db969b663
19: 0x55ded52fe12c - browsers::main::h85cbb5953f3628db
20: 0x55ded52f00a3 - std::sys_common::backtrace::__rust_begin_short_backtrace::h9ee69c2e79fe5cb6
21: 0x55ded52fc189 - main
22: 0x7f1143629d90 - __libc_start_call_main
at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
23: 0x7f1143629e40 - __libc_start_main_impl
at ./csu/../csu/libc-start.c:392:3
24: 0x55ded51cbbee - _start
25: 0x0 - <unknown>
Desktop (please complete the following information):
- OS: KDE Neon (based on Ubuntu) 22.04
- Browser: chrome, opera, firefox
- Version: N/A
Smartphone (please complete the following information):
- N/A
Additional context
None
Hi Dino.
Thanks for reporting the issue.
I'm glad there are linux users using this!
Apparently the library I use to find app icons can't find icon on one or more browsers in your system. I changed it so that it should just show no icon in that case instead of crashing.
I don't have a good linux machine myself right now to test this, so I am doing changes a little in the blind.
If you are willing, could you try out this build:
https://github.com/Browsers-software/browsers/suites/11744355282/artifacts/611806752
(it has two archives inside, doesn't matter if you pick .tar.gz or .tar.xz)
Thanks!
Bingo!
That resolves the problem, and you are right. I have a poor man's version of your browsers
app, which is a shell script that I have set up as a web browser. You can find that here https://github.com/codemedic/bash-ninja/blob/master/open-url . The setup does not have an icon.
Great work @liias so far! I love it already.
Any plans for preferences / settings? I have a list of features that I would absolutely love to see in browsers
.
- Ability to hide certain browsers & browser profiles - Hide dodgy browsers like mine, or browser profiles that are not meant for regular use.
- Ability to have a predefined browser (or browser profile) per URL prefix / regexp - Work related URLs always in work profile. Perhaps an option to remember choice by domain name from the selection window.
- Ability to open with one of the current running browsers, based on a preference order. This was the reason for creating
open-url
, to reduce the resource usage by a second browser when a perfectly usable browser was already active. - Ability to choose between 3 (above) and the current behaviour of
browsers
i.e. to present all existing browsers to choose from.
If you'd rather have these as individual issues, I can!
Hey. Glad to hear the issue got fixed! I will make official release for that soon as well then (though it would be literally the same except version number in about menu, so no need to update).
About settings:
- You can already hide browsers/profiles by right clicking on it, see https://browsers.software/#how-to-use. I tried to avoid a settings screen unless there's no good way to fit a setting into the main ui. (opening rules will probably go to settings though)
- Definitely in plans. Please create an issue nevertheless on what you want to see there. There is a hidden setting for it already though. In
config.json
(see...
->About
to see configuration path) you can add edit the rules section.url_pattern
can currently detect only the domain (no wildcards),profile
has to be in form of<browser binary path>#<the profile id>
. You can find it in the cache file (again see the About dialog for path) or in that same config file if you have changed order for the browser explicitly.
rules: [
{
"url_pattern": "https://exact.domain.com"
"profile": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome#Profile 1"
}
]
That interface is not stable though, so might change in future.
- Currently I don't plan this feature, because you can always choose a browser that is already running, but of course you need to know it is running. Please create an issue nevertheless, maybe enough people want it.
- You can add this together with the issue for 3rd point. I think my additional idea is to have an indicator which shows if its running, even if all browsers are shown. Might be tricky to detect which browser profile/container is running though.
Thanks for reporting! Our of curiosity, how did you find this app? I have spread it very minimally for linux so far (I want to have some small linux userbase present before making proper deb/rpm/Pacman packages).
Thanks @liias
I will take a look at those and see how they work out for me.
I have been keeping an eye out for a replacement for my open-url script. I found it through alternativeto.net.