diff options
author | Björn-Egil Dahlberg <[email protected]> | 2013-10-21 17:39:36 +0200 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2013-10-21 17:39:36 +0200 |
commit | a6141d40a3596090c41f7e52537eaab2e733510c (patch) | |
tree | 47c9903f678853d8f798bd2627fe6e081c52e3cf /erts | |
parent | 76c6d8fcc4f31ce5e1310f18dcf43107c74ae513 (diff) | |
parent | 7cf1ce9d805414d5cb1bf29852d2a5bf48ea4235 (diff) | |
download | otp-a6141d40a3596090c41f7e52537eaab2e733510c.tar.gz otp-a6141d40a3596090c41f7e52537eaab2e733510c.tar.bz2 otp-a6141d40a3596090c41f7e52537eaab2e733510c.zip |
Merge branch 'maint'
Diffstat (limited to 'erts')
-rw-r--r-- | erts/emulator/beam/break.c | 5 | ||||
-rw-r--r-- | erts/emulator/beam/erl_process.c | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/erts/emulator/beam/break.c b/erts/emulator/beam/break.c index ad9a89b642..99604fa3bc 100644 --- a/erts/emulator/beam/break.c +++ b/erts/emulator/beam/break.c @@ -76,7 +76,10 @@ process_info(int to, void *to_arg) for (i = 0; i < max; i++) { Process *p = erts_pix2proc(i); if (p && p->i != ENULL) { - if (!ERTS_PROC_IS_EXITING(p)) + /* Do not include processes with no heap, + * they are most likely just created and has invalid data + */ + if (!ERTS_PROC_IS_EXITING(p) && p->heap != NULL) print_process_info(to, to_arg, p); } } diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c index 79f382674a..1efd070afd 100644 --- a/erts/emulator/beam/erl_process.c +++ b/erts/emulator/beam/erl_process.c @@ -7471,6 +7471,7 @@ alloc_process(ErtsRunQueue *rq, erts_aint32_t state) p->approx_started = erts_get_approx_time(); p->rcount = 0; + p->heap = NULL; ASSERT(p == (Process *) (erts_ptab_pix2intptr_nob( @@ -7583,7 +7584,6 @@ erl_create_process(Process* parent, /* Parent of process (default group leader). hipe_init_process_smp(&p->hipe_smp); #endif #endif - p->heap = (Eterm *) ERTS_HEAP_ALLOC(ERTS_ALC_T_HEAP, sizeof(Eterm)*sz); p->old_hend = p->old_htop = p->old_heap = NULL; p->high_water = p->heap; |