用的好好的百度云突然就打不开了,有没有人知道是什么情况?

其它类软件,非上述版软件
回复
saltfishexcapel
帖子: 11
注册时间: 2022-02-07 16:10
系统: Ubuntu 20.04.3

用的好好的百度云突然就打不开了,有没有人知道是什么情况?

#1

帖子 saltfishexcapel » 2022-02-22 10:46

详情如下:
系统Ubuntu 20.04.3,AMD集成显卡16GB
2月21日突然发现打不开百度云了,直接去终端执行:/opt/baidunetdisk/baidunetdisk,发现是如下情况:
username@localhost:~$ /opt/baidunetdisk/baidunetdisk
(node:28595) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
段错误 (核心已转储)

这就是主要错误了,网上说centos也有类似错误了,以下是我自己做的一些排错的过程

提示段错误信息,使用VBox跑了一个相同版本Ubuntu20.04.3发现百度云可以打开,终端运行如下:
username@localhost:~$ /opt/baidunetdisk/baidunetdisk
(node:28595) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.

应该就是那个段错误的问题,然后使用gdb调试查看了一下详情,结果如下:
(gdb) run
Starting program: /opt/baidunetdisk/baidunetdisk
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff2fdd700 (LWP 29057)]
[Detaching after fork from child process 29058]
[Detaching after fork from child process 29059]
[Detaching after fork from child process 29060]
[New Thread 0x7ffff27dc700 (LWP 29063)]
[New Thread 0x7ffff1ace700 (LWP 29064)]
[此处相同代码省略]
[Detaching after fork from child process 29080]
(node:29053) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
[New Thread 0x7fffec2fe700 (LWP 29173)]
[New Thread 0x7fffebafd700 (LWP 29174)]
[此处相同代码省略]
[New Thread 0x7fffdf79d700 (LWP 29242)]
--Type <RET> for more, q to quit, c to continue without paging--

实机卡在了这里,虚拟机则会继续运行,并加载libbrowserengine.so组件。

按回车或上述提示的任意字符,得到如下错误信息:
Thread 1 "baidunetdisk" received signal SIGSEGV, Segmentation fault.
0x00007ffff49db7c9 in EVP_MD_CTX_clear_flags ()
from /lib/x86_64-linux-gnu/libcrypto.so.1.1

提示为 libcrypto.so.1.1 组件的 EVP_MD_CTX_clear_flags 函数有问题,于是sudo apt-get --reinsall install libcrypt* 重新装了一下该组件,错误依旧,从虚拟机中拷贝的正常的libcrypto.so.1.1也是如此,技术有限,我没辙了!

查看syslog发现上一次正常打开百度云是19号,查看bash_history发现有sudo apt autoremove的过程,不知道是不是删掉了一些库导致错误,从虚拟机里面拷贝了一份完整的软件列表,根据软件列表安装了一系列库文件,还是未能解决问题。

缩小问题范围,这两天因为需要使用源代码安装了 e2fsprogs 和 util-linux 两个软件,目前尚不知晓会不会和这两个软件有关,水平有限,还请知道详情的大佬给一些线索或解决方案,在此多谢了 :Adore
pang15975386
帖子: 193
注册时间: 2011-05-16 18:00

Re: 用的好好的百度云突然就打不开了,有没有人知道是什么情况?

#2

帖子 pang15975386 » 2022-02-22 11:22

删除百度云,清空/opt/baidunetdisk/baidunetdisk,下载新版本重新安装试试,我之前是这样解决的,可以尝试看看
saltfishexcapel
帖子: 11
注册时间: 2022-02-07 16:10
系统: Ubuntu 20.04.3

Re: 用的好好的百度云突然就打不开了,有没有人知道是什么情况?

#3

帖子 saltfishexcapel » 2022-02-22 11:33

pang15975386 写了: 2022-02-22 11:22 删除百度云,清空/opt/baidunetdisk/baidunetdisk,下载新版本重新安装试试,我之前是这样解决的,可以尝试看看
感谢建议,最先尝试了重装,没有效果所以才来询问的
头像
astolia
论坛版主
帖子: 6451
注册时间: 2008-09-18 13:11

Re: 用的好好的百度云突然就打不开了,有没有人知道是什么情况?

#4

帖子 astolia » 2022-02-23 11:28

saltfishexcapel 写了: 2022-02-22 10:46 提示为 libcrypto.so.1.1 组件的 EVP_MD_CTX_clear_flags 函数有问题
不是这个函数有问题,是在这个函数处出了问题。有可能是前面某步产生了错误的参数,传进去出错了
saltfishexcapel 写了: 2022-02-22 10:46 于是sudo apt-get --reinsall install libcrypt* 重新装了一下该组件
并不是文件是libxxx,对应的包名就是libxxx。应该用dpkg-query -S libcrypto.so.1.1去查看对应的包名。libcrypto.so.1.1这个库是openssl的,对应的包名是libssl1.1。
saltfishexcapel 写了: 2022-02-22 10:46 查看syslog发现上一次正常打开百度云是19号,查看bash_history发现有sudo apt autoremove的过程,不知道是不是删掉了一些库导致错误,从虚拟机里面拷贝了一份完整的软件列表,根据软件列表安装了一系列库文件,还是未能解决问题。
一般autoremove都不太容易出问题,倒是有可能是某些库升级后导致的,参考 https://ttys3.dev/post/run-baidunetdisk ... a-is-hard/
saltfishexcapel
帖子: 11
注册时间: 2022-02-07 16:10
系统: Ubuntu 20.04.3

Re: 用的好好的百度云突然就打不开了,有没有人知道是什么情况?

#5

帖子 saltfishexcapel » 2022-02-23 12:41

astolia 写了: 2022-02-23 11:28
saltfishexcapel 写了: 2022-02-22 10:46 提示为 libcrypto.so.1.1 组件的 EVP_MD_CTX_clear_flags 函数有问题
不是这个函数有问题,是在这个函数处出了问题。有可能是前面某步产生了错误的参数,传进去出错了
saltfishexcapel 写了: 2022-02-22 10:46 于是sudo apt-get --reinsall install libcrypt* 重新装了一下该组件
并不是文件是libxxx,对应的包名就是libxxx。应该用dpkg-query -S libcrypto.so.1.1去查看对应的包名。libcrypto.so.1.1这个库是openssl的,对应的包名是libssl1.1。
saltfishexcapel 写了: 2022-02-22 10:46 查看syslog发现上一次正常打开百度云是19号,查看bash_history发现有sudo apt autoremove的过程,不知道是不是删掉了一些库导致错误,从虚拟机里面拷贝了一份完整的软件列表,根据软件列表安装了一系列库文件,还是未能解决问题。
一般autoremove都不太容易出问题,倒是有可能是某些库升级后导致的,参考 https://ttys3.dev/post/run-baidunetdisk ... a-is-hard/
感谢大佬,受教了
saltfishexcapel
帖子: 11
注册时间: 2022-02-07 16:10
系统: Ubuntu 20.04.3

Re: 用的好好的百度云突然就打不开了,有没有人知道是什么情况?

#6

帖子 saltfishexcapel » 2022-02-23 15:50

已经解决了,不过不知道是什么原理:

书接上回,VBox中安装的百度云是正常的,我想着把正常的库复制过来试试看,结果发现了一个大问题:
在实机中,不明原因损坏的百度网盘,执行 ldd /opt/baidunetdisk/baidunetdisk |grep crypt 得到如下结果:

libcryptsetup.so.12 => /lib/x86_64-linux-gnu/libcryptsetup.so.12 (0x00007f3f6bc19000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f3f6ba05000)
libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f3f6b8b5000)
libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f3f6b176000)

这里提示了有四个 crypt* 库与百度网盘程序本体相关,但在百度云正常的VBox中,对百度网盘程序本体执行 ldd 却得到:

libgcrypt.so.20 => /opt/baidunetdisk/libgcrypt.so.20 (0x00007fdb33701000)
libk5crypto.so.3 => /opt/baidunetdisk/libk5crypto.so.3 (0x00007fdb335b1000)

出现问题的 libcrypto.so.1.1 不见了。

我把VBox中的百度网盘程序复制到了实机中,结果可以正常执行,修复了程序。折腾了几天,心累。。至于原因,以后再慢慢探究吧
头像
astolia
论坛版主
帖子: 6451
注册时间: 2008-09-18 13:11

Re: 用的好好的百度云突然就打不开了,有没有人知道是什么情况?

#7

帖子 astolia » 2022-02-25 15:26

这是你安装的版本不同吧,官网上的最新版4.3是没有libcrypto.so的。我上面给的链接中出这个错的版本写的是3.5
saltfishexcapel
帖子: 11
注册时间: 2022-02-07 16:10
系统: Ubuntu 20.04.3

Re: 用的好好的百度云突然就打不开了,有没有人知道是什么情况?

#8

帖子 saltfishexcapel » 2022-02-25 18:53

astolia 写了: 2022-02-25 15:26 这是你安装的版本不同吧,官网上的最新版4.3是没有libcrypto.so的。我上面给的链接中出这个错的版本写的是3.5
版本是一样的 [笑哭],在官网下的最新的一个4.3安装包,在实机和虚拟机装出了不同的效果,我。。。而且最神奇的是,那个ldd正常(ldd无libcrypto.so.1.1)的百度云程序,原模原样复制到/opt目录下,再次ldd就会出现问题(又会出现libcrypto.so.1.1)……我可能还要去好好了解一下Linux动态链接库的原理……

目前的情况,百度云界面能打开了,但是一直处于加载中,转圈圈,无法加载登录界面,网络问题已排除,问题原因不明,等于出了新的bug。我已经放弃了 :Cry
回复