Closed mightyiam closed 1 year ago
I believe this is caused by the Insync binaries expecting specific versions of some system libraries like glib. A similar problem has been reported on the Insync forums by a few Gentoo users. See https://forums.insynchq.com/t/segmentation-fault-core-dumped/16445 and https://forums.insynchq.com/t/segfault-libpython3-7m-so-1-0/16999. Since Insync releases are pegged to Ubuntu/Debian/Fedora releases, I'm not sure there's a good fix for this.
Fortunately, I was able to get insync v3 working in a nix-shell environment that is pinned to an earlier commit of nixpkgs (b49473e6679c733f917254b786bfac42339875eb). I uploaded a reproducible flake here: https://gist.github.com/dereklhansen/c293fed56dd5d3a201effa16d03dc687. The system icon shows up as a red circle, and native Wayland support doesn't work, but it seems fully functional other than that.
Using nixpkgs pinned at b49473e6679c733f917254b786bfac42339875eb, I've been able to successfully run insync version 3.3.5.40925
(the version currently in nixpkgs) and version 3.6.1.50206
(latest available version).
This suggests that there was an update elsewhere in nixpkgs that wasn't backwards-compatible with insync. Pinning nixpkgs works for now, but it's not a long-term fix. Maybe we can try to identify which libraries need to be pinned and explicitly pin those? Or maybe use binaries targeting a distribution which is more up-to-date?
I've noticed this as well a while ago, and even figured out what the issue was, but was too lazy to report it until now. Sorry about that.
When you run insync start --no-daemon
it should tell you why it can't start. In my case it had some issues harfbuzz, which most likely comes from the upgrate to version 3 here.
Harfbuzz removed some functions that were not officially documented, but are used by qt webview, which is why it fails. I think this is going to be fixed automatically at some point with either an insync update or an update of qt webview in nixpkgs.
But until then, your best bet is to use insync from an older nixpkgs commit. It might even be a better idea to completely remove insync from nixpkgs and providing it as a flake, that has a working nixpkgs version pinned to it.
For me insync start --no-daemon
just produces Segmentation fault (core dumped)
:(
Using nixpkgs pinned at b49473e, I've been able to successfully run insync version
3.3.5.40925
(the version currently in nixpkgs) and version3.6.1.50206
(latest available version).This suggests that there was an update elsewhere in nixpkgs that wasn't backwards-compatible with insync. Pinning nixpkgs works for now, but it's not a long-term fix. Maybe we can try to identify which libraries need to be pinned and explicitly pin those? Or maybe use binaries targeting a distribution which is more up-to-date?
Hi @dereklhansen, how can I test this pinned version? Thanks!
Any fix for this?
insync start --no-daemon
Traceback (most recent call last):
File "insync.py", line 19, in
I'm afraid it has been a while since I used Insync because I couldn't find a fix for this type of issue. Instead I have been using google-drive-ocamlfuse which is also in nixpkgs
I reached out to insync back when I made my last post and begged them to look into the issue. I offered to pay for a fix. I was told it was added to the developer backlog.
I've switched to using rclone.
Yeah, it is frustrating that the Insync developers don't seem to be interested in providing a distro-agnostic version of their product. A flatpak or appimage distribution of insync seems like it should be an obvious win for them, but they haven't committed to anything. Here's hoping; I liked using Insync when I was able to.
@benley @jonahaberle are you achieving continuous (real-time) sync with those tools?
Neither of the two tools supports that by itself
google-drive-ocamlfuse
https://github.com/astrada/google-drive-ocamlfuse/issues/630, https://github.com/astrada/google-drive-ocamlfuse/issues/90rclone
https://github.com/rclone/rclone/issues/249#issuecomment-371195391 .If you're achieving it by using the tool as part of a more elaborate solution, would you mind sharing how you're doing that?
I wrote an overlay to pass by the error 403 of url down and I get it installed. But doesn't open yet
(self: super: {
insync-v3 = super.insync-v3.overrideAttrs (_: {
version = "3.7.11.50381";
src = builtins.fetchurl {
url = "https://cdn.insynchq.com/builds/linux/insync_3.7.11.50381-focal_amd64.deb";
sha256 = "14vm7nck0rnnxz6mpzx2cclycbyj1s4rc3rwwjk4yx8m1y6i91jv";
};
});
})
The error:
$ insync start --no-daemon
Traceback (most recent call last):
File "insynclinux/gui/insync.py", line 19, in <module>
File "site-packages/click/core.py", line 1130, in __call__
File "site-packages/click/core.py", line 1055, in main
File "site-packages/click/core.py", line 1657, in invoke
File "site-packages/click/core.py", line 1404, in invoke
File "site-packages/click/core.py", line 760, in invoke
File "insynclinux/gui/cli.py", line 92, in start
File "/usr/local/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 627, in exec_module
File "idesklinux/app.py", line 12, in <module>
File "/usr/local/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 627, in exec_module
File "idesklinux/platui_impl.py", line 7, in <module>
ImportError: /nix/store/3kcpi6dn0n3klz959dnmyqs0wns2k2bh-insync-3.7.11.50381/lib/insync/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /nix/store/dmj5kndgbkr2p159wsjw15551da5r70p-qtbase-5.15.5/lib/libQt5Widgets.so.5)
[154610] Failed to execute script insync
nix-shell -p nix-info --run "nix-info -m"
- system: `"x86_64-linux"`
- host os: `Linux 5.19.3, NixOS, 22.11 (Raccoon), 22.11.20220825.f3d0897`
- multi-user?: `yes`
- sandbox: `yes`
- version: `nix-env (Nix) 2.10.3`
- nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
Update about insync-v3
. It worked when i pinned a rev from github. To fix the broken URL I created an overlay to override the version and URL of current version on nixpkgs.
I am trying to fix it for the latest insync binary...
https://github.com/NixOS/nixpkgs/pull/205954/files
But it doesn't work, it crashes, badly
$ ./result/bin/insync start --no-daemon
Segmentation fault (core dumped)
If I don't do these:
rm $out/lib/insync/libstdc++.so.6
rm $out/lib/insync/libgcc_s.so.1
Insync will crash with:
$ ./result/bin/insync start --no-daemon
Traceback (most recent call last):
File "insynclinux/gui/insync.py", line 19, in <module>
File "click/core.py", line 1130, in __call__
File "click/core.py", line 1055, in main
File "click/core.py", line 1657, in invoke
File "click/core.py", line 1404, in invoke
File "click/core.py", line 760, in invoke
File "insynclinux/gui/cli.py", line 140, in start
File "PyInstaller/loader/pyimod03_importers.py", line 540, in exec_module
File "idesklinux/app.py", line 12, in <module>
File "PyInstaller/loader/pyimod03_importers.py", line 540, in exec_module
File "idesklinux/platui_impl.py", line 7, in <module>
File "PyInstaller/loader/pyimod03_importers.py", line 540, in exec_module
File "PySide2/__init__.py", line 51, in <module>
File "PySide2/__init__.py", line 21, in _setupQtDirectories
File "PyInstaller/loader/pyimod03_importers.py", line 540, in exec_module
File "shiboken2/__init__.py", line 27, in <module>
ImportError: /nix/store/hsk71z8admvgykn7vzjy11dfnar9f4r1-glibc-2.35-163/lib/libc.so.6: version `GLIBC_2.36' not found (required by /nix/store/1xcww9zshhsc34wvvq7702alcn51vbrm-insync-3.8.3.50473/lib/insync/libstdc++.so.6)
[353108] Failed to execute script insync
Something about GLIBC_2.36, while nixos is still at glibc 2.35.
But it shouldn't be a issue, otherwise insync would only work for distro that is glibc 2.35...
Hope it gives some hints, if anyone wants to continue from here, feel free!
I made https://github.com/NixOS/nixpkgs/pull/205954 build and insync-v3 run again, but it would need to patch two more python packages... to continued.
Update from #205954, the package should be resuscitated soon, coming to unstable and hopefully in time for 23.05!
@hellwolf thank you for persevering on this and getting insync working again!
@hellwolf thanks for this package! Could you also please add the .desktop file and icons? The base insync package has them but they are not added to the wrapper package and are not currently user visible. Thanks again!
Also the insync binary is currently named insync-${version}. Can you please strip the version from the binary name? Otherwise the desktop file won't work. Thanks!
Also the insync binary is currently named insync-${version}. Can you please strip the version from the binary name? Otherwise the desktop file won't work. Thanks!
@hellwolf thanks for this package! Could you also please add the .desktop file and icons? The base insync package has them but they are not added to the wrapper package and are not currently user visible. Thanks again!
No problems. I will look into these!
Also the insync binary is currently named insync-${version}. Can you please strip the version from the binary name? Otherwise the desktop file won't work. Thanks!
https://github.com/NixOS/nixpkgs/pull/233044
Might have the desktop files solved.
Issue description
insync-v3 server doesn't seem to start.
Steps to reproduce
See that there is no insync process running.
Technical details
Please run
nix-shell -p nix-info --run "nix-info -m"
and paste the result.@benley