Hi,
Please review the code changes for https://bugs.openjdk.java.net/browse/JDK-8151442. Webrev Link: http://cr.openjdk.java.net/~csahu/8151442/ Bug Brief: In jstack thread dumps , thread name greater than 1996 characters doesn't close quotation marks properly. Problem Identified: Jstack is using below code to print thread name src/share/vm/runtime/thread.cpp void JavaThread::print_on(outputStream *st) const { st->print("\"%s\" ", get_thread_name()); Here "st->print()" internally uses max buffer length as O_BUFLEN (2000). void outputStream::do_vsnprintf_and_write_with_automatic_buffer(const char* format, va_list ap, bool add_cr) { char buffer[O_BUFLEN]; do_vsnprintf_and_write_with_automatic_buffer() finally calls "vsnprintf()" which truncates the anything greater than the max size(2000). In this case thread's name(> 1996) along with quotation marks (2) plus one terminating character exceeds the max buffer size (2000), therefore the closing quotation marks gets truncated. Solution: Split the "st->print("\"%s\" ", get_thread_name())" in two statements 1. st->print("\"%s", get_thread_name()); 2. st->print("\" "); This will ensure presence of closing quotation mark always. Regards, Cheleswer