72 // no core/minidump has been written to disk 73 static char coredump_message[O_BUFLEN]; 74 75 // used by reporting about OOM 76 size_t _size; 77 78 // set signal handlers on Solaris/Linux or the default exception filter 79 // on Windows, to handle recursive crashes. 80 void reset_signal_handlers(); 81 82 // handle -XX:+ShowMessageBoxOnError. buf is used to format the message string 83 void show_message_box(char* buf, int buflen); 84 85 // generate an error report 86 void report(outputStream* st); 87 88 // generate a stack trace 89 static void print_stack_trace(outputStream* st, JavaThread* jt, 90 char* buf, int buflen, bool verbose = false); 91 92 // accessor 93 const char* message() const { return _message; } 94 const char* detail_msg() const { return _detail_msg; } 95 bool should_report_bug(unsigned int id) { 96 return (id != OOM_MALLOC_ERROR) && (id != OOM_MMAP_ERROR); 97 } 98 99 static fdStream out; 100 static fdStream log; // error log used by VMError::report_and_die() 101 102 public: 103 104 // Constructor for crashes 105 VMError(Thread* thread, unsigned int sig, address pc, void* siginfo, 106 void* context); 107 // Constructor for VM internal errors 108 VMError(Thread* thread, const char* filename, int lineno, 109 const char* message, const char * detail_msg); 110 111 // Constructor for VM OOM errors | 72 // no core/minidump has been written to disk 73 static char coredump_message[O_BUFLEN]; 74 75 // used by reporting about OOM 76 size_t _size; 77 78 // set signal handlers on Solaris/Linux or the default exception filter 79 // on Windows, to handle recursive crashes. 80 void reset_signal_handlers(); 81 82 // handle -XX:+ShowMessageBoxOnError. buf is used to format the message string 83 void show_message_box(char* buf, int buflen); 84 85 // generate an error report 86 void report(outputStream* st); 87 88 // generate a stack trace 89 static void print_stack_trace(outputStream* st, JavaThread* jt, 90 char* buf, int buflen, bool verbose = false); 91 92 static const char* gc_mode(); 93 static void print_oom_reasons(outputStream* st); 94 95 // accessor 96 const char* message() const { return _message; } 97 const char* detail_msg() const { return _detail_msg; } 98 bool should_report_bug(unsigned int id) { 99 return (id != OOM_MALLOC_ERROR) && (id != OOM_MMAP_ERROR); 100 } 101 102 static fdStream out; 103 static fdStream log; // error log used by VMError::report_and_die() 104 105 public: 106 107 // Constructor for crashes 108 VMError(Thread* thread, unsigned int sig, address pc, void* siginfo, 109 void* context); 110 // Constructor for VM internal errors 111 VMError(Thread* thread, const char* filename, int lineno, 112 const char* message, const char * detail_msg); 113 114 // Constructor for VM OOM errors |