在完成 Flip 的部分后,在部分比较复杂的场景下点击 Flip 之后这条边相邻的一个面就消失了,甚至会报错,但是大部分边是正常的。请问这是否是正常现象?
我没有新建或销毁任何元素,只是改变了他们之间的指向关系。
只完成了 Flip 的实验,后面的分裂、坍缩还没有做。
请问同学你是用什么模型进行实验的呢?dandelion-testset 中的模型应该都不会出现这种情况,如果是其中的某个模型,那应该是你的实现有问题。
如果你用了其他的模型文件,可以先用我们发布的预编译版本尝试一次。如果预编译版本也出现了相同的问题,那么请将出问题的局部截图传上来,并给出报错退出时的日志输出,以便我们共同解决问题。
我用的是 cow 模型。这个 bug 没有任何规律性,每次都是不同的边。例如第一次在 ID 为 16905 的边翻转之后出现了“面消失”的问题,但是在 Flip 附近的边之后又恢复了;下一次打开 cow,16905 没有问题,但是 30740 出错;有时候是面丢失,但更多情况下是直接卡死无响应。。。总之就是这个 bug 能稳定触发,但每次都不是同一个边。而且日志没有任何异常。Debug 和 Release 版都有问题。我打算验收的时候再请助教查看吧。
谢谢!
你可以用一些 debug 的工具观察内存中的变量变化,尝试观察执行 flip 操作的边附近面的数据变化,看看其有没有真的消失,进而判断是否是反转操作有误,还是框架本身有 bug。