Comments (11)
No idea what caused the issue. It does seem dbus related given that backtrace, but I don't have any dbus internals expertise that would give me an idea of why this crash happened. Given that the original issue was resolved by reinstalling Arch, I'm going to assume it was some issue with the Arch install, and will close this issue.
from opener.
I believe root cause of the crash is statically linked dbus lib. See more here
https://internals.rust-lang.org/t/global-symbols-from-statically-linked-system-libraries/19954
It causes some global variables to not be initialized correctly which could manifest into a crash with a stack trace above.
Is there any reason why you use vendored feature here?
Line 31 in ff6e259
My understanding is that without it the lib will be not be statically linked so it may solve the above crash. Would it create other problems?
from opener.
The reason for using the vendored feature is to avoid needing dbus
's usual dependencies to both build opener
, and run executables that use opener
.
from opener.
I don't understand how static linking helps avoid any dependencies. Doesn't the other end of what dbus talks to need dbus dependencies anyway?
Can you make it optional at least?
from opener.
On the development side, the vendored
feature avoids needing dbus
's library dependencies for compiling the library. On the user side, the vendored
feature lets them run the built binaries, even if they lack the dbus
runtime library (though that's rare). In that case the dbus functionality won't work, but they can still run the program.
I can make the vendored
dbus feature optional, by adding a new feature flag to opener
that controls it. I think I can also keep vendoring as the default, and therefore avoid making this a breaking change.
from opener.
I can make the vendored dbus feature optional, by adding a new feature flag to opener that controls it. I think I can also keep vendoring as the default, and therefore avoid making this a breaking change.
That would resolve the issue for me.
from opener.
Alright, I implemented this in a9dc2ee. It's technically a breaking change though if someone was using default-features = false
for some reason. There's another unrelated PR I want to resolve (#28), then I plan on making a release.
As for the true underlying issue, if it's a Rust or Cargo bug we should open an issue in the appropriate place, if one hasn't been made.
from opener.
I'm not well versed enough in linker intricacies to file proper bug report with reproducible example, I'm just going off Nvidia engineer's analysis in the rust-lang forum thread I linked above. That thread just got closed for inactivity, sadly.
If it helps, I believe the whole investigation started from this webkitgtk bug report https://bugs.webkit.org/show_bug.cgi?id=261874#c57 (link to nvidia driver dev's comment explaining crash in my app)
from opener.
I've released opener
v0.7.0.
from opener.
Please note that with the new version, the program will only render properly when started WITHOUT the environment variable contained in the .desktop file.
If I start the latest commit with the .desktop file then it renders a white screen.
Therefore, please push out a corrected desktop file. If the aur pkgbuild needs updating, i can do the same thing as last time, just tell me the direct download link to use in the pkgbuild.
Thanks.
from opener.
@username227 please open an issue for that on TrguiNG issue tracker, it is not relevant to this repo.
from opener.
Related Issues (20)
- please include LICENSE files into the repo and all crates HOT 3
- opener::OpenError should implement std::error::Error
- Browser not opening on Linux HOT 13
- On macOS, `opener` uses Safari where as the `open` command uses Firefox HOT 2
- Browser doesn't open on WSL2 HOT 2
- 0.4 doesn't seem to use either BROWSER or the default-browser from XDG. HOT 2
- Open in named tab for URL HOT 1
- Not enough context in error messages HOT 1
- Switch the backend on Linux (and WSL) from xdg-open to handlr
- published crates don't contain license texts but only contain bogus symlink HOT 2
- Reveal file in file explorer HOT 1
- Opening links doesn't work on WSL when using wslview
- URL opened as file path in WSL2 HOT 4
- Support WSL without requiring `wslview` or `xdg-open` HOT 5
- Issue opening file in Flatpak-based browser HOT 2
- docs.rs failed to build docs HOT 1
- `opener::open` does not fail at all, even when e.g. file is missing on Linux HOT 5
- Android support?
- How to open a folder on windows and focus it? HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opener.