Black Ink hang
  • I was studying today's NYSun puzzle (a cryptic, which I never do) when I got the spinning beachball as Black Ink chewed up my CPU. Here's a process sample from Activity Monitor:

    Sampling process 402 for 3 seconds with 1 millisecond of run time between samples
    Sampling completed, processing symbols...
    Analysis of sampling Black Ink (pid 402) every 1 millisecond
    Call graph:
    794 Thread_2503
    794 0x2430
    794 0x272c
    794 NSApplicationMain
    794 -[NSApplication run]
    794 0x201d4
    794 -[NSApplication sendEvent:]
    794 -[NSWindow sendEvent:]
    794 0xee14
    225 0x187c8
    130 objc_msgSend
    130 objc_msgSend
    20 0x172d8
    20 0x172d8
    17 0x172f8
    17 0x172f8
    11 0x172f0
    11 0x172f0
    10 0x172d4
    10 0x172d4
    9 dyld_stub_objc_msgSend
    9 dyld_stub_objc_msgSend
    8 0x172f4
    8 0x172f4
    7 0x172e0
    7 0x172e0
    7 0x187d8
    7 0x187d8
    4 0x172fc
    4 0x172fc
    2 0x172e8
    2 0x172e8
    212 0x18780
    98 objc_msgSend_stret
    98 objc_msgSend_stret
    24 0x187a8
    24 0x187a8
    17 0x1879c
    17 0x1879c
    12 dyld_stub_objc_msgSend_stret
    12 dyld_stub_objc_msgSend_stret
    11 0x187c4
    11 0x187c4
    9 0x187b0
    9 0x187b0
    8 0x187b8
    8 0x187b8
    7 0x18790
    7 0x18790
    5 0x187ac
    5 0x187ac
    5 0x187b4
    5 0x187b4
    4 0x1878c
    4 0x1878c
    4 0x18794
    4 0x18794
    3 0x187a0
    3 0x187a0
    3 0x187c0
    3 0x187c0
    2 0x18788
    2 0x18788
    188 0x187e0
    123 objc_msgSend_stret
    123 objc_msgSend_stret
    25 dyld_stub_objc_msgSend_stret
    25 dyld_stub_objc_msgSend_stret
    13 0x187fc
    13 0x187fc
    9 0x187e8
    9 0x187e8
    9 0x187f0
    9 0x187f0
    5 0x187ec
    5 0x187ec
    4 0x18800
    4 0x18800
    163 0x18804
    131 NSEqualPoints
    131 NSEqualPoints
    16 dyld_stub_NSEqualPoints
    16 dyld_stub_NSEqualPoints
    10 0x18770
    10 0x18770
    6 0x1877c
    6 0x1877c
    6 0x187cc
    6 0x187cc
    794 Thread_2603
    794 _pthread_start
    794 __NSThread__main__
    794 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:]
    794 CFRunLoopRunSpecific
    794 mach_msg
    794 mach_msg_trap
    794 mach_msg_trap
    794 Thread_2703
    794 __CFSocketManager
    794 select$DARWIN_EXTSN
    794 select$DARWIN_EXTSN
    794 Thread_2803
    794 _pthread_start
    794 CFURLCacheWorkerThread(void*)
    794 CFRunLoopRunSpecific
    794 mach_msg
    794 mach_msg_trap
    794 mach_msg_trap
    794 Thread_2903
    794 _pthread_start
    794 __NSThread__main__
    794 -[NSUIHeartBeat _heartBeatThread:]
    794 -[NSConditionLock lockWhenCondition:beforeDate:]
    794 -[NSCondition waitUntilDate:]
    794 _pthread_cond_wait
    794 semaphore_timedwait_signal_trap
    794 semaphore_timedwait_signal_trap

    Total number in stack (recursive counted multiple, when >=5):

    Sort by top of stack, same collapsed (when >= 5):
    mach_msg_trap 1588
    select$DARWIN_EXTSN 794
    semaphore_timedwait_signal_trap 794
    objc_msgSend_stret 221
    NSEqualPoints 131
    objc_msgSend 130
    dyld_stub_objc_msgSend_stret 37
    0x187a8 24
    0x172d8 20
    0x172f8 17
    0x1879c 17
    dyld_stub_NSEqualPoints 16
    0x187fc 13
    0x172f0 11
    0x187c4 11
    0x172d4 10
    0x18770 10
    0x187b0 9
    0x187e8 9
    0x187f0 9
    dyld_stub_objc_msgSend 9
    0x172f4 8
    0x187b8 8
    0x172e0 7
    0x18790 7
    0x187d8 7
    0x1877c 6
    0x187cc 6
    0x187ac 5
    0x187b4 5
    0x187ec 5
    Sample analysis of process 402 written to file /dev/stdout
  • Thanks, Ephraim. I will take a look at this next week. If it's convenient can you send me a copy of the puzzle that you were solving?
  • Thanks - the stack log and the puzzle gave me good clues and i was able to reproduce it. The bug is in the "move to blank" code when switching orientation. I should be able to get this fixed for the next release.

    Daniel
  • In case you're curious, the bug is closely tied to the fact you were working on a cryptic. The bug is related to trying to change orientation while focused on a square that is part of only word. As you know, in traditional American crosswords, every square is part of two words, so the bug would never raise its ugly head in puzzles such as the NY Times.
  • Not quite never -- the NY Times crossword puzzle from last Thursday (Thanksgiving Day; 11/22/07) contains four words which have one letter each that isn't part of any other word. See 17D, 32A, 33A, and 38D. I've never seen this before, but apparently it's a legal puzzle layout.
  • ejalbert said:
    Not quite never -- the NY Times crossword puzzle from last Thursday (Thanksgiving Day; 11/22/07) contains four words which have one letter each that isn't part of any other word. See 17D, 32A, 33A, and 38D. I've never seen this before, but apparently it's a legal puzzle layout.

    Legal on a Thursday, that is, because that's novelty puzzle day at the New York Times.
  • ephraimephraim said:
    [quote=ejalbert]Not quite never -- the NY Times crossword puzzle from last Thursday (Thanksgiving Day; 11/22/07) contains four words which have one letter each that isn't part of any other word. See 17D, 32A, 33A, and 38D. I've never seen this before, but apparently it's a legal puzzle layout.

    Legal on a Thursday, that is, because that's novelty puzzle day at the New York Times.[/quote]
    Huh...I hadn't heard that before. Interesting. Then again, I've barely done any Thursday puzzles. I'm working my way up and I'm still not quite good enough at Wednesday puzzles to graduate to Thursdays.
Start a New Discussion

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!