XSession 错误填满了我的磁盘空间

XSession 错误填满了我的磁盘空间

我的 NUC 上安装了 Ubuntu 16.04.1。

重启后,我可以看到 .xsession-errors 的大小迅速增加。以下是 2 分钟后的情况。

-rw-------  1 kodi kodi 3466402072 Jan 20 18:49 .xsession-errors
-rw-------  1 kodi kodi 6548127878 Jan 20 18:46 .xsession-errors.old

在文件上运行 tail -f 只会给出以下内容的连续输出:

extern "Python": function Cryptography_rand_bytes() called, but @ffi.def_extern() was not called in the current subinterpreter.  Returning 0.

答案1

错误消息中的 python 引起了我的好奇心。NUC 用作媒体中心,安装了 Kodi 并在启动时运行。

移动 kodi 配置文件夹解决了这个问题。我猜是某个插件出了问题。由于 kodi 没有重大更新,所以我指出是某个插件出了问题。

它也可能是已焊接的 CEC 适配器,并且它确实有最近的驱动程序更新。

答案2

我有一个使用 Ubuntu 上的 Kodi 16.1 的解决方法。

我在 1 月中旬更新后才发现 kodi 16.1 存在问题的迹象。那天早上我醒来发现硬盘上没有任何空间可以安装安全更新。

硬件

我在 Voyager-16.04.1.1-amd64 的联想 ThinkPad E530 上运行 Kodi,我安装了 120 GB 的“SandDisk SSD Plus”硬盘。它为 3 个操作系统划分了分区(就目前而言),我正在处理的分区有 89.4 GB,我的操作系统根目录的大小在 7.6 GB 到 10.2 GB 之间。当我醒来时,我惊讶地发现所有 89.4 GB 都没了。

浏览完我的文件后,我在主目录 ( ) 中发现了一个超大的隐藏文本文件“startxfce4.log” /home/mrbobs/.cache/upstart/。这是两行重复的文本。

超过 70GB

extern "Python": function Cryptography_rand_bytes() called, but @ffi.def_extern() was not called in the current subinterpreter.  Returning 0.
extern "Python": function Cryptography_rand_status() called, but @ffi.def_extern() was not called in the current subinterpreter.  Returning 0.

我可以删除该文件,但是当 Kodi 运行“startxfce4.log”时,它又回来了,并且再次开始增长。

我尝试安装不同的版本,重启 Kodi 后文件再次变大。我将这两行粘贴到 Google 中,发现这一切都是因为 Python 库不能很好地处理 SSH。

查看我的 Kodi 日志,我还可以看到以下内容:

20:10:00 T:139622927554304   ERROR: EXCEPTION Thrown (PythonToCppException) : 
-->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!

Error Type: <class 'urllib2.URLError'>
Error Contents: <urlopen error [Errno 0] Error>
Traceback (most recent call last):
File "/home/mrbobs/.kodi/addons/plugin.video.youtube/default.py", line 7, in <module> runner.run(__provider__)
File "/home/mrbobs/.kodi/addons/plugin.video.youtube/resources/lib/kodion/runner.py", line 32, in run __RUNNER__.run(provider, context)
File "/home/mrbobs/.kodi/addons/plugin.video.youtube/resources/lib/kodion/impl/xbmc/xbmc_runner.py", line 23, in run results = provider.navigate(context)
File "/home/mrbobs/.kodi/addons/plugin.video.youtube/resources/lib/kodion/abstract_provider.py", line 93, in navigate result = method(context, re_match)
File "/home/mrbobs/.kodi/addons/plugin.video.youtube/resources/lib/kodion/register_provider_path.py", line 12, in wrapper return func(*args, **kwargs)
File "/home/mrbobs/.kodi/addons/plugin.video.youtube/resources/lib/youtube/provider.py", line 392, in _on_yt_specials return yt_specials.process(category, self, context, re_match)
File "/home/mrbobs/.kodi/addons/plugin.video.youtube/resources/lib/youtube/helper/yt_specials.py", line 256, in process return _process_live_events(provider, context, re_match)
File "/home/mrbobs/.kodi/addons/plugin.video.youtube/resources/lib/youtube/helper/yt_specials.py", line 95, in _process_live_events json_data = provider.get_client(context).get_live_events(event_type='live', page_token=page_token)
File "/home/mrbobs/.kodi/addons/plugin.video.youtube/resources/lib/youtube/client/youtube.py", line 426, in get_live_events return self._perform_v3_request(method='GET', path='search', params=params, quota_optimized=True)
File "/home/mrbobs/.kodi/addons/plugin.video.youtube/resources/lib/youtube/client/youtube.py", line 615, in _perform_v3_request result = requests.get(_url, params=_params, headers=_headers, verify=False, allow_redirects=allow_redirects)
File "/home/mrbobs/.kodi/addons/plugin.video.youtube/resources/lib/kodion/simple_requests/api.py", line 189, in get return _request('GET', url, **kwargs)
File "/home/mrbobs/.kodi/addons/plugin.video.youtube/resources/lib/kodion/simple_requests/api.py", line 165, in _request response = opener.open(request)
File "/usr/lib/python2.7/urllib2.py", line 429, in open response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py", line 447, in _open '_open', req)
File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 1241, in https_opencontext=self._context)
File "/usr/lib/python2.7/urllib2.py", line 1198, in do_open raise URLError(err)
URLError: <urlopen error [Errno 0] Error> -->End of Python script error report<--

20:10:01 T:139625223715136   ERROR: GetDirectory - Error getting plugin://plugin.video.youtube/special/live/
20:10:01 T:139625223715136   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.youtube/special/live/) failed
20:10:01 T:139622927554304  NOTICE: [plugin.video.youtube] Running: YouTube (5.3.8) on Jarvis (Kodi-16.1) with Python 2.7.12
20:10:17 T:139623858685696 WARNING: [xbmcswift2] No converter provided, unicode should be used, but returning str value
20:10:17 T:139622927554304 WARNING: Previous line repeats 2 times.

然后我看到 Zanna 的回答说她刚刚移动了她的 Kodi 配置文件。

错误消息中的 python 引起了我的好奇心。NUC 用作媒体中心,安装了 Kodi 并在启动时运行。

移动 kodi 配置文件夹解决了这个问题。我猜是某个插件出了问题。由于 kodi 没有重大更新,所以我指出是某个插件出了问题。

它也可能是已焊接的 CEC 适配器,并且它确实有最近的驱动程序更新。

谢谢你,Zanna,你让我思考。

{(按照 Zanna 所说的操作将使 Kodi 恢复到开箱即用的设置,我想保存我的设置)}

读完这篇文章后,我开始检查我的 Kodi 插件文件,并逐一删除它们,以查看是哪个插件破坏了我的 Kodi。经过一整晚的设置,我发现它是两个文件的组合。一个是名为“script.xbmcbackup”的旧 Kodi 插件,另一个是 Python 请求库打包(这也破坏了 YouTube 插件,我一直认为这是我的 API 密钥),名为“script.module.requests”。

删除这两项之后,我的硬盘不再被重复的文本填满,我的 YouTube 也可以正常工作了。

需要注意的是,“script.module.requests”可能会作为其他附加组件和更新的依赖项再次出现。

  • 发生这种情况时,首先要注意的是,您将失去 YouTube 及其依赖项

  • 第二个是如果不移除,CPU 会超时运行。硬盘将再次填满

  • 第三次,你会失去图标,Kodi 将开始运行缓慢,有时甚至会冻结

好了,就这样了,我只是希望 Python 的伙计们能尽快修复 SSH 问题。我知道他们会修复这个问题,所以我只是希望它能尽快修复。感谢大家为 SSH Everywhere 所做的努力。这项工作将有助于保护我们所有人免受中间人攻击,不仅仅是通过我的小 Kodi,而且在物联网的全球国家安全大局中也是如此。继续努力工作,继续努力工作。

我不是程序员,所以这只是一个解决方法

我不知道这背后的原因,我需要做更多的功课,如果你按照我的做法去做,我只能说开始前备份数据. 我还可以说这目前对我来说是有效的。

按住“Ctrl”键,然后单击“H”键,取消隐藏文件和文件夹。(完成后,我看到文件夹名称前面有一个点)。然后我转到我的主目录,在那里我看到了(.cache)和(.kodi)以及其他文件夹。

(.cache 文件夹中是我找到超大文本文件的地方)(/home/mrbobs/.cache/upstart/startxfce4.log)如果您这样做,请将“mrbobs”用户名替换为您的用户名。

然后关闭 Kodi,删除我的“startxfce4.log”文件。之后,在关闭 Kodi 的同时,我删除了位于 ( /home/mrbobs/.kodi/addons/ ) 的两个附加文件夹“script.module.requests”和“script.xbmcbackup”

在这之后一切都运行良好。(如果你这样做,你可能必须重新删除你的“script.module.requests”,我必须这样做,并且我对我的“startxfce4.log”做了同样的事情,第一次重新打开 Kodi 可能会进行附加更新,但重新删除后我的 kodi 运行良好。)。

还有一件事。上面的文本文件可能不是您的“startxfce4.log”,而可能是主文件夹中的“.xsession-errors.old”。查看此文件的最佳方法是右键单击并查看属性。

答案3

这可能有帮助,我注意到当插件开始缓存时,就会出现这种症状。例如,如果我打开 Exodus 或 youtube,就会发生这种情况,而在此之前,如果打开 kodi,日志文件也会保持正常。

答案4

删除 script.module.requests 是一种有效的解决方法。它确实与我更新了 python 并安装了 python-requests 有关!

这里有更多证据! .cache/upstart/Unity7.log 不断增长,占用了整个可用磁盘空间。怀疑是 Python cypto

该链接中发布的解决方案也解决了这个问题,并且是一个更持久的解决方案,因为您不必担心 script.module.requests 被重新安装

简而言之,最好的解决方案是:

wget http://launchpadlibrarian.net/292839640/python-openssl_16.2.0-1_all.deb

32 位

wget https://launchpad.net/ubuntu/+source/python-cryptography/1.7.1-2/+build/11756123/+files/python-cryptography_1.7.1-2_i386.deb

或 64 位

wget http://launchpadlibrarian.net/299484105/python-cryptography_1.7.1-2_amd64.deb

64 位

sudo dpkg -i python-cryptography_1.7.1-2_amd64.deb 

32 位

sudo dpkg -i python-cryptography_1.7.1-2_i386.deb 

然后:

sudo dpkg -i python-openssl_16.2.0-1_all.deb
sudo apt-get -f install

与 python 相关的问题现在已经在 4 个系统上出现,现在正在使用第二个系统进行测试。

可以说它还可能导致插件无法更新以及其他奇怪的问题,如下所示: https://forum.kodi.tv/showthread.php?tid=324635

相关内容