aboutsummaryrefslogtreecommitdiffstats
path: root/lib/observer/test
AgeCommit message (Collapse)Author
2018-10-22Eliminate crash in crashdump_viewer reading some literal mapsBjörn Gustavsson
Literal maps with complex keys such as: #{"one"=>1,"two"=>2,"three"=>3,"four"=>4}. would produce a crash dump that `crashdump_viewer` was unable to read. https://bugs.erlang.org/browse/ERL-722
2018-06-18Update copyright yearHenrik Nord
2018-04-23erts: Rewrite memory instrumentationJohn Högberg
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).
2018-03-01Merge branch 'maint'Siri Hansen
2018-03-01Merge branch 'siri/cuddle' into maintSiri Hansen
* siri/cuddle: [cdv] Fix test of size limit reached on crash dump, again
2018-01-22Merge branch 'maint'Björn Gustavsson
* 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
2018-01-22Merge branch 'dgud/observer/opt-tv-tab/OTP-14856' into maintDan Gudmundsson
* 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
2018-01-12Merge branch 'maint'Siri Hansen
Conflicts: lib/observer/src/crashdump_viewer.erl
2018-01-12[cdv] Fix test of size limit reached on crash dump, againSiri Hansen
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.
2018-01-11observer: Optimize tv tab for many tablesDan Gudmundsson
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.
2018-01-10[observer] Improve performance for many links or monitorsSiri Hansen
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.
2018-01-09Merge branch 'maint'Siri Hansen
2018-01-03[cdv] Don't crash when dump is truncated in module attributesSiri Hansen
This bug was introduced by commit 3b964e8dbaa0cd73ca7a983b3ce948e0dbd2c35c
2017-11-24Merge branch 'maint'Björn Gustavsson
* maint: Use base64 encoding in crash dumps Correct parsing of sub binaries Generalize passing of options for decoding
2017-11-21Use base64 encoding in crash dumpsBjörn Gustavsson
This will reduce the size of crash dumps, especially if there are large binaries.
2017-11-21Correct parsing of sub binariesBjörn Gustavsson
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.
2017-11-08Merge branch 'maint'Siri Hansen
Conflicts: lib/observer/src/crashdump_viewer.erl
2017-11-08[cdv] Fix test of size limit reached on crash dumpSiri Hansen
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.
2017-11-08[cdv] Display warning if heap is incompleteSiri Hansen
2017-10-26[cdv] Check if dump version is newer than cdv can handleSiri Hansen
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.
2017-10-20Merge branch 'maint'Björn Gustavsson
* 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
2017-10-18Verify that binaries of different sizes are dumped correctlyBjörn Gustavsson
2017-10-18Dump literals separately to avoid incomplete heap dataBjörn Gustavsson
When a literal was used from several processes, the literal would be dumped in only one of the processes. The other processes that referenced the literals would have incomplete heap data.
2017-10-18Implement dumping of maps in crash dumpsBjörn Gustavsson
Maps would be dumped as the atom 'undefined', which is not very informative.
2017-09-19Merge branch 'maint'Siri Hansen
Conflicts: lib/observer/src/crashdump_viewer.erl lib/sasl/src/sasl.appup.src lib/stdlib/src/stdlib.appup.src
2017-09-18observer: Improve debugging code in test suiteSiri Hansen
2017-09-18observer: Remove compiler warnings in test and set warnings_as_errorsSiri Hansen
2017-09-18cdv: Show progress bar while reading big dataSiri Hansen
2017-09-15Merge branch 'siri/string-new-api'Siri Hansen
* siri/string-new-api: (28 commits) hipe (test): Do not use deprecated functions in string(3) dialyzer (test): Do not use deprecated functions in string(3) eunit (test): Do not use deprecated functions in string(3) system (test): Do not use deprecated functions in string(3) system (test): Do not use deprecated functions in string(3) mnesia (test): Do not use deprecated functions in string(3) Deprecate old string functions observer: Do not use deprecated functions in string(3) common_test: Do not use deprecated functions in string(3) eldap: Do not use deprecated functions in string(3) et: Do not use deprecated functions in string(3) os_mon: Do not use deprecated functions in string(3) debugger: Do not use deprecated functions in string(3) runtime_tools: Do not use deprecated functions in string(3) asn1: Do not use deprecated functions in string(3) compiler: Do not use deprecated functions in string(3) sasl: Do not use deprecated functions in string(3) reltool: Do not use deprecated functions in string(3) kernel: Do not use deprecated functions in string(3) hipe: Do not use deprecated functions in string(3) ... Conflicts: lib/eunit/src/eunit_lib.erl lib/observer/src/crashdump_viewer.erl lib/reltool/src/reltool_target.erl
2017-09-15observer: Do not use deprecated functions in string(3)Siri Hansen
2017-09-15cdv: Optimize reading of crashdump with many binariesSiri Hansen
Earlier, crashdump_viewer stored an index of all binaries in a gb_tree on startup. The binary index was also stored in the cdv_dump_index_table along with all other "=xxx" tags from the dump. The difference between the indices was that the ets table contained the addresses of the binaries as strings (the hex address found after the "=binary:" tag) and in the gb_tree this hex address was instead converted to its integer value. The index in the ets table was only used once - when creating the gb_tree. The gb_tree was used for all later looups (to map integer address to file position). This commit replaces the two storages with one new ets table, cdv_binary_index_table, using the integer value of the hex address as key, and the position in the crashdump file as value. In the case of many binaries, this makes the start of crashdump viewer faster (only one place to write), and the data usage smaller (hex address strings are no longer stored). And it avoids the gc of the gb_tree.
2017-09-13cdv: Find end of 'Last calls' sectionSiri Hansen
This is a bug fix: the end of the 'Last calls' section is meant to be an empty line, but in some situations this is not the case. This could cause the complete dump to be read and stored as 'Last calls', causing very unexpected behavior in the crashdump viewer. This commit adds a check for ": ", which indicates that a new heading has occured and thus the 'Last calls' section is completly read.
2017-09-05observer: Improve handling of UnicodeSiri Hansen
2017-05-04Update copyright yearRaimo Niskanen
2017-04-20crashdump_helper: Change compatibility to R18Björn Gustavsson
Compatibility two releases back are tested, which implies R18.
2017-03-02observer: Fix crashdump viewer testcaseBjörn-Egil Dahlberg
2017-01-26Merge branch 'maint'Siri Hansen
2017-01-26Fix observer application crash (#1296)visciang
Fix observer application crash When clicking an HTML-link to a port before the port tab has been opened for the first time, observer would crash since port info is not initiated. This is now corrected. Also, when clicking on an HTML link to a port, and the port does not exist, then pop up an info dialog saying "No such port". OTP-14151
2016-12-05Merge branch 'maint'Ingela Anderton Andin
2016-11-30[crashdump_viewer] Display abort reason when truncatedSiri Hansen
If a crashdump is truncated due to size limit reached, a new 'abort' tag with reason is added at the end of the crashdump. This reason is now displayed along with the truncated-warning.
2016-06-27Make crashdump_viewer_SUITE independent of OTP versionSiri Hansen
2016-05-26Merge branch 'siri/observer/improve-trace/OTP-13481'Siri Hansen
* siri/observer/improve-trace/OTP-13481: [observer] Update user guide [observer] Automatically add active node [observer] Allow more trace flags on procs/ports from GUI [runtime_tools] Don't trace the trace client port [runtime_tools] Allow setting trace flag 'exiting' with dbg [observer] Add more default match specs for messages [observer] Add test of new Ports tab [observer] Improve appearance in Trace tab [observer] Allow multiple select in Ports tab [observer] Make right click menu act on the "expected pid" [observer] In Trace tab, show procs/ports for selected node only [observer] Add right click menu in Table tab [observer] Add menu option to set default MS for send/receive [observer] Add tracing of ports [ttb] Allow setting trace flags on ports [observer] Set correct parent in Label dialog [observer] Add Ports tab in GUI [observer] Add functionality in GUI for trace pattern on messages [ttb] Set trace patterns on messages Conflicts: lib/observer/src/observer_wx.erl
2016-05-20[observer] Add test of new Ports tabSiri Hansen
2016-05-13Test cuddlingDan Gudmundsson
Tests on slow vnc server times out.
2016-05-04Merge branch 'siri/cuddle-master'Siri Hansen
* siri/cuddle-master: Extend timer in test Update crashdump_viewer_SUITE with new release numbers Set longer timetrap when creating dsa files Check that ssh application exists before starting netconf tests Improve error control when starting ssh in netconf test
2016-04-22observer: add debug info to ttb_SUITEDan Gudmundsson
2016-03-31Update crashdump_viewer_SUITE with new release numbersSiri Hansen
After bumping to Erlang/OTP 19, R16 dumps can no longer be created. Now we test dumps from OTP 17 and 18.
2016-03-15update copyright-yearHenrik Nord
2016-03-02Merge branch 'maint'Siri Hansen
2016-03-01Set dir for slave node's erl_crash.dumpSiri Hansen
This was earlier filename:dirname(code:which(test_server)). On Microsoft Windows, this pointed to a directory under c:/Program Files, and in later versions this directory is no longer writable. The framework (common_test) log dir is now used instead.