1
<?xml version="1.0" encoding="latin1" ?>
2
<!DOCTYPE chapter SYSTEM "chapter.dtd">
9
<holder>Ericsson AB, All Rights Reserved</holder>
12
The contents of this file are subject to the Erlang Public License,
13
Version 1.1, (the "License"); you may not use this file except in
14
compliance with the License. You should have received a copy of the
15
Erlang Public License along with this software. If not, it can be
16
retrieved online at http://www.erlang.org/.
18
Software distributed under the License is distributed on an "AS IS"
19
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
20
the License for the specific language governing rights and limitations
23
The Initial Developer of the Original Code is Ericsson AB.
26
<title>Runtime_Tools Release Notes</title>
32
<p>This document describes the changes made to the Runtime_Tools
35
<section><title>Runtime_Tools 1.7.3</title>
37
<section><title>Fixed Bugs and Malfunctions</title>
40
<p>Fixed a timestamp problem where some events could be
41
sent out of order. Minor fixes to presentation of
44
Own Id: OTP-7544 Aux Id: otp-7442 </p>
51
<section><title>Runtime_Tools 1.7.2</title>
53
<section><title>Fixed Bugs and Malfunctions</title>
56
<p><c>etop</c> now collects process information faster
57
and more reliably than before (a race condition reported
58
by Igor Goryachev has been eliminated).</p>
59
<p>Trace messages could be lost when <c>ttb:stop/0</c>
69
<section><title>Runtime_Tools 1.7.1</title>
71
<section><title>Improvements and New Features</title>
74
<p>The documentation has been updated so as to reflect
75
the last updates of the Erlang shell as well as the minor
76
modifications of the control sequence <c>p</c> of the
77
<c>io_lib</c> module.</p> <p>Superfluous empty lines have
78
been removed from code examples and from Erlang shell
81
Own Id: OTP-6944 Aux Id: OTP-6554, OTP-6911 </p>
84
<p>Memory management improvements especially for the
85
runtime system with SMP support:</p> <list> <item> The
86
runtime system with SMP support can now use multiple,
87
thread specific instances of most memory allocators. This
88
improves performance since it reduces lock contention in
89
the memory allocators. It may however increase memory
90
usage for some applications. The runtime system with SMP
91
support will by default enable this feature on most
92
allocators. The amount of instances used can be
93
configured. </item> <item> <c>driver_alloc()</c>,
94
<c>driver_realloc()</c>, and <c>driver_free()</c> now use
95
their own erts specific memory allocator instead of the
96
default <c>malloc()</c> implementation on the system.
97
</item> <item> The default configuration of some
98
allocators have been changed to fit applications that use
99
much memory better. </item> <item> Some new
100
<c>erts_alloc</c> configuration parameters have been
101
added. </item> <item> <c>erts_alloc_config</c> has been
102
modified to be able to create configurations suitable for
103
multiple instances of allocators. </item> <item> The
104
returned value from <c>erlang:system_info({allocator,
105
Alloc})</c> has been changed. This since an allocator may
106
now run in multiple instances. </item> </list> <p>If you
107
for some reason want the memory allocators to be
108
configured as before, you can pass the <c>+Mea r11b</c>
109
command-line argument to <c>erl</c>.</p> <p>For more
110
information see the <c>erts_alloc(3)</c>, the
111
<c>erts_alloc_config(3)</c>, and the <c>erlang(3)</c>
114
*** POTENTIAL INCOMPATIBILITY ***</p>
123
<section><title>Runtime_Tools 1.7</title>
125
<section><title>Fixed Bugs and Malfunctions</title>
129
<c>dbg</c> could leave traced processes in a suspended
130
state if the tracer process was killed with exit reason
133
<c>erlang:suspend_process/2</c> has been introduced which
134
accepts an option list as second argument. For more
135
information see the <c>erlang(3)</c> documentation.</p>
137
Processes suspended via
138
<c>erlang:suspend_process/[1,2]</c> will now be
139
automatically resumed if the process that called
140
<c>erlang:suspend_process/[1,2]</c> terminates.</p>
142
Processes could previously be suspended by one process
143
and resumed by another unless someone was tracing the
144
suspendee. This is <em>not</em> possible anymore. The
145
process resuming a process <em>has</em> to be the one
146
that suspended it.</p>
148
*** POTENTIAL INCOMPATIBILITY ***</p>
156
<section><title>Improvements and New Features</title>
160
The undocumented and unsupported function
161
<c>dbg:tracer/1</c> has been removed. The undocumented,
162
unsupported, and broken function <c>dbg:i/1</c> has been
172
<section><title>Runtime_Tools 1.6.8</title>
174
<section><title>Fixed Bugs and Malfunctions</title>
178
In this release the following has been fixed and
179
enhanced: Autostart: It is now possible to configure
180
modules that shall be loaded by the autostart mechanism.
181
This because it is not certain that all application
182
systems make use of the OTP boot script to set up paths
183
to all Erlang modules. Runtime_tools/Inviso: A bug in the
184
fetch_log functionality has been fixed. Further a bug
185
that was (supposedly) fixed in a previous patch
186
concerning meta-tracer write_ti has been fixed (again) in
187
this patch. A bug in inviso_as_lib making remote
188
autostart config file updates fail has been fixed.
189
Inviso: inviso_tool has been given a flush API.</p>
197
<section><title>Runtime_Tools 1.6.7</title>
199
<section><title>Improvements and New Features</title>
203
The following bugs/improvements have been done: Internal
204
interworking between inviso_rt and inviso_rt_meta. The
205
call function used by inviso_rt to call inviso_rt_meta is
206
now protected with a monitor. Inviso_rt_meta now includes
207
the timestamp of the incoming meta trace message when
208
calling the call-callback. (Makes it possible to add a
209
"better" timestamp to the ti-file.) Bug in inviso_tool
210
making it not remove trace patterns when terminating. Bug
211
in internal function h_start_session making inviso_tool
212
crash if there were no active nodes to start the session
213
on. The user-inviso_tool and inviso API-inviso control
214
component request/response gen_server protocols had
215
default time-out. Since many trace operations can be time
216
consuming, a longer time-out is necessary. Improved
217
overload protection. It is now possible to let the
218
overload protection renew itself (e.g after an exit from
219
an external overload protector). Inviso_rt_meta now fully
220
uses the exception_trace match spec action term. Run
221
Trace Case API (as in contrast to activate and deactivate
222
trace case APIs) in inviso_tool. Flush trace-port API
223
added to inviso. Get_session_data API added to
224
inviso_tool. Improved inviso_tool:stop making it possible
225
to name nodes which shall not have their trace patterns
226
removed when inviso_tool terminates. Bug in handling of
227
writing multiple ti-entries if returned from a
228
call/return_from call-back in inviso_rt_meta Process
229
trace flags are no longer explicitly removed by the
230
inviso_tool when it terminates. Not necessary.
231
Inviso_tool get_autostart_data adopted to standard
234
*** INCOMPATIBILITY with Meta trace call-backs are called
235
with different arguments now. ***</p>
245
<title>Runtime_Tools 1.6.6</title>
248
<title>Fixed Bugs and Malfunctions</title>
249
<list type="bulleted">
251
<p>A bug in inviso_rt_meta caused an ETS table containing
252
information on initiated (init_tpm) functions to be lost
253
when suspending tracing. Further an enhancement to
254
inviso_rt has been introduced making it possible to
255
activate process trace flags based on globally registered
256
names. It is then not an error to activate a global name
257
on a node where the name does not reside. The process
258
count in the return value will simply be set to zero
259
(hence exactly one node in the NodeResult part of the
260
return value will indicate one matching process found). A
261
bug was found in fetch_log API. At the same time the
262
fetch_log functionality was enhanced to also offer flow
263
control making fetcher processes send chunks of
264
transferred file data at a slower pace.</p>
265
<p>Own Id: OTP-6703</p>
271
<title>Improvements and New Features</title>
272
<list type="bulleted">
274
<p>Minor Makefile changes.</p>
275
<p>Own Id: OTP-6689 Aux Id: OTP-6742 </p>
278
<p>An experimental tool called <c>erts_alloc_config</c>
279
has been added. <c>erts_alloc_config</c> is intended to
280
be used to aid creation of an <c>erts_alloc</c>
281
configuration that is suitable for a limited number of
282
runtime scenarios. For more information see the
283
<c>erts_alloc_config(3)</c> documentation.</p>
284
<p>Own Id: OTP-6700</p>
291
<title>Runtime_Tools 1.6.5</title>
294
<title>Improvements and New Features</title>
295
<list type="bulleted">
297
<p>Misc improvements.</p>
298
<p>Own Id: OTP-6576</p>
305
<title>Runtime_Tools 1.6.4</title>
308
<title>Improvements and New Features</title>
309
<list type="bulleted">
311
<p>This application has been updated to eliminate warnings
313
<p>Own Id: OTP-6551</p>
320
<title>Runtime_Tools 1.6.3</title>
323
<title>Fixed Bugs and Malfunctions</title>
324
<list type="bulleted">
326
<p>This ticket includes several improvements and bugfixes to
327
both runtime_tools and inviso. The overload mechanism can
328
now also react to incomming messages. This is useful if
329
an external overload watch-dog is used. Some improvements
330
of variable bindings has been done to the default
331
autostart mechanism - inviso_autostart_server. Autostart
332
"jobs" can now be done in paralell, allowing for some
333
jobs to hang waiting for some parts of the traced system
334
to become ready before proceeding. Previously when using
335
named meta-match-specs (tpm_ms) ending up with zero
336
match-specs still kept the meta trace pattern active.
337
This caused zero match-specs to be equal to unlimited
338
meta tracing on that particular function. If the internal
339
database becomes empty of meta match specs, meta trace
340
pattern is removed for that function. Standard public
341
loop data in the inviso runtime meta tracer process is
342
now extended to a 2-tuple. The functions ctp/1 and ctpl/1
343
are added making it possible to remove trace patterns for
344
a list of functions rather than one by one.
345
Inviso_rt_meta will now accept a list of binaries to be
346
output into the trace information file, in additions to a
347
single binary. Further it is also possible to make own
348
output to the trace information file using the write_ti/1
349
function. An error was discovered in inviso_rt making the
350
inviso_rt_meta remain rather than terminate if the
351
inviso_rt terminated due to "running alone" (not allowed
352
to run without a control component). A new tool,
353
inviso_tool, has been added to the inviso application.</p>
354
<p>Own Id: OTP-6426</p>
361
<title>Runtime_Tools 1.6.2</title>
364
<title>Fixed Bugs and Malfunctions</title>
365
<list type="bulleted">
367
<p>Several minor bugs and race conditions eliminated in the
368
runtime_tools and observer applications.</p>
369
<p>Own Id: OTP-6265</p>
376
<title>Runtime_Tools 1.6.1</title>
379
<title>Improvements and New Features</title>
380
<list type="bulleted">
382
<p>There are new BIFs <c>erlang:spawn_monitor/1,3</c>,
383
and the new option <c>monitor</c> for
384
<c>spawn_opt/2,3,4,5</c>.</p>
385
<p>The <c>observer_backend</c> module has been updated to
386
handle the new BIFs.</p>
387
<p>Own Id: OTP-6281</p>
394
<title>Runtime_Tools 1.6</title>
395
<p>Added the runtime part of the Inviso tracer, see the new Inviso
396
application for more information. This also meant adding an
397
application callback module and an application supervisor tree
398
for Runtime_Tools.</p>
402
<title>Runtime_Tools 1.5.1.1</title>
405
<title>Improvements and New Features</title>
406
<list type="bulleted">
408
<p>The <c>dbg</c> manual page has been updated with information
409
about how to avoid deadlock when tracing.</p>
410
<p>Own Id: OTP-5373 Aux Id: seq9729</p>
417
<title>Runtime_Tools 1.5.1</title>
420
<title>Fixed Bugs and Malfunctions</title>
421
<list type="bulleted">
423
<p>Linked in drivers in the Crypto, and Asn1 applications
424
are now compiled with the <c>-D_THREAD_SAFE</c> and
425
<c>-D_REENTRANT</c> switches on unix when the emulator has
426
thread support enabled.</p>
427
<p>Linked in drivers on MacOSX are not compiled with the
428
undocumented <c>-lbundle1.o</c> switch anymore. Thanks to
429
Sean Hinde who sent us a patch.</p>
430
<p>Linked in driver in Crypto, and port programs in SSL, now
431
compiles on OSF1.</p>
432
<p>Minor <c>Makefile</c> improvements in Runtime_Tools.</p>
433
<p>Own Id: OTP-5346</p>