438 }
439 st->cr();
440 }
441
442 STEP(90, "(printing siginfo)" )
443
444 // signal no, signal code, address that caused the fault
445 if (_verbose && _siginfo) {
446 os::print_siginfo(st, _siginfo);
447 st->cr();
448 }
449
450 STEP(100, "(printing registers, top of stack, instructions near pc)")
451
452 // registers, top of stack, instructions near pc
453 if (_verbose && _context) {
454 os::print_context(st, _context);
455 st->cr();
456 }
457
458 STEP(110, "(printing stack bounds)" )
459
460 if (_verbose) {
461 st->print("Stack: ");
462
463 address stack_top;
464 size_t stack_size;
465
466 if (_thread) {
467 stack_top = _thread->stack_base();
468 stack_size = _thread->stack_size();
469 } else {
470 stack_top = os::current_stack_base();
471 stack_size = os::current_stack_size();
472 }
473
474 address stack_bottom = stack_top - stack_size;
475 st->print("[" PTR_FORMAT "," PTR_FORMAT "]", stack_bottom, stack_top);
476
477 frame fr = _context ? os::fetch_frame_from_context(_context)
505 fr = os::get_sender_for_C_frame(&fr);
506 }
507
508 if (count > StackPrintLimit) {
509 st->print_cr("...<more frames>...");
510 }
511
512 st->cr();
513 }
514 }
515
516 STEP(130, "(printing Java stack)" )
517
518 if (_verbose && _thread && _thread->is_Java_thread()) {
519 print_stack_trace(st, (JavaThread*)_thread, buf, sizeof(buf));
520 }
521
522 STEP(135, "(printing target Java thread stack)" )
523
524 // printing Java thread stack trace if it is involved in GC crash
525 if (_verbose && (_thread->is_Named_thread())) {
526 JavaThread* jt = ((NamedThread *)_thread)->processed_thread();
527 if (jt != NULL) {
528 st->print_cr("JavaThread " PTR_FORMAT " (nid = " UINTX_FORMAT ") was being processed", jt, jt->osthread()->thread_id());
529 print_stack_trace(st, jt, buf, sizeof(buf), true);
530 }
531 }
532
533 STEP(140, "(printing VM operation)" )
534
535 if (_verbose && _thread && _thread->is_VM_thread()) {
536 VMThread* t = (VMThread*)_thread;
537 VM_Operation* op = t->vm_operation();
538 if (op) {
539 op->print_on_error(st);
540 st->cr();
541 st->cr();
542 }
543 }
544
545 STEP(150, "(printing current compile task)" )
590 }
591 st->cr();
592 st->cr();
593 }
594
595 STEP(180, "(printing owned locks on error)" )
596
597 // mutexes/monitors that currently have an owner
598 if (_verbose) {
599 print_owned_locks_on_error(st);
600 st->cr();
601 }
602
603 STEP(190, "(printing heap information)" )
604
605 if (_verbose && Universe::is_fully_initialized()) {
606 // print heap information before vm abort
607 Universe::print_on(st);
608 st->cr();
609 }
610
611 STEP(200, "(printing dynamic libraries)" )
612
613 if (_verbose) {
614 // dynamic libraries, or memory map
615 os::print_dll_info(st);
616 st->cr();
617 }
618
619 STEP(210, "(printing VM options)" )
620
621 if (_verbose) {
622 // VM options
623 Arguments::print_on(st);
624 st->cr();
625 }
626
627 STEP(220, "(printing environment variables)" )
628
629 if (_verbose) {
|
438 }
439 st->cr();
440 }
441
442 STEP(90, "(printing siginfo)" )
443
444 // signal no, signal code, address that caused the fault
445 if (_verbose && _siginfo) {
446 os::print_siginfo(st, _siginfo);
447 st->cr();
448 }
449
450 STEP(100, "(printing registers, top of stack, instructions near pc)")
451
452 // registers, top of stack, instructions near pc
453 if (_verbose && _context) {
454 os::print_context(st, _context);
455 st->cr();
456 }
457
458 STEP(105, "(printing register info)")
459
460 // decode register contents if possible
461 if (_verbose && _context && Universe::is_fully_initialized()) {
462 os::print_register_info(st, _context);
463 st->cr();
464 }
465
466 STEP(110, "(printing stack bounds)" )
467
468 if (_verbose) {
469 st->print("Stack: ");
470
471 address stack_top;
472 size_t stack_size;
473
474 if (_thread) {
475 stack_top = _thread->stack_base();
476 stack_size = _thread->stack_size();
477 } else {
478 stack_top = os::current_stack_base();
479 stack_size = os::current_stack_size();
480 }
481
482 address stack_bottom = stack_top - stack_size;
483 st->print("[" PTR_FORMAT "," PTR_FORMAT "]", stack_bottom, stack_top);
484
485 frame fr = _context ? os::fetch_frame_from_context(_context)
513 fr = os::get_sender_for_C_frame(&fr);
514 }
515
516 if (count > StackPrintLimit) {
517 st->print_cr("...<more frames>...");
518 }
519
520 st->cr();
521 }
522 }
523
524 STEP(130, "(printing Java stack)" )
525
526 if (_verbose && _thread && _thread->is_Java_thread()) {
527 print_stack_trace(st, (JavaThread*)_thread, buf, sizeof(buf));
528 }
529
530 STEP(135, "(printing target Java thread stack)" )
531
532 // printing Java thread stack trace if it is involved in GC crash
533 if (_verbose && _thread && (_thread->is_Named_thread())) {
534 JavaThread* jt = ((NamedThread *)_thread)->processed_thread();
535 if (jt != NULL) {
536 st->print_cr("JavaThread " PTR_FORMAT " (nid = " UINTX_FORMAT ") was being processed", jt, jt->osthread()->thread_id());
537 print_stack_trace(st, jt, buf, sizeof(buf), true);
538 }
539 }
540
541 STEP(140, "(printing VM operation)" )
542
543 if (_verbose && _thread && _thread->is_VM_thread()) {
544 VMThread* t = (VMThread*)_thread;
545 VM_Operation* op = t->vm_operation();
546 if (op) {
547 op->print_on_error(st);
548 st->cr();
549 st->cr();
550 }
551 }
552
553 STEP(150, "(printing current compile task)" )
598 }
599 st->cr();
600 st->cr();
601 }
602
603 STEP(180, "(printing owned locks on error)" )
604
605 // mutexes/monitors that currently have an owner
606 if (_verbose) {
607 print_owned_locks_on_error(st);
608 st->cr();
609 }
610
611 STEP(190, "(printing heap information)" )
612
613 if (_verbose && Universe::is_fully_initialized()) {
614 // print heap information before vm abort
615 Universe::print_on(st);
616 st->cr();
617 }
618
619 STEP(195, "(printing code cache information)" )
620
621 if (_verbose && Universe::is_fully_initialized()) {
622 // print code cache information before vm abort
623 CodeCache::print_bounds(st);
624 st->cr();
625 }
626
627 STEP(200, "(printing dynamic libraries)" )
628
629 if (_verbose) {
630 // dynamic libraries, or memory map
631 os::print_dll_info(st);
632 st->cr();
633 }
634
635 STEP(210, "(printing VM options)" )
636
637 if (_verbose) {
638 // VM options
639 Arguments::print_on(st);
640 st->cr();
641 }
642
643 STEP(220, "(printing environment variables)" )
644
645 if (_verbose) {
|