Age | Commit message (Collapse) | Author |
|
This commit replaces the old memory instrumentation with a new
implementation that scans carriers instead of wrapping
erts_alloc/erts_free. The old implementation could not extract
information without halting the emulator, had considerable runtime
overhead, and the memory maps it produced were noisy and lacked
critical information.
Since the new implementation walks through existing data structures
there's no longer a need to start the emulator with special flags to
get information about carrier utilization/fragmentation. Memory
fragmentation is also easier to diagnose as it's presented on a
per-carrier basis which eliminates the need to account for "holes"
between mmap segments.
To help track allocations, each allocation can now be tagged with
what it is and who allocated it at the cost of one extra word per
allocation. This is controlled on a per-allocator basis with the
+M<S>atags option, and is enabled by default for binary_alloc and
driver_alloc (which is also used by NIFs).
|
|
And try to not save bad data in the config.
And also add a garbage_collect menu entry.
|
|
Conflicts:
OTP_VERSION
|
|
* peterdmv/use_uri_string/OTP-14902:
common_test: Use uri_string
ssl: Use uri_string
public_key: Use uri_string
observer: Use uri_string
Change-Id: I4beac2289db039cc7d566807727c5aaf7fadf942
|
|
|
|
|
|
|
|
* siri/cuddle:
[cdv] Fix test of size limit reached on crash dump, again
|
|
|
|
|
|
|
|
|
|
to prepare for dirty schedulers with common run queues
|
|
|
|
|
|
- Remove dependency to inets
Change-Id: I63eaa69573e5b7fb7d12b0553026a89d16f3fd22
|
|
|
|
* maint:
ErLLVM: Preserve precise BEAM tailcall semantics
observer: Fix change accum
Remove double calls
observer: Don't crash for late messages
observer: Optimize tv tab for many tables
|
|
* dgud/observer/opt-tv-tab/OTP-14856:
observer: Fix change accum
Remove double calls
observer: Don't crash for late messages
observer: Optimize tv tab for many tables
|
|
Conflicts:
lib/observer/src/crashdump_viewer.erl
|
|
This test failed every now and then since the selected max size could
be equal to actual size of the dump - so the dump was not
truncated. This is now corrected.
|
|
Wrong data types was stored in the accum list.
|
|
|
|
|
|
Make it a virtual table, the only table which was not a virtual table.
Updating 10000 rows with many columns and alternating colors takes too
long time to be a viable solution.
|
|
When a process has many links and/or monitors, it could earlier take
very long time to display the process information window. This is now
improved by only showing a few links and monitors, and then an link
named "more..." to expand the rest.
Reading of the "Link list" from a crashdump is also improved.
|
|
|
|
* siri/etop/include/ERL-534/OTP-14842:
[observer] Use include_lib instead of include with relative path
Add runtime_tools/include to tertiary bootstrap
|
|
|
|
This bug was introduced by commit 3b964e8dbaa0cd73ca7a983b3ce948e0dbd2c35c
|
|
|
|
|
|
|
|
|
|
* maint:
Use base64 encoding in crash dumps
Correct parsing of sub binaries
Generalize passing of options for decoding
|
|
This will reduce the size of crash dumps, especially if
there are large binaries.
|
|
Correct several problems parsing sub binaries. A sub binary
would often be replaced with '#CDVNonexistingBinary'.
When parsing a sub binary, we must scan ahead to find the
definition of the refc or heap binary being referenced.
|
|
The functions that decode Erlang terms from the crash dump file
take a BinAddrAdj argument to adjust binary addresses in old
crash dumps. To be able to add more decode options in the future,
rename the argument to DecodeOpts and let it be a record.
|
|
|
|
* lukas/docs/xmllint_fixes/OTP-14721:
ssl/ssh: Remove/ignore unused XML_FILES doc files
Refactor xmllint check and make it fail on failure
Add toplevel xmllint make target
Conflicts:
lib/crypto/doc/src/Makefile
|
|
Conflicts:
lib/observer/src/crashdump_viewer.erl
|
|
* siri/cdv/misc-improvements/OTP-14755:
[cdv] Fix test of size limit reached on crash dump
[cdv] Display warning if heap is incomplete
[cdv] Check if dump version is newer than cdv can handle
[cdv] Add comment about ets tables
|
|
This test failed every now and then since the selected max size could
be greater than the actual size of the dump - so the dump was not
truncated. This is now corrected.
|
|
|
|
|
|
This commit also adds a check to see that all files that
are part of an xi:include also have part of XML_FILES
and vice versa. It also fixes any applications where this
was not true.
|
|
If the version of the given crash dump is newer than what
crashdump_viewer is prepared to read, then crashdump_viewer will
display an info dialog and then terminate. This is to allow major
updates of the format of crash dumps.
|
|
|
|
Commit e1310b8f introduced a bug which caused the observer tool (and
crashdump_viewer) to crash when trying to display an empty binary. The
same change would also cause leading zeros in a binary to disappear in
the preview. The bug is now corrected.
|
|
* maint:
Bump version of crash dumps to 0.4
Verify that binaries of different sizes are dumped correctly
Don't dump literal areas that are not referenced at all
Dump literals separately to avoid incomplete heap data
Implement dumping of maps in crash dumps
Buffer writing of crash dumps
Conflicts:
erts/emulator/beam/erl_alloc.types
|