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.
|
|
After bumping to Erlang/OTP 18, R15 dumps can no longer be
created. Now we test dumps from R16B and 17.
|
|
|
|
Instead of setting a timer and expecting all processes to be
terminated, set a monitor and wait for them to terminate.
|
|
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)
|
|
Should not call showModal on a wxProgressdialog it is already display
(see doc) and it hangs on MacOSX until someone presses the menu.
|
|
|
|
* bugfixes
* add first test
* remove unused code
|
|
|
|
|
|
Else, crashdumps can not be generated.
|
|
Generate dumps for r14, r15 and r16.
Save generated dumps if test fails.
|
|
OTP-10106
OTP-10107
|
|
|
|
|
|
|
|
|
|
Also, remove compiler warnings for crashdump_viewer_SUITE and fix
Makefile in test directory so Emakefile does not grow.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|