Mercurial > hg > truffle
comparison src/share/vm/utilities/vmError.hpp @ 2204:63d374c54045
7014918: Improve core/minidump handling in Hotspot
Summary: Added Minidump support on Windows, enabled large page core dumps when coredump_filter is present and writing out path/rlimit for core dumps.
Reviewed-by: poonam, dsamersoff, sla, coleenp
author | ctornqvi |
---|---|
date | Wed, 09 Feb 2011 11:08:10 +0100 |
parents | 36c186bcc085 |
children | db006a85bf91 |
comparison
equal
deleted
inserted
replaced
2203:5197f3d713a1 | 2204:63d374c54045 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
65 // First error, and its thread id. We must be able to handle native thread, | 65 // First error, and its thread id. We must be able to handle native thread, |
66 // so use thread id instead of Thread* to identify thread. | 66 // so use thread id instead of Thread* to identify thread. |
67 static VMError* volatile first_error; | 67 static VMError* volatile first_error; |
68 static volatile jlong first_error_tid; | 68 static volatile jlong first_error_tid; |
69 | 69 |
70 // Core dump status, false if we have been unable to write a core/minidump for some reason | |
71 static bool coredump_status; | |
72 | |
73 // When coredump_status is set to true this will contain the name/path to the core/minidump, | |
74 // if coredump_status if false, this will (hopefully) contain a useful error explaining why | |
75 // no core/minidump has been written to disk | |
76 static char coredump_message[O_BUFLEN]; | |
77 | |
70 // used by reporting about OOM | 78 // used by reporting about OOM |
71 size_t _size; | 79 size_t _size; |
72 | 80 |
73 // set signal handlers on Solaris/Linux or the default exception filter | 81 // set signal handlers on Solaris/Linux or the default exception filter |
74 // on Windows, to handle recursive crashes. | 82 // on Windows, to handle recursive crashes. |
104 VMError(const char* message); | 112 VMError(const char* message); |
105 | 113 |
106 // return a string to describe the error | 114 // return a string to describe the error |
107 char *error_string(char* buf, int buflen); | 115 char *error_string(char* buf, int buflen); |
108 | 116 |
117 // Report status of core/minidump | |
118 static void report_coredump_status(const char* message, bool status); | |
119 | |
109 // main error reporting function | 120 // main error reporting function |
110 void report_and_die(); | 121 void report_and_die(); |
111 | 122 |
112 // reporting OutOfMemoryError | 123 // reporting OutOfMemoryError |
113 void report_java_out_of_memory(); | 124 void report_java_out_of_memory(); |