Thanks denis.
So our discussions were good :)
We had discussion on reasons why cmd+. is not always working.I made simple test which shows that VM is not issue. Following code normally stops after 20 seconds:hanging := [1 seconds wait. 1 recursionTest] newProcess.hanging priority: Processor activePriority + 10.interruptor := [ 20 seconds wait.��hanging��suspend] newProcess.interruptor priority: Processor activePriority + 11.
hanging resume.interruptor resume.
Recursion method:
Integer>>recursionTest
�� ���� self��recursionTest
Hanging process produces 7 million contexts on my machine:
c := hanging suspendedContext.count := 1.[ c notNil ] whileTrue: [ c := c sender. count := count + 1 ].count ��7395279"
But if you try to debug it by "hanging debug" you will see how it is slow. It's caused by printing stack to file.��Interesting that logging is performed before opening debugger. So every time we press cmd+. we are waiting logging to see debugger.
We need to change this logic.��
Best regards,Denis