|
2016-10-11
| ||
| 21:55 | • Closed ticket [3cc1d91345]: duplicate calls to TclpFreeAllocCache() on thread exits plus 6 other changes artifact: e6cdedfe66 user: jan.nijtmans | |
| 21:52 | Fix [3cc1d91345]: duplicate calls to TclpFreeAllocCache() on thread exists check-in: bbfcd2c669 user: jan.nijtmans tags: trunk | |
| 21:43 | Fix [3cc1d91345]: duplicate calls to TclpFreeAllocCache() on thread exists check-in: 7a3c8a4b0d user: jan.nijtmans tags: core-8-6-branch | |
| 21:35 | Fix [3cc1d91345]: duplicate calls to TclpFreeAllocCache() on thread exists check-in: 509d964dcf user: jan.nijtmans tags: core-8-5-branch | |
|
2016-10-08
| ||
| 16:56 | • Ticket [3cc1d91345] duplicate calls to TclpFreeAllocCache() on thread exits status still Open with 4 other changes artifact: ddedd046fd user: dkf | |
|
2016-10-07
| ||
| 13:14 | • Ticket [3cc1d91345]: 3 changes artifact: e0473d98a6 user: gustafn2 | |
| 13:12 | • Add attachment thread-cleanup-doc.patch to ticket [3cc1d91345] artifact: 2b63d14a28 user: gustafn2 | |
|
2016-09-26
| ||
| 18:24 | • Ticket [3cc1d91345] duplicate calls to TclpFreeAllocCache() on thread exits status still Open with 3 other changes artifact: 7d772b4542 user: gustafn2 | |
| 18:23 | • Add attachment pthread-callback.patch to ticket [3cc1d91345] artifact: f479a38128 user: gustafn2 | |
| 14:47 | • Ticket [3cc1d91345] duplicate calls to TclpFreeAllocCache() on thread exits status still Open with 5 other changes artifact: 3ba9d713c1 user: jan.nijtmans | |
| 13:05 | • New ticket [3cc1d91345]. artifact: 1e4e751598 user: gustafn2 | |
| Ticket UUID: | 3cc1d91345c31934a269f3641bfd4ad4583695b6 | |||
| Title: | duplicate calls to TclpFreeAllocCache() on thread exits | |||
| Type: | Bug | Version: | 8.6.6, 8.5 | |
| Submitter: | gustafn2 | Created on: | 2016-09-26 13:05:46 | |
| Subsystem: | 49. Threading | Assigned To: | jan.nijtmans | |
| Priority: | 8 | Severity: | Severe | |
| Status: | Closed | Last Modified: | 2016-10-11 21:55:25 | |
| Resolution: | Fixed | Closed By: | jan.nijtmans | |
| Closed on: | 2016-10-11 21:55:25 | |||
| Description: |
Tcl can crash during shutdown in multithreaded applications on systems
using pthreads. This applies to e.g. Linux or Mac OS X when compiled without
-DPUFIY. In Tcl (e.g. core-8-6-branch, AFIKT since "ever") the function
TclpFreeAllocCache() is called twice during thread shutdowns, once via
"manual" call indirectly via Tcl_FinalizeThread(), and once via pthreads.
The automatic call happens, since Tcl registers TclpFreeAllocCache() with
pthread_key_create(&key, TclpFreeAllocCache);
The duplicated call itself is usually not harmful (but useless), but poses a
serious problem when a multi-threaded C program registers a thread-shutdown
callback via
pthread_key_create(&key, CleanupFunction);
where typically CleanupFunction() calls some Tcl-script and then
Tcl_FinalizeThread(). In such cases, the order of calls of
TclpFreeAllocCache() and CleanupFunction() is random, since
http://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_key_create.html
states that the order of destructor calls is unspecified, when more
than one destructor exists for a thread when it exits. After a call to
TclpFreeAllocCache() no Tcl eval can be performed in this
thread. Attempts are likely to crash. The problem is quite old but has
intensified in tcl 8.6 due to the NRE machinery (TclNRAddCallback(),
TclNREvalObjv()) which puts more stress on memory management.
I would argue, that every larger threaded C program has to register a
per-thread exit handler for per-thread cleanups. This happens as well
in NaviSever/AOLserver, where tcl-based callbacks can be registered
for interp destroys.
One simple fix is to prevent the double invocation of
TclpFreeAllocCache() and to rely on the manual call in
Tcl_FinalizeThread(). This is actually nothing new and corresponds to
current behavior under windows (there is not "automatic" call either).
Note that the problem does not exist on unix systems when compiled
with -DPURIFY, since in such cases, TclpFreeAllocCache() is never
called.
==================================================================
--- unix/tclUnixThrd.c
+++ unix/tclUnixThrd.c
@@ -743,11 +743,11 @@
TclpGetAllocCache(void)
{
if (!initialized) {
pthread_mutex_lock(allocLockPtr);
if (!initialized) {
- pthread_key_create(&key, TclpFreeAllocCache);
+ pthread_key_create(&key, NULL);
initialized = 1;
}
pthread_mutex_unlock(allocLockPtr);
}
return pthread_getspecific(key);
==================================================================
Note, that the source code documentation was not correctly describing
the current behavior either. The attached patch suggests some
improvements.
See below for evidence of crashes and the sketched behavior. The first
listings shows printf-traces with thread-IDs, where the intersting
lines of the thread with ID 7000003a6000 are marked with "A". It shows
a case, where TclpFreeAllocCache() is called automatically via
pthreads, before the thread exit handler NaviServer could call
Tcl_FinalizeThread().
The second listing shows a backtrace of such a crash. Since
TclpFreeAllocCache() was called before, tcl crashes in TclNREvalObjv(),
or more precisely in
TclNRAddCallback(interp, NRCommand, NULL, NULL, NULL, NULL);
where it attempts to obtain memory. This crash happens before Tcl_FinalizeThread(). The patch will not cause any difference on systems
where Tcl_FinalizeThread() is called.
All said applies to Tcl 8.5 as well.
all the best
-gustaf neumann
===================================================
In order to reproduce this crashes, get e.g. the actual version of NaviServer
from bitbucket [1], compile it, and run
make test TESTFLAGS="-file ns_parseurl.test"
a few times from its install directory. The crash happens even more often,
when the final cleanup call is not omitted [2].
[1] https://bitbucket.org/naviserver/naviserver
[2] https://bitbucket.org/naviserver/naviserver/commits/137b9512f773307fc3f211642225466428dc88b3
===================================================
[21/Sep/2016:12:17:09][7286.7fff7460a000][-main-] Notice: nsmain: NaviServer/4.99.13d1 stopping
[21/Sep/2016:12:17:09][7286.7fff7460a000][-main-] Notice: [driver:nssock]: stopping
[21/Sep/2016:12:17:09][7286.7fff7460a000][-main-] Notice: server [test]: stopping
[21/Sep/2016:12:17:09][7286.7fff7460a000][-main-] Notice: server [testvhost]: stopping
[21/Sep/2016:12:17:09][7286.7000002a0000][-conn:test:emergency:0-] Notice: exiting: shutdown pending
[21/Sep/2016:12:17:09][7286.7fff7460a000][-main-] Notice: server [testvhost2]: stopping
#### (7000002a0000) TclpFreeAllocCache 0x7feb085007d0 initialized 1
[21/Sep/2016:12:17:09][7286.700000429000][-conn:testvhost:0-] Notice: exiting: shutdown pending
#### (700000429000) TclpFreeAllocCache 0x7feb08409030 initialized 1
#### (700000429000) NsCleanupTls: NS_finalshutdown 1
#### (700000429000) ==================== DeleteInterps
#### (700000429000) ==================== DeleteInterp 0x7feb098e5010
#### RunTraces(itPtr, NS_TCL_TRACE_DELETE); ==============
#### RunTraces(0x7feb099d2410, 2); ==============
#### (700000429000) RunTrace(0x7feb099d2410, 2) interp 0x7feb098e5010 ==============
[21/Sep/2016:12:17:09][7286.7000004ac000][-conn:testvhost2:0-] Notice: exiting: shutdown pending
#### (7000004ac000) TclpFreeAllocCache 0x7feb08735230 initialized 1
#### (700000429000) NsfFinalizeCmd exitHandlerRound 0
[21/Sep/2016:12:17:09][7286.70000052f000][-driver:nssock-] Notice: exiting
#### (70000052f000) TclpFreeAllocCache 0x7feb086040e0 initialized 1
#### (700000429000) Tcl_DeleteInterp 0x7feb098e5010
#### (700000429000) NsCleanupTls: Tcl_FinalizeThread start
#### (700000429000) FinalizeThread quick 0
#### (700000429000) call thread exithandler 0x105494770(0x7feb098e5010)
+++ (700000429000) Nsf_ThreadExitProc 0x7feb098e5010
+++ (700000429000) ExitHandler interp 0x7feb098e5010 deleted 1 exitHandlerDestroyRound 2
#### (700000429000) tclBasic DeleteInterpProc 0x7feb098e5010
#### (700000429000) DeleteInterpProc could call NsfFinalizeCmd 0x7feb098e5010
#### (700000429000) DeleteInterpProc 0x7feb098e5010 DONE
#### (700000429000) call thread exithandler 0x104f07100(0x7feb0912e210)
#### (700000429000) call thread exithandler 0x104f07100(0x7feb099cd190)
#### (700000429000) call thread exithandler 0x104ef8be0(0x0)
#### (700000429000) call thread exithandler 0x104eafc20(0x7feb099ccb10)
#### (700000429000) call thread exithandler 0x104ee5a80(0x7feb099cc610)
#### (700000429000) call thread exithandler 0x104eca700(0x0)
#### (700000429000) call thread exithandler 0x104f28cb0(0x0)
#### (700000429000) call TclFinalizeIOSubsystem()
#### (700000429000) TclFinalizeNotifier tsdPtr 0x7feb08adf290 tsdPtr->initialized 1
#### (700000429000) TclFinalizeNotifier firstNotifierPtr 0x7feb09951a90 tsdPtr 0x7feb08adf290 count 6
#### (700000429000) TclFinalizeThreadData 0
#### (700000429000) TclFinalizeThreadAllocThread 0x7feb08409030
#### (700000429000) TclpFreeAllocCache 0x7feb08409030 initialized 1
#### (700000429000) NsCleanupTls: Tcl_FinalizeThread done
#### (700000429000) TclpFreeAllocCache 0x7feb08409030 initialized 1
#### (7000002a0000) NsCleanupTls: NS_finalshutdown 1
#### (7000002a0000) ==================== DeleteInterps
#### (7000002a0000) ==================== DeleteInterp 0x7feb09155610
#### RunTraces(itPtr, NS_TCL_TRACE_DELETE); ==============
#### RunTraces(0x7feb0919a810, 2); ==============
#### (7000002a0000) RunTrace(0x7feb0919a810, 2) interp 0x7feb09155610 ==============
#### (7000002a0000) NsfFinalizeCmd exitHandlerRound 0
#### (7000002a0000) Tcl_DeleteInterp 0x7feb09155610
#### (7000002a0000) NsCleanupTls: Tcl_FinalizeThread start
#### (7000002a0000) FinalizeThread quick 0
#### (7000002a0000) call thread exithandler 0x105494770(0x7feb09155610)
+++ (7000002a0000) Nsf_ThreadExitProc 0x7feb09155610
+++ (7000002a0000) ExitHandler interp 0x7feb09155610 deleted 1 exitHandlerDestroyRound 2
#### (7000002a0000) tclBasic DeleteInterpProc 0x7feb09155610
#### (7000002a0000) DeleteInterpProc could call NsfFinalizeCmd 0x7feb09155610
#### (7000002a0000) DeleteInterpProc 0x7feb09155610 DONE
#### (7000002a0000) call thread exithandler 0x104f07100(0x7feb0918e790)
#### (7000002a0000) call thread exithandler 0x104f07100(0x7feb0918e510)
#### (7000002a0000) call thread exithandler 0x104ef8be0(0x0)
#### (7000002a0000) call thread exithandler 0x104eafc20(0x7feb0918de90)
#### (7000002a0000) call thread exithandler 0x104ee5a80(0x7feb0918d990)
#### (7000002a0000) call thread exithandler 0x104eca700(0x0)
#### (7000002a0000) call thread exithandler 0x104f28cb0(0x0)
#### (7000002a0000) call TclFinalizeIOSubsystem()
#### (7000002a0000) TclFinalizeNotifier tsdPtr 0x7feb0895e490 tsdPtr->initialized 1
#### (7000002a0000) TclFinalizeNotifier firstNotifierPtr 0x7feb09951a90 tsdPtr 0x7feb0895e490 count 5
#### (7000002a0000) TclFinalizeThreadData 0
#### (7000002a0000) TclFinalizeThreadAllocThread 0x7feb085007d0
#### (7000002a0000) TclpFreeAllocCache 0x7feb085007d0 initialized 1
#### (7000002a0000) NsCleanupTls: Tcl_FinalizeThread done
#### (7000002a0000) TclpFreeAllocCache 0x7feb08735230 initialized 1
#### (7000004ac000) NsCleanupTls: NS_finalshutdown 1
#### (7000004ac000) ==================== DeleteInterps
#### (7000004ac000) ==================== DeleteInterp 0x7feb0a1f5210
#### RunTraces(itPtr, NS_TCL_TRACE_DELETE); ==============
#### RunTraces(0x7feb0a240c10, 2); ==============
#### (7000004ac000) RunTrace(0x7feb0a240c10, 2) interp 0x7feb0a1f5210 ==============
#### (7000004ac000) NsfFinalizeCmd exitHandlerRound 0
A [21/Sep/2016:12:17:09][7286.7000003a6000][-conn:test:1-] Notice: exiting: shutdown pending
A #### (7000003a6000) TclpFreeAllocCache 0x7feb08500a80 initialized 1
#### (7000004ac000) Tcl_DeleteInterp 0x7feb0a1f5210
#### (7000004ac000) NsCleanupTls: Tcl_FinalizeThread start
#### (7000004ac000) FinalizeThread quick 0
#### (7000004ac000) call thread exithandler 0x105494770(0x7feb0a1f5210)
+++ (7000004ac000) Nsf_ThreadExitProc 0x7feb0a1f5210
+++ (7000004ac000) ExitHandler interp 0x7feb0a1f5210 deleted 1 exitHandlerDestroyRound 2
#### (7000004ac000) tclBasic DeleteInterpProc 0x7feb0a1f5210
#### (7000004ac000) DeleteInterpProc could call NsfFinalizeCmd 0x7feb0a1f5210
#### (7000004ac000) DeleteInterpProc 0x7feb0a1f5210 DONE
#### (7000004ac000) call thread exithandler 0x104f07100(0x7feb0a239d10)
#### (7000004ac000) call thread exithandler 0x104f07100(0x7feb0a239a90)
#### (7000004ac000) call thread exithandler 0x104ef8be0(0x0)
#### (7000004ac000) call thread exithandler 0x104eafc20(0x7feb0a239410)
#### (7000004ac000) call thread exithandler 0x104ee5a80(0x7feb0a238f10)
#### (7000004ac000) call thread exithandler 0x104eca700(0x0)
#### (7000004ac000) call thread exithandler 0x104f28cb0(0x0)
#### (7000004ac000) call TclFinalizeIOSubsystem()
#### (7000004ac000) TclFinalizeNotifier tsdPtr 0x7feb09951a90 tsdPtr->initialized 1
#### (7000004ac000) TclFinalizeNotifier firstNotifierPtr 0x7feb09151a90 tsdPtr 0x7feb09951a90 count 4
#### (7000004ac000) TclFinalizeThreadData 0
#### (7000004ac000) TclFinalizeThreadAllocThread 0x7feb085007d0
#### (7000004ac000) TclpFreeAllocCache 0x7feb085007d0 initialized 1
#### (7000004ac000) NsCleanupTls: Tcl_FinalizeThread done
#### (7000004ac000) TclpFreeAllocCache 0x7feb085007d0 initialized 1
#### (70000052f000) NsCleanupTls: NS_finalshutdown 1
#### (70000052f000) NsCleanupTls: Tcl_FinalizeThread start
#### (70000052f000) FinalizeThread quick 0
#### (70000052f000) TclFinalizeThreadData 0
#### (70000052f000) TclFinalizeThreadAllocThread 0x7feb08735230
#### (70000052f000) TclpFreeAllocCache 0x7feb08735230 initialized 1
#### (70000052f000) NsCleanupTls: Tcl_FinalizeThread done
#### (70000052f000) TclpFreeAllocCache 0x7feb08735230 initialized 1
A #### (7000003a6000) NsCleanupTls: NS_finalshutdown 1
A #### (7000003a6000) ==================== DeleteInterps
A #### (7000003a6000) ==================== DeleteInterp 0x7feb0a1c3c10
A #### RunTraces(itPtr, NS_TCL_TRACE_DELETE); ==============
A #### RunTraces(0x7feb0c814810, 2); ==============
A #### (7000003a6000) RunTrace(0x7feb0c814810, 2) interp 0x7feb0a1c3c10 ==============
make: *** [test] Segmentation fault: 11 (core dumped)
Process: nsd [84637]
Path: /usr/local/src/naviserver/nsd/nsd
Identifier: nsd
Version: 0
Code Type: X86-64 (Native)
Parent Process: make [84565]
Responsible: Terminal [302]
User ID: 501
Date/Time: 2016-09-26 14:19:42.979 +0200
OS Version: Mac OS X 10.11.6 (15G1004)
Report Version: 11
Anonymous UUID: 131B4905-9EE2-71A1-2888-2AA905279DF3
Sleep/Wake UUID: 1B26B782-4E7D-4366-9B96-D49E5AF9FF8C
Time Awake Since Boot: 21000 seconds
Time Since Wake: 8700 seconds
System Integrity Protection: enabled
Crashed Thread: 6
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000020
VM Regions Near 0x20:
-->
__TEXT 000000010818f000-0000000108192000 [ 12K] r-x/rwx SM=COW /usr/local/src/naviserver/nsd/nsd
Thread 0:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff892d9de6 __psynch_mutexwait + 10
1 libsystem_pthread.dylib 0x00007fff8b716e4a _pthread_mutex_lock_wait + 89
2 libnsthread.dylib 0x00000001082c1708 NsLockSet + 88 (pthread.c:253)
3 libnsthread.dylib 0x00000001082beb71 Ns_MutexLock + 193 (mutex.c:259)
4 libnsd.dylib 0x00000001081e1003 NsWaitServer + 179 (queue.c:924)
5 libnsd.dylib 0x00000001081eb0cc NsStopServers + 220 (server.c:187)
6 libnsd.dylib 0x00000001081d90d7 Ns_Main + 3287 (nsmain.c:719)
7 nsd 0x0000000108191f79 main + 41 (main.c:62)
8 libdyld.dylib 0x00007fff8a1c65ad start + 1
Thread 1:
0 libsystem_kernel.dylib 0x00007fff892d3f72 mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff892d33b3 mach_msg + 55
2 com.apple.CoreFoundation 0x00007fff9099e1c4 __CFRunLoopServiceMachPort + 212
3 com.apple.CoreFoundation 0x00007fff9099d68c __CFRunLoopRun + 1356
4 com.apple.CoreFoundation 0x00007fff9099ced8 CFRunLoopRunSpecific + 296
5 libtcl8.6.dylib 0x00000001084b44a7 Tcl_WaitForEvent + 407 (tclMacOSXNotify.c:1267)
6 libtcl8.6.dylib 0x00000001084346dd Tcl_DoOneEvent + 413 (tclNotify.c:946)
7 libtcl8.6.dylib 0x00000001083cc3fb Tcl_VwaitObjCmd + 219 (tclEvent.c:1413)
8 libtcl8.6.dylib 0x00000001082f1dee Dispatch + 126 (tclBasic.c:4357)
9 libtcl8.6.dylib 0x00000001082edd66 TclNRRunCallbacks + 166 (tclBasic.c:4390)
10 libtcl8.6.dylib 0x00000001082eda94 Tcl_EvalObjv + 84 (tclBasic.c:4120)
11 libtcl8.6.dylib 0x00000001082ef428 TclEvalEx + 3128 (tclBasic.c:5259)
12 libtcl8.6.dylib 0x000000010841ff3d Tcl_FSEvalFileEx + 1037 (tclIOUtil.c:1826)
13 libtcl8.6.dylib 0x000000010842b188 Tcl_MainEx + 1160 (tclMain.c:420)
14 libnsd.dylib 0x00000001081d94cc CmdThread + 108 (nsmain.c:1137)
15 libnsthread.dylib 0x00000001082c0517 NsThreadMain + 151 (thread.c:227)
16 libnsthread.dylib 0x00000001082c1ab5 ThreadMain + 21 (pthread.c:810)
17 libsystem_pthread.dylib 0x00007fff8b71699d _pthread_body + 131
18 libsystem_pthread.dylib 0x00007fff8b71691a _pthread_start + 168
19 libsystem_pthread.dylib 0x00007fff8b714351 thread_start + 13
Thread 2:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib 0x00007fff892daefa kevent_qos + 10
1 libdispatch.dylib 0x00007fff94f51165 _dispatch_mgr_invoke + 216
2 libdispatch.dylib 0x00007fff94f50dcd _dispatch_mgr_thread + 52
Thread 3:
0 libsystem_kernel.dylib 0x00007fff892da5e2 __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff8b716578 _pthread_wqthread + 1283
2 libsystem_pthread.dylib 0x00007fff8b714341 start_wqthread + 13
Thread 4:
0 libsystem_kernel.dylib 0x00007fff892da5e2 __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff8b716578 _pthread_wqthread + 1283
2 libsystem_pthread.dylib 0x00007fff8b714341 start_wqthread + 13
Thread 5:
0 libsystem_kernel.dylib 0x00007fff892d9db6 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff8b717728 _pthread_cond_wait + 767
2 libnsthread.dylib 0x00000001082c20b0 Ns_CondTimedWait + 256 (pthread.c:746)
3 libnsd.dylib 0x00000001081eab77 SchedThread + 839 (sched.c:873)
4 libnsthread.dylib 0x00000001082c0517 NsThreadMain + 151 (thread.c:227)
5 libnsthread.dylib 0x00000001082c1ab5 ThreadMain + 21 (pthread.c:810)
6 libsystem_pthread.dylib 0x00007fff8b71699d _pthread_body + 131
7 libsystem_pthread.dylib 0x00007fff8b71691a _pthread_start + 168
8 libsystem_pthread.dylib 0x00007fff8b714351 thread_start + 13
Thread 6 Crashed:
0 libtcl8.6.dylib 0x00000001082edb33 TclNREvalObjv + 147 (tclBasic.c:4150)
1 libtcl8.6.dylib 0x00000001082eda81 Tcl_EvalObjv + 65 (tclBasic.c:4119)
2 libtcl8.6.dylib 0x00000001082ef428 TclEvalEx + 3128 (tclBasic.c:5259)
3 libtcl8.6.dylib 0x00000001082ee7dc Tcl_EvalEx + 60 (tclBasic.c:4924)
4 libnsd.dylib 0x00000001081f7092 Ns_TclEvalCallback + 978 (tclcallbacks.c:176)
5 libnsd.dylib 0x0000000108203c9e NsTclTraceProc + 46 (tclinit.c:1769)
6 libnsd.dylib 0x000000010820216f RunTraces + 335 (tclinit.c:2175)
7 libnsd.dylib 0x00000001082023dc Ns_TclDestroyInterp + 220 (tclinit.c:604)
8 libnsd.dylib 0x000000010820131c DeleteInterps + 140 (tclinit.c:2311)
9 libnsthread.dylib 0x00000001082c0fc3 NsCleanupTls + 211 (tls.c:200)
10 libnsthread.dylib 0x00000001082c1521 CleanupTls + 129 (pthread.c:848)
11 libsystem_pthread.dylib 0x00007fff8b718387 _pthread_tsd_cleanup + 470
12 libsystem_pthread.dylib 0x00007fff8b717f63 _pthread_exit + 117
13 libsystem_pthread.dylib 0x00007fff8b718c0e pthread_exit + 30
14 libnsthread.dylib 0x00000001082c1ada Ns_ThreadExit + 26
15 libnsd.dylib 0x00000001081e23e9 NsConnThread + 3737 (queue.c:1395)
16 libnsthread.dylib 0x00000001082c0517 NsThreadMain + 151 (thread.c:227)
17 libnsthread.dylib 0x00000001082c1ab5 ThreadMain + 21 (pthread.c:810)
18 libsystem_pthread.dylib 0x00007fff8b71699d _pthread_body + 131
19 libsystem_pthread.dylib 0x00007fff8b71691a _pthread_start + 168
20 libsystem_pthread.dylib 0x00007fff8b714351 thread_start + 13
Thread 7:
0 libsystem_kernel.dylib 0x00007fff892d9de6 __psynch_mutexwait + 10
1 libsystem_pthread.dylib 0x00007fff8b716e4a _pthread_mutex_lock_wait + 89
2 libnsthread.dylib 0x00000001082c1708 NsLockSet + 88 (pthread.c:253)
3 libnsthread.dylib 0x00000001082beb71 Ns_MutexLock + 193 (mutex.c:259)
4 libnsd.dylib 0x00000001081e2356 NsConnThread + 3590 (queue.c:1378)
5 libnsthread.dylib 0x00000001082c0517 NsThreadMain + 151 (thread.c:227)
6 libnsthread.dylib 0x00000001082c1ab5 ThreadMain + 21 (pthread.c:810)
7 libsystem_pthread.dylib 0x00007fff8b71699d _pthread_body + 131
8 libsystem_pthread.dylib 0x00007fff8b71691a _pthread_start + 168
9 libsystem_pthread.dylib 0x00007fff8b714351 thread_start + 13
Thread 8:
0 libsystem_kernel.dylib 0x00007fff892da10a __semwait_signal + 10
1 libsystem_pthread.dylib 0x00007fff8b718787 pthread_join + 444
2 libnsthread.dylib 0x00000001082c1b48 Ns_ThreadJoin + 104 (pthread.c:457)
3 libnsd.dylib 0x00000001081e1199 JoinConnThread + 89 (queue.c:1747)
4 libnsd.dylib 0x00000001081e2393 NsConnThread + 3651 (queue.c:1386)
5 libnsthread.dylib 0x00000001082c0517 NsThreadMain + 151 (thread.c:227)
6 libnsthread.dylib 0x00000001082c1ab5 ThreadMain + 21 (pthread.c:810)
7 libsystem_pthread.dylib 0x00007fff8b71699d _pthread_body + 131
8 libsystem_pthread.dylib 0x00007fff8b71691a _pthread_start + 168
9 libsystem_pthread.dylib 0x00007fff8b714351 thread_start + 13
Thread 9:
0 libtcl8.6.dylib 0x000000010846466b GetBlocks + 523 (tclThreadAlloc.c:1007)
1 libtcl8.6.dylib 0x000000010846417f TclpAlloc + 223 (tclThreadAlloc.c:358)
2 libtcl8.6.dylib 0x00000001082fc733 Tcl_Alloc + 19 (tclCkalloc.c:1059)
3 libtcl8.6.dylib 0x0000000108456d1f Tcl_NewStringObj + 159 (tclStringObj.c:287)
4 libtcl8.6.dylib 0x000000010843dfd4 TclSubstTokens + 1524 (tclParse.c:2367)
5 libtcl8.6.dylib 0x00000001082eee53 TclEvalEx + 1635 (tclBasic.c:5146)
6 libtcl8.6.dylib 0x00000001082ee7dc Tcl_EvalEx + 60 (tclBasic.c:4924)
7 libnsd.dylib 0x00000001081f7092 Ns_TclEvalCallback + 978 (tclcallbacks.c:176)
8 libnsd.dylib 0x0000000108203c9e NsTclTraceProc + 46 (tclinit.c:1769)
9 libnsd.dylib 0x000000010820216f RunTraces + 335 (tclinit.c:2175)
10 libnsd.dylib 0x00000001082023dc Ns_TclDestroyInterp + 220 (tclinit.c:604)
11 libnsd.dylib 0x000000010820131c DeleteInterps + 140 (tclinit.c:2311)
12 libnsthread.dylib 0x00000001082c0fc3 NsCleanupTls + 211 (tls.c:200)
13 libnsthread.dylib 0x00000001082c1521 CleanupTls + 129 (pthread.c:848)
14 libsystem_pthread.dylib 0x00007fff8b718387 _pthread_tsd_cleanup + 470
15 libsystem_pthread.dylib 0x00007fff8b717f63 _pthread_exit + 117
16 libsystem_pthread.dylib 0x00007fff8b718c0e pthread_exit + 30
17 libnsthread.dylib 0x00000001082c1ada Ns_ThreadExit + 26
18 libnsd.dylib 0x00000001081e23e9 NsConnThread + 3737 (queue.c:1395)
19 libnsthread.dylib 0x00000001082c0517 NsThreadMain + 151 (thread.c:227)
20 libnsthread.dylib 0x00000001082c1ab5 ThreadMain + 21 (pthread.c:810)
21 libsystem_pthread.dylib 0x00007fff8b71699d _pthread_body + 131
22 libsystem_pthread.dylib 0x00007fff8b71691a _pthread_start + 168
23 libsystem_pthread.dylib 0x00007fff8b714351 thread_start + 13
Thread 10:
0 libsystem_kernel.dylib 0x00007fff892d9de6 __psynch_mutexwait + 10
1 libsystem_pthread.dylib 0x00007fff8b716e4a _pthread_mutex_lock_wait + 89
2 libtcl8.6.dylib 0x0000000108496adc Tcl_MutexLock + 140 (tclUnixThrd.c:439)
3 libtcl8.6.dylib 0x000000010846540a LockBucket + 42 (tclThreadAlloc.c:878)
4 libtcl8.6.dylib 0x00000001084644ad GetBlocks + 77 (tclThreadAlloc.c:984)
5 libtcl8.6.dylib 0x000000010846417f TclpAlloc + 223 (tclThreadAlloc.c:358)
6 libtcl8.6.dylib 0x00000001082fc733 Tcl_Alloc + 19 (tclCkalloc.c:1059)
7 libtcl8.6.dylib 0x0000000108456d1f Tcl_NewStringObj + 159 (tclStringObj.c:287)
8 libtcl8.6.dylib 0x000000010843dfd4 TclSubstTokens + 1524 (tclParse.c:2367)
9 libtcl8.6.dylib 0x00000001082eee53 TclEvalEx + 1635 (tclBasic.c:5146)
10 libtcl8.6.dylib 0x00000001082ee7dc Tcl_EvalEx + 60 (tclBasic.c:4924)
11 libnsd.dylib 0x00000001081f7092 Ns_TclEvalCallback + 978 (tclcallbacks.c:176)
12 libnsd.dylib 0x0000000108203c9e NsTclTraceProc + 46 (tclinit.c:1769)
13 libnsd.dylib 0x000000010820216f RunTraces + 335 (tclinit.c:2175)
14 libnsd.dylib 0x00000001082023dc Ns_TclDestroyInterp + 220 (tclinit.c:604)
15 libnsd.dylib 0x000000010820131c DeleteInterps + 140 (tclinit.c:2311)
16 libnsthread.dylib 0x00000001082c0fc3 NsCleanupTls + 211 (tls.c:200)
17 libnsthread.dylib 0x00000001082c1521 CleanupTls + 129 (pthread.c:848)
18 libsystem_pthread.dylib 0x00007fff8b718387 _pthread_tsd_cleanup + 470
19 libsystem_pthread.dylib 0x00007fff8b717f63 _pthread_exit + 117
20 libsystem_pthread.dylib 0x00007fff8b718c0e pthread_exit + 30
21 libnsthread.dylib 0x00000001082c1ada Ns_ThreadExit + 26
22 libnsd.dylib 0x00000001081e23e9 NsConnThread + 3737 (queue.c:1395)
23 libnsthread.dylib 0x00000001082c0517 NsThreadMain + 151 (thread.c:227)
24 libnsthread.dylib 0x00000001082c1ab5 ThreadMain + 21 (pthread.c:810)
25 libsystem_pthread.dylib 0x00007fff8b71699d _pthread_body + 131
26 libsystem_pthread.dylib 0x00007fff8b71691a _pthread_start + 168
27 libsystem_pthread.dylib 0x00007fff8b714351 thread_start + 13
Thread 11:
0 libsystem_kernel.dylib 0x00007fff892db2a2 poll + 10
1 libnsd.dylib 0x0000000108235001 ns_poll + 97 (unix.c:963)
2 libnsd.dylib 0x00000001081c2fca PollWait + 106 (driver.c:1726)
3 libnsd.dylib 0x00000001081c2035 SpoolerThread + 293 (driver.c:3382)
4 libnsthread.dylib 0x00000001082c0517 NsThreadMain + 151 (thread.c:227)
5 libnsthread.dylib 0x00000001082c1ab5 ThreadMain + 21 (pthread.c:810)
6 libsystem_pthread.dylib 0x00007fff8b71699d _pthread_body + 131
7 libsystem_pthread.dylib 0x00007fff8b71691a _pthread_start + 168
8 libsystem_pthread.dylib 0x00007fff8b714351 thread_start + 13
Thread 12:
0 libsystem_kernel.dylib 0x00007fff892db2a2 poll + 10
1 libnsd.dylib 0x0000000108235001 ns_poll + 97 (unix.c:963)
2 libnsd.dylib 0x00000001081c2fca PollWait + 106 (driver.c:1726)
3 libnsd.dylib 0x00000001081c2035 SpoolerThread + 293 (driver.c:3382)
4 libnsthread.dylib 0x00000001082c0517 NsThreadMain + 151 (thread.c:227)
5 libnsthread.dylib 0x00000001082c1ab5 ThreadMain + 21 (pthread.c:810)
6 libsystem_pthread.dylib 0x00007fff8b71699d _pthread_body + 131
7 libsystem_pthread.dylib 0x00007fff8b71691a _pthread_start + 168
8 libsystem_pthread.dylib 0x00007fff8b714351 thread_start + 13
Thread 13:
0 libsystem_kernel.dylib 0x00007fff892db2a2 poll + 10
1 libnsd.dylib 0x0000000108235001 ns_poll + 97 (unix.c:963)
2 libnsd.dylib 0x00000001081c2fca PollWait + 106 (driver.c:1726)
3 libnsd.dylib 0x00000001081c2035 SpoolerThread + 293 (driver.c:3382)
4 libnsthread.dylib 0x00000001082c0517 NsThreadMain + 151 (thread.c:227)
5 libnsthread.dylib 0x00000001082c1ab5 ThreadMain + 21 (pthread.c:810)
6 libsystem_pthread.dylib 0x00007fff8b71699d _pthread_body + 131
7 libsystem_pthread.dylib 0x00007fff8b71691a _pthread_start + 168
8 libsystem_pthread.dylib 0x00007fff8b714351 thread_start + 13
Thread 14:
0 libsystem_kernel.dylib 0x00007fff892db2a2 poll + 10
1 libnsd.dylib 0x0000000108235001 ns_poll + 97 (unix.c:963)
2 libnsd.dylib 0x00000001081c2fca PollWait + 106 (driver.c:1726)
3 libnsd.dylib 0x00000001081c26b7 WriterThread + 407 (driver.c:4087)
4 libnsthread.dylib 0x00000001082c0517 NsThreadMain + 151 (thread.c:227)
5 libnsthread.dylib 0x00000001082c1ab5 ThreadMain + 21 (pthread.c:810)
6 libsystem_pthread.dylib 0x00007fff8b71699d _pthread_body + 131
7 libsystem_pthread.dylib 0x00007fff8b71691a _pthread_start + 168
8 libsystem_pthread.dylib 0x00007fff8b714351 thread_start + 13
Thread 15:
0 libsystem_kernel.dylib 0x00007fff892db2a2 poll + 10
1 libnsd.dylib 0x0000000108235001 ns_poll + 97 (unix.c:963)
2 libnsd.dylib 0x00000001081c2fca PollWait + 106 (driver.c:1726)
3 libnsd.dylib 0x00000001081c26b7 WriterThread + 407 (driver.c:4087)
4 libnsthread.dylib 0x00000001082c0517 NsThreadMain + 151 (thread.c:227)
5 libnsthread.dylib 0x00000001082c1ab5 ThreadMain + 21 (pthread.c:810)
6 libsystem_pthread.dylib 0x00007fff8b71699d _pthread_body + 131
7 libsystem_pthread.dylib 0x00007fff8b71691a _pthread_start + 168
8 libsystem_pthread.dylib 0x00007fff8b714351 thread_start + 13
Thread 16:
0 libsystem_kernel.dylib 0x00007fff892db2a2 poll + 10
1 libnsd.dylib 0x0000000108235001 ns_poll + 97 (unix.c:963)
2 libnsd.dylib 0x00000001081c2fca PollWait + 106 (driver.c:1726)
3 libnsd.dylib 0x00000001081c26b7 WriterThread + 407 (driver.c:4087)
4 libnsthread.dylib 0x00000001082c0517 NsThreadMain + 151 (thread.c:227)
5 libnsthread.dylib 0x00000001082c1ab5 ThreadMain + 21 (pthread.c:810)
6 libsystem_pthread.dylib 0x00007fff8b71699d _pthread_body + 131
7 libsystem_pthread.dylib 0x00007fff8b71691a _pthread_start + 168
8 libsystem_pthread.dylib 0x00007fff8b714351 thread_start + 13
Thread 17:
0 libsystem_kernel.dylib 0x00007fff892da07a __select + 10
1 libtcl8.6.dylib 0x00000001084b4f24 NotifierThreadProc + 884 (tclMacOSXNotify.c:1816)
2 libsystem_pthread.dylib 0x00007fff8b71699d _pthread_body + 131
3 libsystem_pthread.dylib 0x00007fff8b71691a _pthread_start + 168
4 libsystem_pthread.dylib 0x00007fff8b714351 thread_start + 13
Thread 6 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x0000000000000102 rcx: 0x0000000000200010 rdx: 0x00007fd2a081d010
rdi: 0x00007fd2a081d010 rsi: 0x0000000000000003 rbp: 0x000070000029f370 rsp: 0x000070000029f310
r8: 0x0000000000000000 r9: 0x0000000000000000 r10: 0x000070000029f7e0 r11: 0x00000fd2a360b964
r12: 0x00007000002a0000 r13: 0x00007000002a0000 r14: 0x0000000000000000 r15: 0x00007fff72165900
rip: 0x00000001082edb33 rfl: 0x0000000000010202 cr2: 0x0000000000000020
Logical CPU: 3
Error Code: 0x00000004
Trap Number: 14
Binary Images:
0x10818f000 - 0x108191ff7 +nsd (0) <2855EBB8-4F15-38B8-A0C9-DEBA95D94F26> /usr/local/src/naviserver/nsd/nsd
0x108197000 - 0x10824fff7 +libnsd.dylib (0) <8830CB07-0C0A-3C93-B370-2CDBF716CABD> /usr/local/src/naviserver/nsd/libnsd.dylib
0x1082a1000 - 0x1082b1fff +libz.1.dylib (0) <5FCFF38B-5983-3590-B5E9-074CF0950676> /opt/local/lib/libz.1.dylib
0x1082bc000 - 0x1082c2ff7 +libnsthread.dylib (0) <AE7BD076-96B3-3804-894E-326C4D803964> /usr/local/src/naviserver/nsthread/libnsthread.dylib
0x1082cc000 - 0x1084ecff3 +libtcl8.6.dylib (8.6.6 - 8.6.6) <49EFA938-8CDF-3DF6-B8B2-988E5CD03F91> /usr/local/ns/lib/libtcl8.6.dylib
0x10856b000 - 0x1085affff +libssl.1.0.0.dylib (0) <EC36C961-CD70-3A2B-8859-C82F2F99CC39> /opt/local/lib/libssl.1.0.0.dylib
0x1085cd000 - 0x1087517ef +libcrypto.1.0.0.dylib (0) <510C2E29-B2CE-36F7-ABED-2CCD0521E40A> /opt/local/lib/libcrypto.1.0.0.dylib
0x1089f5000 - 0x1089f9ff7 +nslog.so (0) <0C5DDBF1-3A5F-371E-96E9-34AF4D5A56EF> /usr/local/src/naviserver/nslog/nslog.so
0x109a00000 - 0x109a7fffb +libnsf2.1.0.dylib (0) <F30012CB-D00D-39A2-B11E-38A782428A48> /usr/local/ns/lib/nsf2.1.0/libnsf2.1.0.dylib
0x109bea000 - 0x109becffb +nsdb.so (0) <56AAC66C-B377-3027-B705-6FA6A024B42D> /usr/local/src/naviserver/nsdb/nsdb.so
0x109bef000 - 0x109bfaff7 +libnsdb.dylib (0) <DA2BC00B-3FCC-3784-9E1B-B35B0413A225> /usr/local/src/naviserver/nsdb/libnsdb.dylib
0x109c00000 - 0x109c02ff7 +nsdbtest.so (0) <012C3E18-5142-3967-BADC-1C24CE1C8B77> /usr/local/src/naviserver/nsdbtest/nsdbtest.so
0x109c05000 - 0x109c07fff +nsproxy.so (0) <1F0A30CB-26B3-3953-9E1F-356E790E54F7> /usr/local/src/naviserver/nsproxy/nsproxy.so
0x109c0a000 - 0x109c13ff3 +libnsproxy.dylib (0) <1B9F47C7-68DF-3150-8366-D6CF636C0D50> /usr/local/src/naviserver/nsproxy/libnsproxy.dylib
0x109c81000 - 0x109c83ff3 +nssock.so (0) <C4A12D2D-9CDB-31A7-B71E-C402DDAAF766> /usr/local/src/naviserver/nssock/nssock.so
0x7fff677e4000 - 0x7fff6781ba47 dyld (360.22) <DC81CC9D-651A-3A45-8809-928282052BD3> /usr/lib/dyld
0x7fff82a86000 - 0x7fff82aa2ff7 libsystem_malloc.dylib (67.40.1) <5748E8B2-F81C-34C6-8B13-456213127678> /usr/lib/system/libsystem_malloc.dylib
0x7fff82ec4000 - 0x7fff82eccffb libsystem_dnssd.dylib (625.60.4) <80189998-32B0-316C-B5C5-53857486713D> /usr/lib/system/libsystem_dnssd.dylib
0x7fff851b3000 - 0x7fff85219ff7 libsystem_network.dylib (583.50.1) <B52DAB73-92DC-3DA7-B9F4-B899D66445C1> /usr/lib/system/libsystem_network.dylib
0x7fff85869000 - 0x7fff8587aff7 libz.1.dylib (61.20.1) <B3EBB42F-48E3-3287-9F0D-308E04D407AC> /usr/lib/libz.1.dylib
0x7fff86d2a000 - 0x7fff86d2bfff libDiagnosticMessagesClient.dylib (100) <4243B6B4-21E9-355B-9C5A-95A216233B96> /usr/lib/libDiagnosticMessagesClient.dylib
0x7fff86d2c000 - 0x7fff86d2efff libsystem_coreservices.dylib (19.2) <1B3F5AFC-FFCD-3ECB-8B9A-5538366FB20D> /usr/lib/system/libsystem_coreservices.dylib
0x7fff86d2f000 - 0x7fff86d30ffb libSystem.B.dylib (1226.10.1) <012548CD-614D-3AF0-B3B1-676F427D2CD6> /usr/lib/libSystem.B.dylib
0x7fff86dd1000 - 0x7fff86de2ff7 libsystem_trace.dylib (201.10.3) <E9311C03-9E61-3B13-AF3F-A64956FFF269> /usr/lib/system/libsystem_trace.dylib
0x7fff86fa9000 - 0x7fff86fadfff libcache.dylib (75) <9548AAE9-2AB7-3525-9ECE-A2A7C4688447> /usr/lib/system/libcache.dylib
0x7fff86fe5000 - 0x7fff86ffcff7 libsystem_coretls.dylib (83.40.5) <C90DAE38-4082-381C-A185-2A6A8B677628> /usr/lib/system/libsystem_coretls.dylib
0x7fff88784000 - 0x7fff88785ffb libremovefile.dylib (41) <552EF39E-14D7-363E-9059-4565AC2F894E> /usr/lib/system/libremovefile.dylib
0x7fff88d2e000 - 0x7fff88d33ff3 libunwind.dylib (35.3) <F6EB48E5-4D12-359A-AB54-C937FBBE9043> /usr/lib/system/libunwind.dylib
0x7fff88fbb000 - 0x7fff88fbbff7 libunc.dylib (29) <DDB1E947-C775-33B8-B461-63E5EB698F0E> /usr/lib/system/libunc.dylib
0x7fff89012000 - 0x7fff89017ff7 libmacho.dylib (875.1) <318264FA-58F1-39D8-8285-1F6254EE410E> /usr/lib/system/libmacho.dylib
0x7fff89031000 - 0x7fff89032fff libsystem_secinit.dylib (20) <32B1A8C6-DC84-3F4F-B8CE-9A52B47C3E6B> /usr/lib/system/libsystem_secinit.dylib
0x7fff892c3000 - 0x7fff892e1ff7 libsystem_kernel.dylib (3248.60.11) <A3F069EA-6A41-35CA-BDF8-187E0209B3E2> /usr/lib/system/libsystem_kernel.dylib
0x7fff89d45000 - 0x7fff89d6eff7 libxpc.dylib (765.50.8) <54D1328E-054E-3DAA-89E2-375722F9D18F> /usr/lib/system/libxpc.dylib
0x7fff89d8d000 - 0x7fff89db6fff libsystem_info.dylib (477.50.4) <FAA9226D-64DE-3769-A6D8-6CABA4B7FF4D> /usr/lib/system/libsystem_info.dylib
0x7fff89db7000 - 0x7fff89dceff7 libsystem_asl.dylib (323.50.1) <41F8E11F-1BD0-3F1D-BA3A-AA1577ED98A9> /usr/lib/system/libsystem_asl.dylib
0x7fff8a1c3000 - 0x7fff8a1c6ffb libdyld.dylib (360.22) <25D28225-99AE-3A04-B98C-ACFF47D6D9B0> /usr/lib/system/libdyld.dylib
0x7fff8a23f000 - 0x7fff8a2ccfef libsystem_c.dylib (1082.60.1) <28733D22-553E-3CBC-8D2C-EDCEB46E46AF> /usr/lib/system/libsystem_c.dylib
0x7fff8b2ed000 - 0x7fff8b340ff7 libc++.1.dylib (120.1) <8FC3D139-8055-3498-9AC5-6467CB7F4D14> /usr/lib/libc++.1.dylib
0x7fff8b341000 - 0x7fff8b344fff libsystem_sandbox.dylib (460.60.2) <2A68B39C-B786-3A05-87A2-56E688469FB8> /usr/lib/system/libsystem_sandbox.dylib
0x7fff8b713000 - 0x7fff8b71cff7 libsystem_pthread.dylib (138.10.4) <3DD1EF4C-1D1B-3ABF-8CC6-B3B1CEEE9559> /usr/lib/system/libsystem_pthread.dylib
0x7fff8c002000 - 0x7fff8c079feb libcorecrypto.dylib (335.50.1) <B5C05FD7-A540-345A-87BF-8E41848A3C17> /usr/lib/system/libcorecrypto.dylib
0x7fff8d89b000 - 0x7fff8d89dff7 libquarantine.dylib (80) <0F4169F0-0C84-3A25-B3AE-E47B3586D908> /usr/lib/system/libquarantine.dylib
0x7fff8de44000 - 0x7fff8de8aff7 libauto.dylib (186) <999E610F-41FC-32A3-ADCA-5EC049B65DFB> /usr/lib/libauto.dylib
0x7fff8e656000 - 0x7fff8e9b8f3f libobjc.A.dylib (680) <7489D2D6-1EFD-3414-B18D-2AECCCC90286> /usr/lib/libobjc.A.dylib
0x7fff8ef69000 - 0x7fff8ef70ff7 libcompiler_rt.dylib (62) <A13ECF69-F59F-38AE-8609-7B731450FBCD> /usr/lib/system/libcompiler_rt.dylib
0x7fff90914000 - 0x7fff90d8afff com.apple.CoreFoundation (6.9 - 1258.1) <943A1383-DA6A-3DC0-ABCD-D9AEB3D0D34D> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x7fff91227000 - 0x7fff9122ffff libsystem_networkextension.dylib (385.40.36) <66095DC7-6539-38F2-95EE-458F15F6D014> /usr/lib/system/libsystem_networkextension.dylib
0x7fff91231000 - 0x7fff91231ff7 liblaunch.dylib (765.50.8) <834ED605-5114-3641-AA4D-ECF31B801C50> /usr/lib/system/liblaunch.dylib
0x7fff91a89000 - 0x7fff91ab3ff7 libc++abi.dylib (307.2) <922EFB36-0E9E-315B-8270-E81AC43472C0> /usr/lib/libc++abi.dylib
0x7fff92e4f000 - 0x7fff92e57fef libsystem_platform.dylib (74.40.2) <29A905EF-6777-3C33-82B0-6C3A88C4BA15> /usr/lib/system/libsystem_platform.dylib
0x7fff931bd000 - 0x7fff931c5fff libcopyfile.dylib (127) <A48637BC-F3F2-34F2-BB68-4C65FD012832> /usr/lib/system/libcopyfile.dylib
0x7fff932dd000 - 0x7fff932defff libsystem_blocks.dylib (65) <1244D9D5-F6AA-35BB-B307-86851C24B8E5> /usr/lib/system/libsystem_blocks.dylib
0x7fff932e7000 - 0x7fff932e7ff7 libkeymgr.dylib (28) <8371CE54-5FDD-3CE9-B3DF-E98C761B6FE0> /usr/lib/system/libkeymgr.dylib
0x7fff93672000 - 0x7fff9387ffff libicucore.A.dylib (551.51.4) <3899B146-3840-3D4A-8C4A-FE391D5D25C7> /usr/lib/libicucore.A.dylib
0x7fff938a5000 - 0x7fff938a7ff7 libsystem_configuration.dylib (802.40.13) <3DEB7DF9-6804-37E1-BC83-0166882FF0FF> /usr/lib/system/libsystem_configuration.dylib
0x7fff93935000 - 0x7fff93940ff7 libcommonCrypto.dylib (60075.50.1) <93732261-34B4-3914-B7A2-90A81A182DBA> /usr/lib/system/libcommonCrypto.dylib
0x7fff94e51000 - 0x7fff94e5aff3 libsystem_notify.dylib (150.40.1) <D48BDE34-0F7E-34CA-A0FF-C578E39987CC> /usr/lib/system/libsystem_notify.dylib
0x7fff94f49000 - 0x7fff94f76fff libdispatch.dylib (501.40.12) <C7499857-61A5-3D7D-A5EA-65DCC8C3DF92> /usr/lib/system/libdispatch.dylib
0x7fff957a1000 - 0x7fff957d0ffb libsystem_m.dylib (3105) <08E1A4B2-6448-3DFE-A58C-ACC7335BE7E4> /usr/lib/system/libsystem_m.dylib
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 1567811
thread_create: 0
thread_set_state: 0
VM Region Summary:
ReadOnly portion of Libraries: Total=112.1M resident=0K(0%) swapped_out_or_unallocated=112.1M(100%)
Writable regions: Total=163.8M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=163.8M(100%)
VIRTUAL REGION
REGION TYPE SIZE COUNT (non-coalesced)
=========== ======= =======
Activity Tracing 2048K 2
Dispatch continuations 16.0M 2
Kernel Alloc Once 4K 2
MALLOC 73.8M 13
MALLOC guard page 16K 4
STACK GUARD 72K 19
Stack 71.8M 20
VM_ALLOCATE 20K 3
__DATA 3360K 63
__LINKEDIT 92.6M 18
__TEXT 19.5M 60
__UNICODE 552K 2
shared memory 28K 5
=========== ======= =======
TOTAL 279.5M 200
Model: MacBookPro11,5, BootROM MBP114.0172.B09, 4 processors, Intel Core i7, 2,8 GHz, 16 GB, SMC 2.30f2
Graphics: AMD Radeon R9 M370X, AMD Radeon R9 M370X, PCIe, 2048 MB
Graphics: Intel Iris Pro, Intel Iris Pro, Built-In
Memory Module: BANK 0/DIMM0, 8 GB, DDR3, 1600 MHz, 0x802C, 0x31364B544631473634485A2D314736453120
Memory Module: BANK 1/DIMM0, 8 GB, DDR3, 1600 MHz, 0x802C, 0x31364B544631473634485A2D314736453120
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x152), Broadcom BCM43xx 1.0 (7.21.95.175.1a6)
Bluetooth: Version 4.4.6f1 17910, 3 services, 27 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
Serial ATA Device: APPLE SSD SM1024G, 1 TB
USB Device: USB 3.0 Bus
USB Device: Apple Internal Keyboard / Trackpad
USB Device: Bluetooth USB Host Controller
Thunderbolt Bus: MacBook Pro, Apple Inc., 27.1
| |||
| User Comments: |
jan.nijtmans added on 2016-10-11 21:55:25:
Fix committed to core-8-5-branch, core-8-6-branch and trunk. Thanks, Gustaf! gustafn2 added on 2016-10-07 13:14:55: found a second documentation flaw related to the allocator cache, and added an additional patch file. gustafn2 added on 2016-09-26 18:24:48: here is the patch... jan.nijtmans added on 2016-09-26 14:47:48: > Note, that the source code documentation was not correctly describing > the current behavior either. The attached patch suggests some > improvements. Where can I find this documentation patch? Indeed, I think the best thing to do is rely on the TclpFreeAllocCache() call in Tcl_FinalizeThread(). So I agree with your patch, and welcome your suggestions for documentation improvement. | |||