打开 HakanBastedt 打开了这个问题 上个月 · 0 条评论 打开 xhc-whb04b-6 代码散布着 assert() 并且偶尔会因此而失败。请用 NDEBUG 删除 assert() 因为代码在没有 assert() 的情况下做正确的事情#2237 HakanBastedt 打开了这个问题 上个月 · 0 条评论 注释 哈坎巴斯特 评论了 上个月 以下是我重现该问题所遵循的步骤: 以标准方式在 debian 上下载并安装 linuxcnc 作为一个包 启动 linuxcnc 并使用 xhc-whb04b-6。在一个随机的时间之后,也许是几个小时,它停止响应 我这里没有错误消息,但我搜索并发现这是触发 xhc-whb04b-6 模块退出的行: assert(0 == r); 函数 bool Usb::setupAsyncTransfer()中https://github.com/LinuxCNC/linuxcnc/blob/master/src/hal/user_comps/xhc-whb04b-6/usb.cc 中的第 460 行 这是我期望发生的事情: 如果它无法设置异步 usb 传输,它应该进行一些重试。 这是发生了什么: hal 模块停止。无法卸载或以任何方式修复它(afaik)。 在此之前它工作正常: (如果在对硬件或软件进行特定更改后行为发生了变化 ,请描述您认为负责的更改。例如,“ 从 LinuxCNC 2.7.3 升级到 2.7.4 后”) 前几天我得到了一个新的 xhc whb04b-4 ,所以我一直对新的吊坠有这个问题。 有关我的硬件和软件的信息: 我正在从 apt 存档运行 2.8。 我还下载了开发人员源代码并搜索文件并重新编译。 问题出在这两个版本中。 解决方法很简单。使用 NDEBUG 指令解除 assert() 函数。 因为完成后,代码会做正确的事情。它会尝试重新连接并重新建立 功能。 我在 setupasynctransfer 中遇到错误,代码处理得很好,并重新建立了功能。 我现在正在运行一个带有 NDEBUG 的版本,是的,它应该是这样的。 免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论 受让人 无人分配 标签 还没有 项目 还没有 里程碑 没有里程碑 发展 没有分支机构或拉取请求 1名参加者
以下是我重现该问题所遵循的步骤:
assert(0 == r); 函数 bool Usb::setupAsyncTransfer()中https://github.com/LinuxCNC/linuxcnc/blob/master/src/hal/user_comps/xhc-whb04b-6/usb.cc
中的第 460 行
这是我期望发生的事情:
如果它无法设置异步 usb 传输,它应该进行一些重试。
这是发生了什么:
hal 模块停止。无法卸载或以任何方式修复它(afaik)。
在此之前它工作正常:
(如果在对硬件或软件进行特定更改后行为发生了变化
,请描述您认为负责的更改。例如,“
从 LinuxCNC 2.7.3 升级到 2.7.4 后”)
前几天我得到了一个新的 xhc whb04b-4 ,所以我一直对新的吊坠有这个问题。
有关我的硬件和软件的信息:
我正在从 apt 存档运行 2.8。
我还下载了开发人员源代码并搜索文件并重新编译。
问题出在这两个版本中。
解决方法很简单。使用 NDEBUG 指令解除 assert() 函数。
因为完成后,代码会做正确的事情。它会尝试重新连接并重新建立
功能。
我在 setupasynctransfer 中遇到错误,代码处理得很好,并重新建立了功能。
我现在正在运行一个带有 NDEBUG 的版本,是的,它应该是这样的。