You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 18.04运行Psychopy代码出现stack smashing detected报错如何解决

Psychopy stack smashing detected 报错解决方案
  • 配置X11与OpenGL运行环境
    该报错高发于headless服务器通过远程桌面访问的场景,默认RDP虚拟显示驱动不满足Psychopy所需的OpenGL 2.0+渲染要求:
    1. 执行echo $DISPLAY确认显示变量正常,输出为空时执行export DISPLAY=:10.0(替换为实际RDP会话对应的显示端口)
    2. 安装Mesa软件渲染OpenGL依赖:sudo apt install libgl1-mesa-glx libglu1-mesa mesa-utils
    3. 执行glxinfo | grep "OpenGL version"验证输出版本≥2.0即可
  • 修改窗口初始化参数
    更换窗口渲染后端规避wxPython版本兼容问题,将原有代码替换为:
    import psychopy.visual as pv
    win = pv.Window(
        useFBO=False,
        winType='pyglet',
        allowGUI=False,
        fullscr=False
    )
    
    手动安装的wxPython wheel大概率存在系统GTK依赖适配问题,切换为pyglet后端可直接规避该类栈调用异常。
  • 调整依赖版本适配
    Psychopy 2021.2.3的官方适配wxPython版本为4.0.7.post2,若当前安装版本不匹配可通过conda重装对应版本:
    pip uninstall wxPython
    conda install -c conda-forge wxpython=4.0.7.post2
    
    conda安装的wxPython会自动匹配Ubuntu 18.04的系统GTK+依赖,兼容性优于手动安装的wheel包。
  • 临时栈保护排查
    若上述操作后仍报错,可临时关闭栈保护验证确认是否为系统栈保护误报:
    export LIBC_FATAL_STDERR_=1
    execstack -s /path/to/your/conda/env/bin/python
    
    确认属于误报后建议更换conda环境Python版本为3.7,Python 3.6.13与Psychopy 2021.2.3的内存分配逻辑存在已知冲突。

内容的提问来源于stack exchange,提问作者Mitchell van Zuylen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 18:24:01