comparison src/share/vm/runtime/thread.cpp @ 2200:fb539912d338

6472925: OutOfMemoryError fails to generate stack trace as it now ought Summary: Print an additional message for OOM during stack trace printing Reviewed-by: dholmes, phh, acorn, kamg, dcubed
author coleenp
date Mon, 07 Feb 2011 14:36:26 -0500
parents 3582bf76420e
children 5197f3d713a1
comparison
equal deleted inserted replaced
2197:5e139f767ddb 2200:fb539912d338
1609 vmSymbols::thread_throwable_void_signature(), 1609 vmSymbols::thread_throwable_void_signature(),
1610 threadObj, // Arg 1 1610 threadObj, // Arg 1
1611 uncaught_exception, // Arg 2 1611 uncaught_exception, // Arg 2
1612 THREAD); 1612 THREAD);
1613 } 1613 }
1614 CLEAR_PENDING_EXCEPTION; 1614 if (HAS_PENDING_EXCEPTION) {
1615 ResourceMark rm(this);
1616 jio_fprintf(defaultStream::error_stream(),
1617 "\nException: %s thrown from the UncaughtExceptionHandler"
1618 " in thread \"%s\"\n",
1619 Klass::cast(pending_exception()->klass())->external_name(),
1620 get_thread_name());
1621 CLEAR_PENDING_EXCEPTION;
1622 }
1615 } 1623 }
1616 } 1624 }
1617 1625
1618 // Call Thread.exit(). We try 3 times in case we got another Thread.stop during 1626 // Call Thread.exit(). We try 3 times in case we got another Thread.stop during
1619 // the execution of the method. If that is not enough, then we don't really care. Thread.stop 1627 // the execution of the method. If that is not enough, then we don't really care. Thread.stop