2013-06-06

We've all felt that way sometimes:

System hangs, no traces

Oeh, I hate those. Today it happened again. I just wish I had some evidence, some clues about what went wrong. The system log shows nothing special:

Jun  6 10:37:22 Berik kernel[0]: hibernate image path: /var/vm/sleepimage
Jun  6 10:37:22 Berik kernel[0]: AirPort_Brcm43xx::powerChange: System Sleep 
Jun  6 10:37:22 Berik kernel[0]: hibernate_alloc_pages act 855624, inact 790863, anon 258332, throt 0, spec 44809, wire 322226, wireinit 118717
Jun  6 10:37:22 Berik kernel[0]: hibernate_setup(0) took 0 ms
Jun  6 10:37:22 Berik kernel[0]: sizeof(IOHibernateImageHeader) == 512
Jun  6 10:37:22 Berik kernel[0]: kern_open_file_for_direct_io(0) took 1 ms
Jun  6 10:37:22 Berik kernel[0]: Opened file /var/vm/sleepimage, size 8589934592, partition base 0x0, maxio 400000 ssd 1
Jun  6 10:37:22 Berik kernel[0]: hibernate image major 1, minor 0, blocksize 512, pollers 5
Jun  6 10:37:36 Berik kernel[0]: wl0: Roamed or switched channel, reason CSA
Jun  6 10:37:41 Berik kernel[0]: MacAuthEvent en1   Auth result for: b8:8d:12:5e:ae:84  MAC AUTH succeeded
Jun  6 10:37:41 Berik kernel[0]: wlEvent: en1 en1 Link UP virtIf = 0
Jun  6 10:37:41 Berik kernel[0]: AirPort: RSN handshake complete on en1
Jun  6 10:37:41 Berik kernel[0]: en1: 802.11d country code set to 'AT'.
Jun  6 10:37:41 Berik kernel[0]: en1: Supported channels 1 2 3 4 5 6 7 8 9 10 11 12 13 36 40 44 48 52 56 60 64 100 104 108 112 116 120 124 128 132 136 140
Jun  6 10:37:41 Berik kernel[0]: wl0: Roamed or switched channel, reason #4, bssid b8:8d:12:5e:ae:84
Jun  6 10:37:41 Berik kernel[0]: en1: BSSID changed to b8:8d:12:5e:ae:84
Jun  6 10:37:41 Berik kernel[0]: en1::IO80211Interface::postMessage bssid changed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         Jun  6 14:31:25 localhost bootlog[0]: BOOT_TIME 1370521885 0
Jun  6 14:31:28 localhost kernel[0]: PMAP: PCID enabled
Jun  6 14:31:28 localhost kernel[0]: Darwin Kernel Version 12.4.0: Wed May  1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64

Nothing to be investigated.
I'll turn on the kernel core dumps and hope I can find some proof there, next time.

2013-06-05

Create a USB Boot disk for MAC

Why do you need a bootable USB drive

If you only use Apple software and hardware, you will not need this. But if you want to replace your hard drive, this can come in very handy.

How to do it in 3 easy steps

Open Terminal.app

The easiest way is to press Cmd+Space, then type "Terminal" and press "Enter".
Before you press "Enter", it should look something like this:
After pressing "Enter" you will have a terminal, like this:
The text in this screen will not match yours, this is not important.

Do some magic

In the Terminal, past the line: defaults write com.apple.DiskUtility DUDebugMenuEnabled 1
It should now look like:
If it does, press "Enter". Then Quit the terminal.

Open Disk Utility.app

Press Cmd+Space, type "Disk Utility", then press "Enter".

Show all partitions

From the "Debug" menu select "Show every partition".

Select "Recovery HD" from the left menu

Select the "Restore" tab

Drag your USB drive into the "Destination:" field

Your screen should now show something like this:
If so, press "Restore".

Erase the USB drive

A warning will appear, consider carefully if you want to overwrite the drive, and press "Erase".

There is no step 3

You've just created a Mac OS Recovery USB drive.

How to use it

Just reboot by opening the apple menu, and selecting "Restart..." (or whatever your localisation my be). Then, while booting, hold the alt (option) key. There will be a boot-drive selection screen, select your USB drive.

After booting; you will be able to recover from a backup, install a fresh system, run the Disk Utility to recover file system errors, etc.

Other ways

There are a few ways to create a boot disk for MAC. Generally, they are pretty complicated and require the "Install OS X Mountain Lion" app to be available. The "Install OS X Mountain Lion" app is not present in all Mac's.

Dropbox crashes after update

Oh ye, this is a great day for crashes.
Nice to see that Dropbox is using PyPy internally.
During the creation of a classmethod (in runtime) a code evaluation crashes when a new code frame is being created.

A beautiful stack-trace, I must admit.
Process:         Dropbox [14634]
Path:            /Applications/Dropbox.app/Contents/MacOS/Dropbox
Identifier:      Dropbox
Version:         Dropbox 2.0.22 (2.0.22)
Code Type:       X86 (Native)
Parent Process:  Dropbox [2078]
User ID:         501

Date/Time:       2013-06-05 17:07:24.403 +0200
OS Version:      Mac OS X 10.8.4 (12E55)
Report Version:  10

Interval Since Last Report:          9810 sec
Crashes Since Last Report:           1
Per-App Crashes Since Last Report:   1
Anonymous UUID:                      3F61C863-A085-BB7C-A929-726E44EBCB76

Crashed Thread:  0

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
abort() called
*** multi-threaded process forked ***

Thread 0 Crashed:
0   libsystem_kernel.dylib         0x977de3ba __kill + 10
1   libsystem_kernel.dylib         0x977dd4bc kill$UNIX2003 + 32
2   libsystem_c.dylib              0x973c351b abort + 215
3   org.python.python              0x048e75d9 Py_FatalError + 73
4   org.python.python              0x0483a67f PyFrame_New + 287
5   org.python.python              0x048c2f5b PyEval_EvalFrameEx + 25259
6   org.python.python              0x048c4571 PyEval_EvalCodeEx + 2081
7   org.python.python              0x0483b2cb PyClassMethod_New + 875
8   org.python.python              0x04809918 PyObject_Call + 88
9   org.python.python              0x0480e82a PyObject_CallMethod + 170
10  org.python.python              0x048bbf3c PyEval_ReInitThreads + 156
11  org.python.python              0x04903ff7 PyOS_AfterFork + 23
12  org.python.python              0x04b133a7 initposix + 9783
13  org.python.python              0x048c2565 PyEval_EvalFrameEx + 22709
14  org.python.python              0x048c4571 PyEval_EvalCodeEx + 2081
15  org.python.python              0x048c20d3 PyEval_EvalFrameEx + 21539
16  org.python.python              0x048c4571 PyEval_EvalCodeEx + 2081
17  org.python.python              0x0483b3d2 PyClassMethod_New + 1138
18  org.python.python              0x04809918 PyObject_Call + 88
19  org.python.python              0x0481b10e PyCell_New + 3438
20  org.python.python              0x04809918 PyObject_Call + 88
21  org.python.python              0x04877d87 _PyObject_LookupSpecial + 407
22  org.python.python              0x04872b5a PyType_GenericAlloc + 9706
23  org.python.python              0x04809918 PyObject_Call + 88
24  org.python.python              0x048be2cf PyEval_EvalFrameEx + 5663
25  org.python.python              0x048c4571 PyEval_EvalCodeEx + 2081
26  org.python.python              0x048c20d3 PyEval_EvalFrameEx + 21539
27  org.python.python              0x048c4571 PyEval_EvalCodeEx + 2081
28  org.python.python              0x048c20d3 PyEval_EvalFrameEx + 21539
29  org.python.python              0x0482e243 PyGen_NeedsFinalizing + 243
30  org.python.python              0x048bd6c0 PyEval_EvalFrameEx + 2576
31  org.python.python              0x0482e243 PyGen_NeedsFinalizing + 243
32  org.python.python              0x0480955e PyIter_Next + 30
33  org.python.python              0x0485d248 PySet_Add + 616
34  org.python.python              0x0485d52f _PySet_Update + 351
35  org.python.python              0x04872b5a PyType_GenericAlloc + 9706
36  org.python.python              0x04809918 PyObject_Call + 88
37  org.python.python              0x048be2cf PyEval_EvalFrameEx + 5663
38  org.python.python              0x048c4571 PyEval_EvalCodeEx + 2081
39  org.python.python              0x0483b3d2 PyClassMethod_New + 1138
40  org.python.python              0x04809918 PyObject_Call + 88
41  org.python.python              0x0481b10e PyCell_New + 3438
42  org.python.python              0x04809918 PyObject_Call + 88
43  _functools.so                  0x000cfa04 init_functools + 1460
44  org.python.python              0x04809918 PyObject_Call + 88
45  org.python.python              0x048bb16e PyEval_CallObjectWithKeywords + 78
46  org.python.python              0x048099c0 PyObject_CallObject + 32
47  _ctypes.so                     0x0271cba4 _ctypes_add_traceback + 628
48  _ctypes.so                     0x0272406f ffi_closure_SYSV_inner + 127
49  _ctypes.so                     0x02723e82 ffi_closure_SYSV + 34
50  sym.dylib                      0x04cfdf45 DB____FsChangeThread____DB + 11
51  _ctypes.so                     0x02723ddd ffi_call_SYSV + 29
52  _ctypes.so                     0x027240e9 ffi_call + 89
53  _ctypes.so                     0x0271e7a1 _ctypes_callproc + 689
54  _ctypes.so                     0x027162e7 PyCData_FromBaseObj + 855
55  org.python.python              0x04809918 PyObject_Call + 88
56  org.python.python              0x048be2cf PyEval_EvalFrameEx + 5663
57  org.python.python              0x048c4571 PyEval_EvalCodeEx + 2081
58  org.python.python              0x048c20d3 PyEval_EvalFrameEx + 21539
59  org.python.python              0x048c4571 PyEval_EvalCodeEx + 2081
60  org.python.python              0x0483b3d2 PyClassMethod_New + 1138
61  org.python.python              0x04809918 PyObject_Call + 88
62  org.python.python              0x048bea8c PyEval_EvalFrameEx + 7644
63  org.python.python              0x048c4571 PyEval_EvalCodeEx + 2081
64  org.python.python              0x048c20d3 PyEval_EvalFrameEx + 21539
65  org.python.python              0x048c4571 PyEval_EvalCodeEx + 2081
66  org.python.python              0x048c20d3 PyEval_EvalFrameEx + 21539
67  org.python.python              0x048c2fb2 PyEval_EvalFrameEx + 25346
68  org.python.python              0x048c4571 PyEval_EvalCodeEx + 2081
69  org.python.python              0x0483b2cb PyClassMethod_New + 875
70  org.python.python              0x04809918 PyObject_Call + 88
71  org.python.python              0x0481b10e PyCell_New + 3438
72  org.python.python              0x04809918 PyObject_Call + 88
73  org.python.python              0x048bb16e PyEval_CallObjectWithKeywords + 78
74  org.python.python              0x0490369c initthread + 2028
75  libsystem_c.dylib              0x9738b5b7 _pthread_start + 344
76  libsystem_c.dylib              0x97375d4e thread_start + 34

Thread 0 crashed with X86 Thread State (32-bit):
  eax: 0x00000000  ebx: 0x048e759c  ecx: 0xb5b4136c  edx: 0x977de3ba
  edi: 0x973c3451  esi: 0xb5b413a4  ebp: 0xb5b41388  esp: 0xb5b4136c
   ss: 0x00000023  efl: 0x00000282  eip: 0x977de3ba   cs: 0x0000000b
   ds: 0x00000023   es: 0x00000023   fs: 0x00000023   gs: 0x0000000f
  cr2: 0xacb2602c
Logical CPU: 0

Finder deadlock

Some time ago I've had this beautiful Finder hang:
Sampling process 76934 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling Finder (pid 76934) every 1 millisecond
Process:         Finder [76934]
Path:            /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
Load Address:    0x1009b9000
Identifier:      com.apple.finder
Version:         10.8.2 (10.8.2)
Build Info:      Finder_FE-808002004000000~2
Code Type:       X86-64 (Native)
Parent Process:  launchd [143]

Date/Time:       2013-05-02 14:27:49.667 +0200
OS Version:      Mac OS X 10.8.3 (12D78)
Report Version:  7

Call graph:
    2528 Thread_16076403   DispatchQueue_1: com.apple.main-thread  (serial)
    + 2528 start  (in libdyld.dylib) + 1  [0x7fff82e8b7e1]
    +   2528 ???  (in Finder)  load address 0x1009b9000 + 0x5b86  [0x1009beb86]
    +     2528 NSApplicationMain  (in AppKit) + 869  [0x7fff8ac0bc06]
    +       2528 -[NSApplication run]  (in AppKit) + 517  [0x7fff8ac671d3]
    +         2528 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]  (in AppKit) + 128  [0x7fff8ac6fe22]
    +           2528 _DPSNextEvent  (in AppKit) + 685  [0x7fff8ac70563]
    +             2528 BlockUntilNextEventMatchingListInMode  (in HIToolbox) + 62  [0x7fff8bf90ae3]
    +               2528 ReceiveNextEventCommon  (in HIToolbox) + 356  [0x7fff8bf90c52]
    +                 2528 RunCurrentEventLoopInMode  (in HIToolbox) + 209  [0x7fff8bf90eb4]
    +                   2528 CFRunLoopRunSpecific  (in CoreFoundation) + 290  [0x7fff84ce40e2]
    +                     2037 __CFRunLoopRun  (in CoreFoundation) + 1078  [0x7fff84ce4916]
    +                     ! 2037 __CFRunLoopServiceMachPort  (in CoreFoundation) + 195  [0x7fff84cdf233]
    +                     !   2037 mach_msg  (in libsystem_kernel.dylib) + 70  [0x7fff868fac42]
    +                     !     2037 mach_msg_trap  (in libsystem_kernel.dylib) + 10  [0x7fff868fb686]
    +                     444 __CFRunLoopRun  (in CoreFoundation) + 789  [0x7fff84ce47f5]
    +                     ! 444 __CFRunLoopDoSources0  (in CoreFoundation) + 107  [0x7fff84cc13cb]
    +                     !   444 CFSetApplyFunction  (in CoreFoundation) + 158  [0x7fff84cc171e]
    +                     !     368 CFBasicHashApply  (in CoreFoundation) + 128  [0x7fff84cc17b0]
    +                     !     : 361 __CFSetApplyFunction_block_invoke_0  (in CoreFoundation) + 18  [0x7fff84dac9c2]
    +                     !     : | 361 __CFRunLoopCollectSources0  (in CoreFoundation) + 21,27,...  [0x7fff84cc1935,0x7fff84cc193b,...]
    +                     !     : 7 __CFSetApplyFunction_block_invoke_0  (in CoreFoundation) + 0,1,...  [0x7fff84dac9b0,0x7fff84dac9b1,...]
    +                     !     48 CFBasicHashApply  (in CoreFoundation) + 79  [0x7fff84cc177f]
    +                     !     : 48 CFBasicHashGetBucket  (in CoreFoundation) + 29,52,...  [0x7fff84cc17ed,0x7fff84cc1804,...]
    +                     !     28 CFBasicHashApply  (in CoreFoundation) + 51,84,...  [0x7fff84cc1763,0x7fff84cc1784,...]
    +                     19 __CFRunLoopRun  (in CoreFoundation) + 1529  [0x7fff84ce4ad9]
    +                     ! 10 __CFRunLoopDoTimer  (in CoreFoundation) + 1285  [0x7fff84cff5f5]
    +                     ! : 9 __CFRepositionTimerInMode  (in CoreFoundation) + 227  [0x7fff84cfa803]
    +                     ! : | 9 mk_timer_arm  (in libsystem_kernel.dylib) + 10  [0x7fff868fb7b2]
    +                     ! : 1 __CFRepositionTimerInMode  (in CoreFoundation) + 105  [0x7fff84cfa789]
    +                     ! :   1 _CFArrayReplaceValues  (in CoreFoundation) + 23  [0x7fff84cbdea7]
    +                     ! 5 __CFRunLoopDoTimer  (in CoreFoundation) + 557  [0x7fff84cff31d]
    +                     ! : 5 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__  (in CoreFoundation) + 20  [0x7fff84cff804]
    +                     ! :   2 __NSFireTimer  (in Foundation) + 96  [0x7fff87aacaf3]
    +                     ! :   | 1 -[IKAnimationManager onAnimationTimer]  (in ImageKit) + 16  [0x7fff8ebf4172]
    +                     ! :   | 1 -[IKAnimationManager removeAnimationsOutOfDate]  (in ImageKit) + 119  [0x7fff8ebf388f]
    +                     ! :   1 __NSFireTimer  (in Foundation) + 32  [0x7fff87aacab3]
    +                     ! :   | 1 objc_memmove_collectable  (in libobjc.A.dylib) + 0  [0x7fff861e6c74]
    +                     ! :   1 __NSFireTimer  (in Foundation) + 80  [0x7fff87aacae3]
    +                     ! :   | 1 -[NSObject retain]  (in libobjc.A.dylib) + 70  [0x7fff861fe626]
    +                     ! :   1 __NSFireTimer  (in Foundation) + 115  [0x7fff87aacb06]
    +                     ! :     1 -[NSObject release]  (in libobjc.A.dylib) + 17  [0x7fff861fe6f1]
    +                     ! :       1 _objc_rootReleaseWasZero  (in libobjc.A.dylib) + 126  [0x7fff861e5f5b]
    +                     ! :         1 objc::DenseMap, objc::DenseMapInfo >::find(objc_object* const&)  (in libobjc.A.dylib) + 35  [0x7fff861e6005]
    +                     ! :           1 objc::DenseMap, objc::DenseMapInfo >::LookupBucketFor(objc_object* const&, std::__1::pair*&) const  (in libobjc.A.dylib) + 206  [0x7fff861e5e12]
    +                     ! 2 __CFRunLoopDoTimer  (in CoreFoundation) + 978  [0x7fff84cff4c2]
    +                     ! : 2 CFSetGetValues  (in CoreFoundation) + 413  [0x7fff84cf85bd]
    +                     ! :   1 CFBasicHashGetElements  (in CoreFoundation) + 128  [0x7fff84cc5330]
    +                     ! :   | 1 CFBasicHashGetBucket  (in CoreFoundation) + 25  [0x7fff84cc17e9]
    +                     ! :   1 CFBasicHashGetElements  (in CoreFoundation) + 1  [0x7fff84cc52b1]
    +                     ! 1 __CFRunLoopDoTimer  (in CoreFoundation) + 649  [0x7fff84cff379]
    +                     ! : 1 pthread_mutex_lock  (in libsystem_c.dylib) + 270  [0x7fff8a931cf3]
    +                     ! :   1 pthread_threadid_np  (in libsystem_c.dylib) + 6  [0x7fff8a92d1ee]
    +                     ! 1 __CFRunLoopDoTimer  (in CoreFoundation) + 1400  [0x7fff84cff668]
    +                     12 __CFRunLoopRun  (in CoreFoundation) + 929  [0x7fff84ce4881]
    +                     ! 10 __CFRunLoopDoObservers  (in CoreFoundation) + 369  [0x7fff84d09381]
    +                     ! : 10 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__  (in CoreFoundation) + 23  [0x7fff84d09417]
    +                     ! :   6 FlushAllBuffers(__CFRunLoopObserver*, unsigned long, void*)  (in HIToolbox) + 229  [0x7fff8bf970b6]
    +                     ! :   | 3 FlushWindowObject(WindowData*, void**, unsigned char)  (in HIToolbox) + 926  [0x7fff8bf8f437]
    +                     ! :   | + 3 CGSFlushWindowContentRegion  (in CoreGraphics) + 98  [0x7fff841f8049]
    +                     ! :   | +   2 CGSFlushWindowRegion  (in CoreGraphics) + 47  [0x7fff841f80c8]
    +                     ! :   | +   ! 2 CGSGetWindowDirtyShapeRegion  (in CoreGraphics) + 92  [0x7fff841f8269]
    +                     ! :   | +   !   2 region_create_with_shape  (in CoreGraphics) + 56  [0x7fff841d34f9]
    +                     ! :   | +   !     2 CGTypeCreateInstance  (in CoreGraphics) + 79  [0x7fff841d3616]
    +                     ! :   | +   !       2 _CFRuntimeCreateInstance  (in CoreFoundation) + 275,85  [0x7fff84cb2dd3,0x7fff84cb2d15]
    +                     ! :   | +   1 CGSFlushWindowRegion  (in CoreGraphics) + 142  [0x7fff841f8127]
    +                     ! :   | +     1 CFRelease  (in CoreFoundation) + 1571  [0x7fff84cb8803]
    +                     ! :   | +       1 szone_free  (in libsystem_c.dylib) + 570  [0x7fff8a94797e]
    +                     ! :   | 2 FlushWindowObject(WindowData*, void**, unsigned char)  (in HIToolbox) + 859  [0x7fff8bf8f3f4]
    +                     ! :   | + 1 GetWindowProperty  (in HIToolbox) + 56  [0x7fff8bf8f8d5]
    +                     ! :   | + ! 1 GetWindowData(OpaqueWindowPtr*)  (in HIToolbox) + 24  [0x7fff8bf7c1a2]
    +                     ! :   | + !   1 HIObject::IsRefValid(void*)  (in HIToolbox) + 32  [0x7fff8bf7942a]
    +                     ! :   | + !     1 HLTBSearchRefTable  (in HIToolbox) + 20  [0x7fff8bf69397]
    +                     ! :   | + 1 GetWindowPropertyCore(WindowData*, unsigned int, unsigned int, unsigned long, unsigned long*, void*)  (in HIToolbox) + 51  [0x7fff8bf8f4d7]
    +                     ! :   | +   1 HIGetCollectionItem  (in HIToolbox) + 24  [0x7fff8bfbe52e]
    +                     ! :   | +     1 GetCollectionItem  (in CarbonCore) + 31  [0x7fff884cd069]
    +                     ! :   | +       1 FindItem(OpaqueCollection*, unsigned int, int, unsigned long*)  (in CarbonCore) + 114  [0x7fff884cd10e]
    +                     ! :   | 1 FlushWindowObject(WindowData*, void**, unsigned char)  (in HIToolbox) + 75  [0x7fff8bf8f0e4]
    +                     ! :   |   1 GetWindowPropertyCore(WindowData*, unsigned int, unsigned int, unsigned long, unsigned long*, void*)  (in HIToolbox) + 51  [0x7fff8bf8f4d7]
    +                     ! :   |     1 HIGetCollectionItem  (in HIToolbox) + 24  [0x7fff8bfbe52e]
    +                     ! :   |       1 GetCollectionItem  (in CarbonCore) + 31  [0x7fff884cd069]
    +                     ! :   |         1 FindItem(OpaqueCollection*, unsigned int, int, unsigned long*)  (in CarbonCore) + 82  [0x7fff884cd0ee]
    +                     ! :   4 FlushAllBuffers(__CFRunLoopObserver*, unsigned long, void*)  (in HIToolbox) + 562  [0x7fff8bf97203]
    +                     ! :     3 CFRunLoopTimerSetNextFireDate  (in CoreFoundation) + 533  [0x7fff84cfc5f5]
    +                     ! :     + 2 __CFRepositionTimerInMode  (in CoreFoundation) + 227  [0x7fff84cfa803]
    +                     ! :     + ! 2 mk_timer_arm  (in libsystem_kernel.dylib) + 10  [0x7fff868fb7b2]
    +                     ! :     + 1 __CFRepositionTimerInMode  (in CoreFoundation) + 105  [0x7fff84cfa789]
    +                     ! :     +   1 _CFArrayReplaceValues  (in CoreFoundation) + 23  [0x7fff84cbdea7]
    +                     ! :     1 CFRunLoopTimerSetNextFireDate  (in CoreFoundation) + 353  [0x7fff84cfc541]
    +                     ! :       1 __CFRunLoopFindMode  (in CoreFoundation) + 216  [0x7fff84ce4268]
    +                     ! :         1 CFSetGetValue  (in CoreFoundation) + 102  [0x7fff84cd9b16]
    +                     ! :           1 CFBasicHashFindBucket  (in CoreFoundation) + 1743  [0x7fff84cb12ef]
    +                     ! :             1 __CFSetStandardHashKey  (in CoreFoundation) + 0  [0x7fff84cc1330]
    +                     ! 1 __CFRunLoopDoObservers  (in CoreFoundation) + 87  [0x7fff84d09267]
    +                     ! : 1 -[__NSArrayM count]  (in CoreFoundation) + 0  [0x7fff84cdf7d0]
    +                     ! 1 __CFRunLoopDoObservers  (in CoreFoundation) + 213  [0x7fff84d092e5]
    +                     5 __CFRunLoopRun  (in CoreFoundation) + 728  [0x7fff84ce47b8]
    +                     ! 4 __CFRunLoopDoObservers  (in CoreFoundation) + 369  [0x7fff84d09381]
    +                     ! : 4 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__  (in CoreFoundation) + 23  [0x7fff84d09417]
    +                     ! :   2 __NSConnectionDoQueuedWork  (in Foundation) + 82  [0x7fff87aeddff]
    +                     ! :   | 1 _objc_rootAutorelease2(objc_object*)  (in libobjc.A.dylib) + 28  [0x7fff861fdbbd]
    +                     ! :   | 1 lastConversationInfo  (in Foundation) + 128  [0x7fff87ae6013]
    +                     ! :   |   1 -[NSObject retain]  (in libobjc.A.dylib) + 110  [0x7fff861fe64e]
    +                     ! :   |     1 objc::DenseMap, objc::DenseMapInfo >::FindAndConstruct(objc_object* const&)  (in libobjc.A.dylib) + 32  [0x7fff861e5d16]
    +                     ! :   |       1 objc::DenseMap, objc::DenseMapInfo >::LookupBucketFor(objc_object* const&, std::__1::pair*&) const  (in libobjc.A.dylib) + 58  [0x7fff861e5d7e]
    +                     ! :   1 __NSConnectionDoQueuedWork  (in Foundation) + 510  [0x7fff87aedfab]
    +                     ! :   | 1 _CFAutoreleasePoolPop  (in CoreFoundation) + 34  [0x7fff84cdfd72]
    +                     ! :   |   1 (anonymous namespace)::AutoreleasePoolPage::pop(void*)  (in libobjc.A.dylib) + 527  [0x7fff861e726f]
    +                     ! :   1 __NSConnectionDoQueuedWork  (in Foundation) + 611  [0x7fff87aee010]
    +                     ! :     1 objc_msgSend_fixedup  (in libobjc.A.dylib) + 0  [0x7fff861e340c]
    +                     ! 1 __CFRunLoopDoObservers  (in CoreFoundation) + 414  [0x7fff84d093ae]
    +                     3 __CFRunLoopRun  (in CoreFoundation) + 1400  [0x7fff84ce4a58]
    +                     ! 3 CFArrayAppendValue  (in CoreFoundation) + 91  [0x7fff84cbde6b]
    +                     !   3 -[__NSArrayM insertObject:atIndex:]  (in CoreFoundation) + 334  [0x7fff84cf32ae]
    +                     2 __CFRunLoopRun  (in CoreFoundation) + 1545  [0x7fff84ce4ae9]
    +                     ! 2 CFRelease  (in CoreFoundation) + 170  [0x7fff84cb828a]
    +                     !   1 -[__NSArrayM dealloc]  (in CoreFoundation) + 114  [0x7fff84cdf5e2]
    +                     !   : 1 -[__NSArrayM countByEnumeratingWithState:objects:count:]  (in CoreFoundation) + 6  [0x7fff84cdf3a6]
    +                     !   1 objc_msgSend_vtable14  (in libobjc.A.dylib) + 0  [0x7fff861e4740]
    +                     2 __CFRunLoopRun  (in CoreFoundation) + 1983,1346  [0x7fff84ce4c9f,0x7fff84ce4a22]
    +                     1 __CFRunLoopRun  (in CoreFoundation) + 891  [0x7fff84ce485b]
    +                     ! 1 __CFRunLoopServiceMachPort  (in CoreFoundation) + 195  [0x7fff84cdf233]
    +                     !   1 mach_msg  (in libsystem_kernel.dylib) + 1  [0x7fff868fabfd]
    +                     1 __CFRunLoopRun  (in CoreFoundation) + 1090  [0x7fff84ce4922]
    +                     ! 1 pthread_mutex_lock  (in libsystem_c.dylib) + 0  [0x7fff8a931be5]
    +                     1 __CFRunLoopRun  (in CoreFoundation) + 1126  [0x7fff84ce4946]
    +                     ! 1 mach_port_extract_member  (in libsystem_kernel.dylib) + 31  [0x7fff868fc68f]
    +                     !   1 _kernelrpc_mach_port_extract_member_trap  (in libsystem_kernel.dylib) + 10  [0x7fff868fb64a]
    +                     1 __CFRunLoopRun  (in CoreFoundation) + 1386  [0x7fff84ce4a4a]
    +                       1 CFArrayCreateMutable  (in CoreFoundation) + 192  [0x7fff84cbb880]
    +                         1 -[__NSPlaceholderArray initWithCapacity:]  (in CoreFoundation) + 116  [0x7fff84cf2fb4]
    +                           1 +[__NSArrayM __new:::::]  (in CoreFoundation) + 80  [0x7fff84dc7760]
    +                             1 __CFAllocateObject2  (in CoreFoundation) + 18  [0x7fff84cf3052]
    +                               1 class_createInstance  (in libobjc.A.dylib) + 102  [0x7fff861e5bc8]
    +                                 1 calloc  (in libsystem_c.dylib) + 48  [0x7fff8a945c54]
    +                                   1 malloc_zone_calloc  (in libsystem_c.dylib) + 79  [0x7fff8a9454ae]
    +                                     1 szone_calloc  (in libsystem_c.dylib) + 1  [0x7fff8a9476cb]
    2528 Thread_16076408   DispatchQueue_2: com.apple.libdispatch-manager  (serial)
    + 2528 _dispatch_mgr_thread  (in libdispatch.dylib) + 54  [0x7fff83b319ee]
    +   2528 _dispatch_mgr_invoke  (in libdispatch.dylib) + 883  [0x7fff83b31dea]
    +     2528 kevent  (in libsystem_kernel.dylib) + 10  [0x7fff868fdd16]
    2528 Thread_16080188: com.apple.CFSocket.private
    + 2528 thread_start  (in libsystem_c.dylib) + 13  [0x7fff8a9191e1]
    +   2528 _pthread_start  (in libsystem_c.dylib) + 327  [0x7fff8a92c7a2]
    +     2528 __CFSocketManager  (in CoreFoundation) + 1302  [0x7fff84d23f46]
    +       2528 __select  (in libsystem_kernel.dylib) + 10  [0x7fff868fd322]
    2528 Thread_16868364: com.apple.CoreAnimation.render-server
    + 2528 thread_start  (in libsystem_c.dylib) + 13  [0x7fff8a9191e1]
    +   2528 _pthread_start  (in libsystem_c.dylib) + 327  [0x7fff8a92c7a2]
    +     2528 thread_fun  (in QuartzCore) + 25  [0x7fff85136dc6]
    +       2528 CA::Render::Server::server_thread(void*)  (in QuartzCore) + 403  [0x7fff850b217b]
    +         2528 mach_msg  (in libsystem_kernel.dylib) + 70  [0x7fff868fac42]
    +           2528 mach_msg_trap  (in libsystem_kernel.dylib) + 10  [0x7fff868fb686]
    2528 Thread_21120624: com.apple.NSURLConnectionLoader
    + 2528 thread_start  (in libsystem_c.dylib) + 13  [0x7fff8a9191e1]
    +   2528 _pthread_start  (in libsystem_c.dylib) + 327  [0x7fff8a92c7a2]
    +     2528 __NSThread__main__  (in Foundation) + 1345  [0x7fff87acecd2]
    +       2528 +[NSURLConnection(Loader) _resourceLoadLoop:]  (in Foundation) + 356  [0x7fff87a70b66]
    +         2528 CFRunLoopRunSpecific  (in CoreFoundation) + 290  [0x7fff84ce40e2]
    +           2528 __CFRunLoopRun  (in CoreFoundation) + 1078  [0x7fff84ce4916]
    +             2528 __CFRunLoopServiceMachPort  (in CoreFoundation) + 195  [0x7fff84cdf233]
    +               2528 mach_msg  (in libsystem_kernel.dylib) + 70  [0x7fff868fac42]
    +                 2528 mach_msg_trap  (in libsystem_kernel.dylib) + 10  [0x7fff868fb686]
    2528 Thread_21120627: JavaScriptCore::BlockFree
    + 2528 thread_start  (in libsystem_c.dylib) + 13  [0x7fff8a9191e1]
    +   2528 _pthread_start  (in libsystem_c.dylib) + 327  [0x7fff8a92c7a2]
    +     2528 WTF::wtfThreadEntryPoint(void*)  (in JavaScriptCore) + 15  [0x7fff8f60d2bf]
    +       2528 JSC::BlockAllocator::blockFreeingThreadMain()  (in JavaScriptCore) + 90  [0x7fff8f5f7c5a]
    +         2528 WTF::ThreadCondition::timedWait(WTF::Mutex&, double)  (in JavaScriptCore) + 118  [0x7fff8f3d4ee6]
    +           2527 _pthread_cond_wait  (in libsystem_c.dylib) + 869  [0x7fff8a930fe9]
    +           ! 2527 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff868fd0fa]
    +           1 cerror_nocancel  (in libsystem_kernel.dylib) + 28  [0x7fff868fe4f0]
    2528 Thread_21120628: JavaScriptCore::Marking
    + 2528 thread_start  (in libsystem_c.dylib) + 13  [0x7fff8a9191e1]
    +   2528 _pthread_start  (in libsystem_c.dylib) + 327  [0x7fff8a92c7a2]
    +     2528 WTF::wtfThreadEntryPoint(void*)  (in JavaScriptCore) + 15  [0x7fff8f60d2bf]
    +       2528 JSC::MarkStackThreadSharedData::markingThreadMain()  (in JavaScriptCore) + 214  [0x7fff8f55a9b6]
    +         2528 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode)  (in JavaScriptCore) + 212  [0x7fff8f55aad4]
    +           2528 _pthread_cond_wait  (in libsystem_c.dylib) + 869  [0x7fff8a930fe9]
    +             2528 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff868fd0fa]
    2528 Thread_21120629: JavaScriptCore::Marking
    + 2528 thread_start  (in libsystem_c.dylib) + 13  [0x7fff8a9191e1]
    +   2528 _pthread_start  (in libsystem_c.dylib) + 327  [0x7fff8a92c7a2]
    +     2528 WTF::wtfThreadEntryPoint(void*)  (in JavaScriptCore) + 15  [0x7fff8f60d2bf]
    +       2528 JSC::MarkStackThreadSharedData::markingThreadMain()  (in JavaScriptCore) + 214  [0x7fff8f55a9b6]
    +         2528 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode)  (in JavaScriptCore) + 212  [0x7fff8f55aad4]
    +           2528 _pthread_cond_wait  (in libsystem_c.dylib) + 869  [0x7fff8a930fe9]
    +             2528 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff868fd0fa]
    2528 Thread_21120630: JavaScriptCore::Marking
    + 2528 thread_start  (in libsystem_c.dylib) + 13  [0x7fff8a9191e1]
    +   2528 _pthread_start  (in libsystem_c.dylib) + 327  [0x7fff8a92c7a2]
    +     2528 WTF::wtfThreadEntryPoint(void*)  (in JavaScriptCore) + 15  [0x7fff8f60d2bf]
    +       2528 JSC::MarkStackThreadSharedData::markingThreadMain()  (in JavaScriptCore) + 214  [0x7fff8f55a9b6]
    +         2528 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode)  (in JavaScriptCore) + 212  [0x7fff8f55aad4]
    +           2528 _pthread_cond_wait  (in libsystem_c.dylib) + 869  [0x7fff8a930fe9]
    +             2528 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff868fd0fa]

    1 Thread_24512490   DispatchQueue_72: TSystemNotificationTask  (serial)
    + 1 start_wqthread  (in libsystem_c.dylib) + 13  [0x7fff8a9191d1]
    +   1 _pthread_wqthread  (in libsystem_c.dylib) + 404  [0x7fff8a92ed0b]
    +     1 _dispatch_worker_thread2  (in libdispatch.dylib) + 249  [0x7fff83b301c3]
    +       1 _dispatch_queue_invoke  (in libdispatch.dylib) + 52  [0x7fff83b302f1]
    +         1 _dispatch_queue_drain  (in libdispatch.dylib) + 180  [0x7fff83b30448]
    +           1 _dispatch_queue_invoke  (in libdispatch.dylib) + 72  [0x7fff83b30305]
    +             1 _dispatch_source_invoke  (in libdispatch.dylib) + 691  [0x7fff83b3129b]
    +               1 _dispatch_client_callout  (in libdispatch.dylib) + 8  [0x7fff83b2f0b6]
    +                 1 receive_and_dispatch_rcv_msg  (in CarbonCore) + 170  [0x7fff884e2f91]
    +                   1 FSEventsD2F_server  (in CarbonCore) + 81  [0x7fff884e3014]
    +                     1 _Xcallback_rpc  (in CarbonCore) + 292  [0x7fff884e313f]
    +                       1 implementation_callback_rpc  (in CarbonCore) + 1625  [0x7fff884e381c]
    +                         1 TSystemNotificationTask::HandleFileChanged(__FSEventStream const*, void*, unsigned long, void*, unsigned int const*, unsigned long long const*)  (in DesktopServicesPriv) + 84  [0x7fff835ca23e]
    +                           1 TNode::HandleChange(char*, unsigned int, TCountedPtr const&)  (in DesktopServicesPriv) + 2903  [0x7fff835cadcf]
    +                             1 TNode::HandleRecursiveListeners()  (in DesktopServicesPriv) + 281  [0x7fff835cb67d]
    +                               1 operator new(unsigned long)  (in libc++.1.dylib) + 38  [0x7fff87e1b105]
    +                                 1 malloc  (in libsystem_c.dylib) + 41  [0x7fff8a945c07]
    +                                   1 malloc_zone_malloc  (in libsystem_c.dylib) + 71  [0x7fff8a9451b3]
    +                                     1 szone_malloc_should_clear  (in libsystem_c.dylib) + 971  [0x7fff8a952b38]
    +                                       1 tiny_malloc_from_free_list  (in libsystem_c.dylib) + 45  [0x7fff8a9521a5]
    1 Thread_24512654   DispatchQueue_207: TFSVolumeInfo::GetSyncGCDQueue  (serial)
      1 start_wqthread  (in libsystem_c.dylib) + 13  [0x7fff8a9191d1]
        1 _pthread_wqthread  (in libsystem_c.dylib) + 404  [0x7fff8a92ed0b]
          1 _dispatch_worker_thread2  (in libdispatch.dylib) + 249  [0x7fff83b301c3]
            1 _dispatch_queue_invoke  (in libdispatch.dylib) + 52  [0x7fff83b302f1]
              1 _dispatch_queue_drain  (in libdispatch.dylib) + 235  [0x7fff83b3047f]
                1 _dispatch_client_callout  (in libdispatch.dylib) + 8  [0x7fff83b2f0b6]
                  1 _dispatch_call_block_and_release  (in libdispatch.dylib) + 15  [0x7fff83b32f01]
                    1 __PostNodeTaskRequest_block_invoke_0  (in DesktopServicesPriv) + 91  [0x7fff8359aba1]
                      1 ExceptionSafeBlock(void ()() block_pointer)  (in DesktopServicesPriv) + 12  [0x7fff8359ac00]
                        1 __block_global_1  (in DesktopServicesPriv) + 82  [0x7fff8360e11f]
                          1 TNode::HandleNodeRequest(TCountedPtr const&, TCountedPtr const&)  (in DesktopServicesPriv) + 757  [0x7fff8359af4b]
                            1 TNode::HandleSync(TCountedPtr const&, TNodePtr const&)  (in DesktopServicesPriv) + 42  [0x7fff835be948]
                              1 TNode::HandleSync(unsigned int)  (in DesktopServicesPriv) + 389  [0x7fff835aa8c1]
                                1 CFURLCreateFileReferenceURL  (in CoreFoundation) + 264  [0x7fff84d4f228]
                                  1 _retainedComponentString  (in CoreFoundation) + 275  [0x7fff84cd2de3]
                                    1 CFStringCreateWithSubstring  (in CoreFoundation) + 651  [0x7fff84cca8fb]
                                      1 __CFStringCreateImmutableFunnel3  (in CoreFoundation) + 2707  [0x7fff84cb2983]
                                        1 _CFRuntimeCreateInstance  (in CoreFoundation) + 405  [0x7fff84cb2e55]

Total number in stack (recursive counted multiple, when >=5):
        8       _pthread_start  (in libsystem_c.dylib) + 327  [0x7fff8a92c7a2]
        8       thread_start  (in libsystem_c.dylib) + 13  [0x7fff8a9191e1]
        5       __psynch_cvwait  (in libsystem_kernel.dylib) + 0  [0x7fff868fd0f0]
        5       _pthread_cond_wait  (in libsystem_c.dylib) + 869  [0x7fff8a930fe9]
        5       start_wqthread  (in libsystem_c.dylib) + 13  [0x7fff8a9191d1]

Sort by top of stack, same collapsed (when >= 5):
        __psynch_cvwait  (in libsystem_kernel.dylib)        12639
        __workq_kernreturn  (in libsystem_kernel.dylib)        7582
        mach_msg_trap  (in libsystem_kernel.dylib)        7093
        __select  (in libsystem_kernel.dylib)        2528
        kevent  (in libsystem_kernel.dylib)        2528
        __CFRunLoopCollectSources0  (in CoreFoundation)        361
        CFBasicHashGetBucket  (in CoreFoundation)        49
        CFBasicHashApply  (in CoreFoundation)        28
        mk_timer_arm  (in libsystem_kernel.dylib)        11
        __CFSetApplyFunction_block_invoke_0  (in CoreFoundation)        7

What's interesting here are the lines like these:

2528 Thread_21120628: JavaScriptCore::Marking

Inside Finder.app there is a JavaScriptCore doing your text rendering!

I was so (unpleasantly) surprised by this. I thought M$ tried this also, 10 years ago, and failed horribly.
Well, to ease the worries. It's just part of JS core that has been used, not the full JS implementation.

I've reported a bug to Apple about this issue.