aboutsummaryrefslogtreecommitdiffstats
path: root/lib/observer/src
diff options
context:
space:
mode:
authorSiri Hansen <[email protected]>2017-10-26 15:28:48 +0200
committerSiri Hansen <[email protected]>2017-11-08 10:31:38 +0100
commit99205ab9fb89c08ce71deb02c2fd32376b15a24c (patch)
treee630dc6a27af03b8cd7680f1b7c718d114b6b2ac /lib/observer/src
parent848fb94ca16be0a103b5df4232e3d4ab421c5138 (diff)
downloadotp-99205ab9fb89c08ce71deb02c2fd32376b15a24c.tar.gz
otp-99205ab9fb89c08ce71deb02c2fd32376b15a24c.tar.bz2
otp-99205ab9fb89c08ce71deb02c2fd32376b15a24c.zip
[cdv] Display warning if heap is incomplete
Diffstat (limited to 'lib/observer/src')
-rw-r--r--lib/observer/src/crashdump_viewer.erl13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/observer/src/crashdump_viewer.erl b/lib/observer/src/crashdump_viewer.erl
index d2231ba033..40450a2873 100644
--- a/lib/observer/src/crashdump_viewer.erl
+++ b/lib/observer/src/crashdump_viewer.erl
@@ -1122,7 +1122,7 @@ get_proc_details(File,Pid,WS,DumpVsn) ->
{{Stack,MsgQ,Dict},TW} =
case truncated_warning([{?proc,Pid}]) of
[] ->
- {expand_memory(Fd,Pid,DumpVsn),[]};
+ expand_memory(Fd,Pid,DumpVsn);
TW0 ->
{{[],[],[]},TW0}
end,
@@ -1457,7 +1457,15 @@ expand_memory(Fd,Pid,DumpVsn) ->
read_messages(Fd,Pid,BinAddrAdj,Dict),
read_dictionary(Fd,Pid,BinAddrAdj,Dict)},
erase(fd),
- Expanded.
+ IncompleteWarning =
+ case erase(incomplete_heap) of
+ undefined ->
+ [];
+ true ->
+ ["WARNING: This process has an incomplete heap. "
+ "Some information might be missing."]
+ end,
+ {Expanded,IncompleteWarning}.
read_literals(Fd) ->
case lookup_index(?literals,[]) of
@@ -2784,6 +2792,7 @@ deref_ptr(Ptr, Line, BinAddrAdj, D0) ->
none ->
case get(fd) of
end_of_heap ->
+ put(incomplete_heap,true),
{['#CDVIncompleteHeap'],Line,D0};
Fd ->
case bytes(Fd) of