From 5d5f9c1857029d7e8e1de141e29d20dd3de929be Mon Sep 17 00:00:00 2001
From: Rick Reed
Date: Wed, 13 Feb 2013 08:49:20 -0800
Subject: Add thread index to allocator enomem dump slogan
---
erts/doc/src/crash_dump.xml | 28 +++++++++++++++-------------
erts/emulator/beam/erl_alloc.c | 4 ++--
2 files changed, 17 insertions(+), 15 deletions(-)
diff --git a/erts/doc/src/crash_dump.xml b/erts/doc/src/crash_dump.xml
index 885b7c3bb4..d3de29b876 100644
--- a/erts/doc/src/crash_dump.xml
+++ b/erts/doc/src/crash_dump.xml
@@ -85,20 +85,22 @@
operating system.
- "<A>: Cannot allocate <N>
- bytes of memory (of type "<T>")." - The system
- has run out of memory. <A> is the allocator that failed
- to allocate memory, <N> is the number of bytes that
- <A> tried to allocate, and <T> is the memory block
- type that the memory was needed for. The most common case is
- that a process stores huge amounts of data. In this case
- <T> is most often , ,
- , or . For more information on
- allocators see
- erts_alloc(3).
+ bytes of memory (of type "<T>", thread
+ <I>em>)." - The system has run out of memory. <A>
+ is the allocator that failed to allocate memory, <N> is the
+ number of bytes that <A> tried to allocate, <T> is the
+ memory block type that the memory was needed for, and <I> is the
+ thread identifier. The most common case is that a process stores huge
+ amounts of data. In this case <T> is most often
+ , ,
+ , or .
+ For more information on allocators see
+ erts_alloc(3).
- "<A>: Cannot reallocate <N>
- bytes of memory (of type "<T>")." - Same as
- above with the exception that memory was being reallocated
- instead of being allocated when the system ran out of memory.
+ bytes of memory (of type "<T>", thread
+ <I>em>)." - Same as above with the exception that memory
+ was being reallocated instead of being allocated when the system ran
+ out of memory.
- "Unexpected op code N" - Error in compiled
code, file damaged or error in the compiler.
- "Module Name undefined" "Function
diff --git a/erts/emulator/beam/erl_alloc.c b/erts/emulator/beam/erl_alloc.c
index 05ac24e04d..90cd227fae 100644
--- a/erts/emulator/beam/erl_alloc.c
+++ b/erts/emulator/beam/erl_alloc.c
@@ -1873,8 +1873,8 @@ erts_alc_fatal_error(int error, int func, ErtsAlcType_t n, ...)
size = va_arg(argp, Uint);
va_end(argp);
erl_exit(1,
- "%s: Cannot %s %lu bytes of memory (of type \"%s\").\n",
- allctr_str, op, size, t_str);
+ "%s: Cannot %s %lu bytes of memory (of type \"%s\", thread %d).\n",
+ allctr_str, op, size, t_str, ERTS_ALC_GET_THR_IX());
break;
}
case ERTS_ALC_E_NOALLCTR:
--
cgit v1.2.3