首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python:python3中的错误:free():无效大小:0x00000000037e3190

Python:python3中的错误:free():无效大小:0x00000000037e3190
EN

Stack Overflow用户
提问于 2018-09-27 01:16:27
回答 1查看 0关注 0票数 0

我已经全神贯注地看到了这个错误但却找不到多少。我正在使用Discord.py 1.0.0a与Opus,FFmpeg在Python 3.5.2和OS Ubuntu Server 16.04上运行。机器人将音频剪辑发送到语音通道。偶尔会发生此错误,程序将出现Segmentation Fault,从而留下核心转储。

目前,我的解决方案是一个shell脚本,如果程序崩溃,它会自动重新运行程序。理想情况下,我不想遇到这个问题,但我不知道如何找出这个错误是如何发生的,例如,如果依赖只需要升级,或者它是相对不可避免的。

我真的不想切换到不同的库。

完整的错误是

代码语言:javascript
复制
*** Error in `python3': free(): invalid size: 0x00000000037e3190 ***
Segmentation fault (core dumped)

该代码可在https://github.com/jellywx/soundfx-bot获得

我还在Discord.py GitHub上打开了一个关于此的问题,其中包含GDB跟踪

代码语言:javascript
复制
Thread 604 "python3" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffc6c49700 (LWP 3510)]
__memcpy_avx_unaligned ()
at ../sysdeps/x86_64/multiarch/memcpy-avx-unaligned.S:268
268     ../sysdeps/x86_64/multiarch/memcpy-avx-unaligned.S: No such file or directory.

这个问题可以在这里找到:https//github.com/Rapptz/discord.py/issues/1419

这是另一个用户提供的更完整的跟踪:

代码语言:javascript
复制
Thread 9793 "python3.6" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffe5536b700 (LWP 12840)]
__memmove_sse2_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:423
423     ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
(gdb) py-bt
Traceback (most recent call first):
  File "modules/discord/opus.py", line 273, in encode
    ret = _lib.opus_encode(self._state, pcm, frame_size, data, max_data_bytes)
  File "modules/discord/voice_client.py", line 410, in send_audio_packet
    encoded_data = self.encoder.encode(data, self.encoder.SAMPLES_PER_FRAME)
  File "modules/discord/player.py", line 287, in _do_run
    play_audio(data, encode=not self.source.is_opus())
  File "modules/discord/player.py", line 294, in run
    self._do_run()
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.6/threading.py", line 884, in _bootstrap
    self._

bootstrap_inner()

这是在一个不同的主机(KVM,当前是OpenVZ),没有错误,只有一个seg错误。

谢谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2018-09-27 10:41:27

我还在Discord.py GitHub上打开了一个关于此的问题,其中包含GDB跟踪

  1. 您应该提供指向您打开的GitHub问题的链接。
  2. 这不是GDB跟踪。使用backtrace命令获取实际跟踪。
  3. 这是堆损坏问题的签名。不幸的是,程序崩溃的地方可以远离触发它的地方(但你应该至少提供完整的堆栈跟踪 - 上面的第2步)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100002755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档