Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 907899 - net-misc/yandex-disk-0.1.6.1080_p1: error on start with >net-libs/libproxy-0.4.18
Summary: net-misc/yandex-disk-0.1.6.1080_p1: error on start with >net-libs/libproxy-0....
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-05 16:33 UTC by Oschtan
Modified: 2024-04-10 16:37 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Oschtan 2023-06-05 16:33:16 UTC
error on start with 

-----------------------
oschtan@oschtan ~ $ yandex-disk start --dir=Work/

(process:2691): GLib-GObject-CRITICAL **: 23:26:19.844: cannot register existing type 'PxManager'

(process:2691): GLib-CRITICAL **: 23:26:19.844: g_once_init_leave: assertion 'result != 0' failed

(process:2691): GLib-GObject-CRITICAL **: 23:26:19.844: g_object_new_valist: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
Got signal 11, faulty address is 44, from 0x7f901400ffef 
0.1.6.1080 x64
[bt] Execution path:
[bt] /usr/lib64/libproxy/libpxbackend-1.0.so(px_manager_get_proxies_sync+0x2f) [0x7f901400ffef]
[bt] /usr/lib64/libproxy/libpxbackend-1.0.so(px_manager_get_proxies_sync+0x2f) [0x7f901400ffef]
[bt] /usr/lib64/libproxy.so(px_proxy_factory_get_proxies+0x28) [0x7f901518a2f8]
[bt] yandex-disk() [0x468ec1]
[bt] yandex-disk() [0x47613c]
[bt] yandex-disk() [0x4764ef]
[bt] yandex-disk() [0x4acee9]
[bt] yandex-disk() [0x47c64b]
[bt] yandex-disk() [0x47cd48]
[bt] yandex-disk() [0x47ce1c]
[bt] yandex-disk() [0x4b3d20]
[bt] yandex-disk() [0x41e307]
[bt] yandex-disk() [0x415d63]
[bt] yandex-disk() [0x41790b]
[bt] /lib64/libc.so.6(+0x238ca) [0x7f9014c838ca]
[bt] /lib64/libc.so.6(__libc_start_main+0x85) [0x7f9014c83985]
[bt] yandex-disk() [0x4140e9]

-----------------------
Downgrade to =net-libs/libproxy-0.4.18 resolved error
Comment 1 Pacho Ramos gentoo-dev 2023-06-20 12:28:43 UTC
I couldn't find any fix on the other distributions supplying this, even if they now ship newer libproxy and this same yandex-disk version

Are you still hitting this with libproxy-0.5.2? Previous 0.5.x versions were having some important bugs

Thanks
Comment 2 Oschtan 2023-09-14 18:10:11 UTC
With current versions of dev-libs/glib and net-libs/libproxy yandex-disk does not start
=dev-libs/glib-2.76.4
=net-libs/libproxy-0.5.3

--------------------log-----------------
oschtan@oschtan ~ $ yandex-disk start --dir=Yandex-disk/

(process:13625): GLib-GObject-CRITICAL **: 01:02:37.122: cannot register existing type 'PxManager'

(process:13625): GLib-CRITICAL **: 01:02:37.122: g_once_init_leave: assertion 'result != 0' failed

(process:13625): GLib-GObject-CRITICAL **: 01:02:37.122: g_object_new_valist: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
Got signal 11, faulty address is 60, from 0x7f9005ac8497 
0.1.6.1080 x64
[bt] Execution path:
[bt] /usr/lib64/libglib-2.0.so.0(g_mutex_lock+0x7) [0x7f9005ac8497]
[bt] /usr/lib64/libglib-2.0.so.0(g_mutex_lock+0x7) [0x7f9005ac8497]                                                                                                                           
[bt] /usr/lib64/libproxy/libpxbackend-1.0.so(px_manager_get_proxies_sync+0x28) [0x7f9005bbd008]                                                                                               
[bt] /usr/lib64/libproxy.so(px_proxy_factory_get_proxies+0x28) [0x7f9006d9a2f8]                                                                                                               
[bt] yandex-disk() [0x468ec1]                                                                                                                                                                 
[bt] yandex-disk() [0x47613c]                                                                                                                                                                 
[bt] yandex-disk() [0x4764ef]                                                                                                                                                                 
[bt] yandex-disk() [0x4acee9]                                                                                                                                                                 
[bt] yandex-disk() [0x47c64b]                                                                                                                                                                 
[bt] yandex-disk() [0x47cd48]                                                                                                                                                                 
[bt] yandex-disk() [0x47ce1c]                                                                                                                                                                 
[bt] yandex-disk() [0x4b3d20]
[bt] yandex-disk() [0x41e307]
[bt] yandex-disk() [0x415d63]
[bt] yandex-disk() [0x41790b]
[bt] /lib64/libc.so.6(+0x23e0a) [0x7f9006831e0a]
[bt] /lib64/libc.so.6(__libc_start_main+0x85) [0x7f9006831ec5]
[bt] yandex-disk() [0x4140e9]
--------------------------------------
An attempt to communicate with Yandex support directly led to stock phrases and a complete reluctance to help or somehow convey information to their employees. I propose to set this client for deletion, since it does not work properly at the moment at all
Comment 3 baxzzzz 2023-12-27 10:44:34 UTC
@Oschtan I fixed it by running 'yandex-disk setup' again.
Comment 4 Oschtan 2024-03-18 13:47:34 UTC
(In reply to baxzzzz from comment #3)
> @Oschtan I fixed it by running 'yandex-disk setup' again.

oschtan@oschtan ~ $ yandex-disk start --dir=Work/

(process:29885): GLib-GObject-CRITICAL **: 20:45:28.628: cannot register existing type 'PxManager'

(process:29885): GLib-CRITICAL **: 20:45:28.628: g_once_init_leave: assertion 'result != 0' failed

(process:29885): GLib-GObject-CRITICAL **: 20:45:28.628: g_object_new_valist: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
Got signal 11, faulty address is 60, from 0x7f0bb8e60507 
0.1.6.1080 x64
[bt] Execution path:
[bt] /usr/lib64/libglib-2.0.so.0(g_mutex_lock+0x7) [0x7f0bb8e60507]
[bt] /usr/lib64/libglib-2.0.so.0(g_mutex_lock+0x7) [0x7f0bb8e60507]
[bt] /usr/lib64/libproxy/libpxbackend-1.0.so(px_manager_get_proxies_sync+0x39) [0x7f0bb8f54fc9]
[bt] yandex-disk() [0x468ec1]
[bt] yandex-disk() [0x47613c]
[bt] yandex-disk() [0x4764ef]
[bt] yandex-disk() [0x4acee9]
[bt] yandex-disk() [0x47c64b]
[bt] yandex-disk() [0x47cd48]
[bt] yandex-disk() [0x47ce1c]
[bt] yandex-disk() [0x4b3d20]
[bt] yandex-disk() [0x41e307]
[bt] yandex-disk() [0x415d63]
[bt] yandex-disk() [0x41790b]
[bt] /lib64/libc.so.6(+0x23f0a) [0x7f0bb9bcaf0a]
[bt] /lib64/libc.so.6(__libc_start_main+0x85) [0x7f0bb9bcafc5]
[bt] yandex-disk() [0x4140e9]

oschtan@oschtan ~ $ yandex-disk start --dir=Work/

(process:29907): GLib-GObject-CRITICAL **: 20:45:29.861: cannot register existing type 'PxManager'

(process:29907): GLib-CRITICAL **: 20:45:29.861: g_once_init_leave: assertion 'result != 0' failed

(process:29907): GLib-GObject-CRITICAL **: 20:45:29.861: g_object_new_valist: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
Got signal 11, faulty address is 60, from 0x7fe74bace507 
0.1.6.1080 x64
[bt] Execution path:
[bt] /usr/lib64/libglib-2.0.so.0(g_mutex_lock+0x7) [0x7fe74bace507]
[bt] /usr/lib64/libglib-2.0.so.0(g_mutex_lock+0x7) [0x7fe74bace507]
[bt] /usr/lib64/libproxy/libpxbackend-1.0.so(px_manager_get_proxies_sync+0x39) [0x7fe74bbc2fc9]
[bt] yandex-disk() [0x468ec1]
[bt] yandex-disk() [0x47613c]
[bt] yandex-disk() [0x4764ef]
[bt] yandex-disk() [0x4acee9]
[bt] yandex-disk() [0x47c64b]
[bt] yandex-disk() [0x47cd48]
[bt] yandex-disk() [0x47ce1c]
[bt] yandex-disk() [0x4b3d20]
[bt] yandex-disk() [0x41e307]
[bt] yandex-disk() [0x415d63]
[bt] yandex-disk() [0x41790b]
[bt] /lib64/libc.so.6(+0x23f0a) [0x7fe74c838f0a]
[bt] /lib64/libc.so.6(__libc_start_main+0x85) [0x7fe74c838fc5]
[bt] yandex-disk() [0x4140e9]

oschtan@oschtan ~ $ 
========================
I don't see the difference. This worked with the previous version of yandex-disk. Then they removed libproxy and everything broke
Comment 5 Alexander Maltsev 2024-03-30 10:14:25 UTC
I've digged this problem a bit as I can no longer hold libproxy masked to pre-0.5, here's what I've found:

yandex-disk uses libproxy via dlopen, but for whatever reason it dlcloses it after first (every?) request and opens it again. And on second open libproxy fails to create new proxy managers as it have lost its global state, thinks it's first call, attempts to register type in glib, fails but doesn't report an error to calling side, and then crashes on lookup.

I've created issue in libproxy repo https://github.com/libproxy/libproxy/issues/285 but haven't thought how it could be fixed yet. I've also reported it to yandex support but client haven't been updated in years and I'm not sure it'll even reach developers.

It could be stubbed with simple LD_PRELOAD script so libproxy wouldn't get unloaded, it should be possible to pack in into ebuild. But of course libproxy and/or yandex-disk fix would be much more preferable.
Comment 6 Alexander Maltsev 2024-03-31 13:16:32 UTC
As a temporary workaround, binary could be patched via

patchelf --add-needed libproxy.so.1 /opt/bin/yandex-disk

I don't think it is a good solution. Libproxy fix would be better, but it'll take some time.
Comment 7 Larry the Git Cow gentoo-dev 2024-04-07 15:45:52 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fea07b72d07d7fd5ac3e29ed2c337325467af3d6

commit fea07b72d07d7fd5ac3e29ed2c337325467af3d6
Author:     Pacho Ramos <pacho@gentoo.org>
AuthorDate: 2024-04-07 15:45:25 +0000
Commit:     Pacho Ramos <pacho@gentoo.org>
CommitDate: 2024-04-07 15:45:25 +0000

    net-libs/libproxy: add 0.5.5
    
    Bug: https://bugs.gentoo.org/907899
    Signed-off-by: Pacho Ramos <pacho@gentoo.org>

 net-libs/libproxy/Manifest              |  1 +
 net-libs/libproxy/libproxy-0.5.5.ebuild | 68 +++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+)
Comment 8 Alexander Maltsev 2024-04-10 16:37:42 UTC
works fine for me with libproxy-0.5.5