Pointer Detective - 检查 Object(实例)并执行 "PointerDetective openOn: self." 会导致 Pharo 出现系统错误?

Pointer Detective - Inspecting an Object (instance) and Doing a "PointerDetective openOn: self." leads to a System Error in Pharo?

Pointer Detective - 检查 Object(实例)并执行 "PointerDetective openOn: self." 会导致 Pharo 出现系统错误?

object 是一个具有 "canBeRoot ^true."

的 WhateverRoot 实例(WAComponent 的子类)

我是不是做错了什么?

PS. 我的 "eagle eye" 在错误的第 9 行发现了一个拼写错误。 “'原始 错误:',标题为字符串。”。也许,只是也许...

法罗 3: 在接近问题时管理为零。似乎问题只发生在 PointerDetective 的最新提交 (10) 中。之前的那个 (9) 像宣传的那样工作。此 "weak self" 错误仅在最新提交时发生。

Squeak 4.5 和 Pharo 4(前沿): 还尝试了 Squeak 4.5 All In One 和最新版本的 Pharo 4 上的最新提交 (10),它们都弹出调试器而不是白色崩溃。

易于复制,即使 smalltalkhub 页面上的示例也会崩溃。

复制步骤:

  1. 获取法罗 3

  2. 打开蒙蒂塞洛

  3. 添加存储库。

  4. 打开存储库。

  5. 选择最新提交 (10)

  6. 加载

  7. 打开工作区

粘贴到示例并执行->白屏按esc键删除。

testObject := 'END5'.
ref1 := { testObject. nil }.
ref2 := { ref1 }.
ref3 := PDTestResource new heldObject: ref2. 
ref1 at: 2 put: ref3.  "note the reference loop this creates"
PointerDetective openOn: testObject.