conhost.exe - 系统错误 基于堆栈的缓冲区溢出

兔白白

问题描述

项目运行起来, 修改代码的时候,经常会弹出这个报错提示

conhost.exr-系统错误 系统在此应用程序中检测到基于堆栈的缓冲区溢出。溢出可能允许恶意用户获得此应用程序的控制

这是正确运行时的命令行列表

我不确定是哪个第三方库引起的,
其中tuCrontabs 是一个定时任务
Redis-queue.consumer 是一个redis的消费队列

我应该如何去排查这个问题出现的原因呢?

就目前而言,不修改代码,不触发框架热更新时,就不会弹出这个报错,似乎这个错误 只会在框架启动时出现(就目前观察而言是这样的)

每次遇到这个错误后,点击确认后,命令行的小黑板就会消失,但是,这时候,我修改代码,项目依然会刷新,会热加载,只是每次加载都会弹出这个窗体

我需要 强制杀死 cmd.exe,php.exe,conhost.exe 这几个进程,再重新运行框架 就不会弹出这个错误了

截图报错信息里报错文件相关代码

这里粘贴截图
弹出报错

更换了php版本 7.3.4(害,本地用的小皮面板,本来想换8.2.9,但是它有点问题。redis 识别不到,就降低版本了)
换了版本后,错误提示 有所不同,不过,虽然有错误,代码依然有热更新,所以我写了个e程序,自动检测错误弹窗,然后 给它关掉,嗯,看不见就代表没报错。

操作系统及workerman/webman等框架组件具体版本

这里写具体的系统环境相关信息
我的运行环境是 windows10

下面是我引入的第三方库

1212 1 0
1个回答

walkor 打赏

第一次见这种错误,可能是php的bug,php8.0.2 小版本2太低了,php容易有bug,小版本尽量用大于10的

  • 兔白白 2024-04-27

    好的。感谢老大的建议,明天试试去,哈哈

  • 兔白白 2024-04-28

    换了个7.3.4的版本, 然后 还是会出错,说 不过不是 conhost.exe 弹的了,不过我已经免疫了。 写个程序, 检测到弹窗就自动关闭... 暂时不管它了,反正本地只是开发环境, 回头去linux下部署看看

×
🔝