Xojo 2023r1.1 hangs a LOT

I’m having this hang very frequently, like multiple times per hour. It seems triggered by deleting a group of lines. This is new, like maybe due to a macOS update? I’m running 13.4. Here’s the truncated sample. I can’t post the whole sample here due to length restrictions.

Call graph:
    2355 Thread_3334279   DispatchQueue_1: com.apple.main-thread  (serial)
    + 2355 start  (in dyld) + 2236  [0x18fc63f28]
    +   2355 main  (in Xojo) + 20  [0x10baa3f20]
    +     2355 _Main  (in Xojo) + 384  [0x10bac9a0c]
    +       2355 REALbasic._RuntimeRun  (in Xojo) + 28  [0x1010b4c10]
    +         2355 RuntimeRun  (in XojoFramework) + 48  [0x10d9ed6f8]
    +           2355 -[NSApplication run]  (in AppKit) + 464  [0x1932ad344]
    +             2355 ???  (in XojoFramework)  load address 0x10d780000 + 0xe489c  [0x10d86489c]
    +               2355 CallFunctionWithExceptionHandling(void (*)())  (in XojoFramework) + 180  [0x10d9eee9c]
    +                 2355 Application._CallFunctionWithExceptionHandling%%o<Application>p  (in Xojo) + 164  [0x100f2205c]
    +                   2355 ???  (in XojoFramework)  load address 0x10d780000 + 0xe4900  [0x10d864900]
    +                     2355 ???  (in XojoFramework)  load address 0x10d780000 + 0xe4878  [0x10d864878]
    +                       2355 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]  (in AppKit) + 716  [0x1932b8ee0]
    +                         2355 _DPSNextEvent  (in AppKit) + 636  [0x1932b9d44]
    +                           2355 _BlockUntilNextEventMatchingListInModeWithFilter  (in HIToolbox) + 76  [0x1998e27d4]
    +                             2355 ReceiveNextEventCommon  (in HIToolbox) + 648  [0x1998e2a7c]
    +                               2355 RunCurrentEventLoopInMode  (in HIToolbox) + 292  [0x1998e2c40]
    +                                 2355 CFRunLoopRunSpecific  (in CoreFoundation) + 612  [0x1900984b8]
    +                                   2355 __CFRunLoopRun  (in CoreFoundation) + 1852  [0x190099348]
    +                                     2355 __CFRunLoopDoTimers  (in CoreFoundation) + 356  [0x1900b3bc8]
    +                                       2355 __CFRunLoopDoTimer  (in CoreFoundation) + 940  [0x1900b4070]
    +                                         2355 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__  (in CoreFoundation) + 32  [0x1900b43c8]
    +                                           2355 ???  (in XojoFramework)  load address 0x10d780000 + 0x27705c  [0x10d9f705c]
    +                                             2355 CodeEditorCanvasNew.MouseTimerRun%%o<CodeEditorCanvasNew>o<Timer>  (in Xojo) + 160  [0x10a5450e4]
    +                                               2355 CodeEditorCanvasNew.UpdateMouseCursor%%o<CodeEditorCanvasNew>i8i8  (in Xojo) + 2160  [0x10a5b21f4]
    +                                                 1041 CodeEditorCanvasNew.UpdateCodeBlockIndentHighlighting%%o<CodeEditorCanvasNew>i8  (in Xojo) + 14672  [0x10a5a3fec]
    +                                                 ! 345 CELine.matchAbove.Get%o<CELine>%o<CELine>i4  (in Xojo) + 32  [0x1021ee498]

Could be Issue #72493 maybe? (There is a fix in 2023r2 beta)

I don’t know, it doesn’t look related. This is an actual permanent hang. I have to force quit.

Both problems are/were located at CodeEditorCanvasNew, but issue 72493 was created due to a timer related to typing, and Thom’s to a mouse processing.

1 Like

I have this very frequently in 2023r1.1
The IDE will hang for 10-30 seconds then become responsive again. I haven’t found a reproducible pattern yet.

In my case, it does not come back. I’ve waited at least five minutes (while I took the sample and started this topic) and there was no change.

I think the pattern is selecting a block from the bottom up and deleting, but I too have not been able to reproduce it on demand.

I’m using Time Machine to an old Time Capsule (802.11ac version) and the whole system suffers creating death when it attempts to mount the backup drive. It was a long time before I noticed the correlation. I’m not trying to put the blame elsewhere just wondering if others had seem the problem. It manifested as a disk system stall as one system after another tried to access a file it would lock up waiting of Time Machine to complete its task. It was like a creeping death of the entire machine. I only mention it here because you talk of a hang…

Based on your sample, this definitely looks like some specific situation is causing an infinite loop in the method that calculates the code block indicator lines.

I so far haven’t found a way to reproduce it, but I’m investigating.

It would be great @Thom_McGrath if you could create an Issue for this with the full sample attached, just in case it has any additional hints.

the mechanical drive inside the time capsule is certainly dying. time to replace it
it’s quite easy to do once you figured how to open the time cpasule…
or time to change for a synology MR2200 or RT2600 and an external usb drive.

I’ve been thinking that, it has been a while. I’ve done it many times before.

Absolutely. https://tracker.xojo.com/xojoinc/xojo/-/issues/73184

1 Like