Age | Commit message (Collapse) | Author |
|
crashdump_viewer would crash if the owner of a timer was specified as
the process' regisered name. This has been corrected.
|
|
A node to which we have references to multiple instances (creations)
will have an information line in the crashdump like this:
Creation: 1 2 ...
This would earlier crash because crashdump_viewer would try to do
list_to_integer on the value after "Creation: ". This is now
corrected.
This correction also helps the case when the emulator is debug
compiled, since the line could then be
Creation: 1 (refc=1)
|
|
crashdump_viewer:progress_pmap did sometimes hang since is spawned a
process, then monitored it and waited for a specific DOWN
message. When the process' work was very fast, it would exit before
the call to monitor and the DOWN message would contain reason 'noproc'
instead of the expected {pmap_done,Result}.
By doing spawn_monitor/1 instead, the monitor is always set before the
process exits so the deadlock is avoided.
|
|
|
|
* bugfixes
* add first test
* remove unused code
|
|
* bugfixes
* better progress dialogs
* show expanded binaries in different formats
* speed up reading of big crashdumps
|
|
The old web base crashdump_viewer is now removed.
|
|
|
|
A new field named "Memory" has been added for each process in the
crash dump. This is now shown by the crashdump_viewer. It replaces the
"Stack+heap" column in the process overview page, and is added to the
process detail page.
|
|
A new table with summary of allocator blocks- and carriers size is
added under "Allocator information" in crashdump viewer.
|
|
Running "open" on an HTTP URL will pass it to the system's configured
default browser.
|
|
|
|
Also, remove compiler warnings for crashdump_viewer_SUITE and fix
Makefile in test directory so Emakefile does not grow.
|
|
|
|
Since browsers no longer can provide the full path of a file selected
with a file-type input field (browse button), the input field for
loading a crashdump is now changed to a plain text input field. Since
this reduces the user-friendlyness, a shell script (and a .bat file)
has instead been added so the crashdump_viewer can be started directly
from the command line - and thus normal tab completion can be used for
selecting the crashdump file.
Usage: cdv file [ browser ]
|
|
This is a first attempt at fixing the problem described in seq11783 -
crashdump_viewer is very slow at parsing big crashdumps. To open the
first page for a dump of 17M takes about 2 minutes and a dump of 280M
takes 1.5-2 hours.
The main problmem is that the cdv_dump_index_table, which holds all
tags read from the dump, is a bag. Profiling shows that ~95% of the
time is spent in ets:insert. The table is now changed to an
ordered_set.
A second problem occured when a page with many table rows was
opened. These pages were sent to inet in one chunk, causing both
crashdump_viewer_server and the inets (mod_esi) process to grow very
much in memory usage. To overcome this, the pages are now sent to
inets in chunks of 1000 rows, and the data is coverted to binaries to
avoid data copying between the two processes.
Also, some new information in the crashdump was not recognized by the
crashdump_viewer. This has been fixed.
|
|
NIF function prototypes in order to allow more than 3 function
arguments. Also an incompatible change in the return value of
erlang:load_nif/2. Added support for references, floats and term
comparison in NIFs. Read more in the documentation of erl_nif and
erlang:load_nif/2.
|
|
|