Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8214128

ARM32: wrong stack alignment on Deoptimization::unpack_frames

    XMLWordPrintable

Details

    • b24
    • aarch32
    • linux

    Backports

      Description

        Failed test: test/hotspot/jtreg/compiler/uncommontrap/TestDeoptOOM.java

        # Internal Error (/home/build/jdk-jdk/src/hotspot/share/logging/logDecorations.cpp:84), pid=15978, tid=16015
        # assert(written >= 0) failed: Decorations buffer overflow

        Call stack:
        #10 0xb5ee543c in report_vm_error(char const*, int, char const*, char const*, ...) ()
        #11 0xb654153c in LogDecorations::LogDecorations(LogLevel::type, LogTagSet const&, LogDecorators const&) ()
        #12 0xb654ec54 in LogTagSet::vwrite(LogLevel::type, char const*, std::__va_list) ()
        #13 0xb654dde4 in LogTargetHandle::print(char const*, ...) ()
        #14 0xb654dcec in LogStream::write(char const*, unsigned int) ()
        #15 0xb675e99c in OopMapCacheEntry::verify_mask(CellTypeState*, CellTypeState*, int, int) ()
        #16 0xb675ebcc in OopMapForCacheEntry::fill_stackmap_for_opcodes(BytecodeStream*, CellTypeState*, CellTypeState*, int) ()
        #17 0xb611fd64 in GenerateOopMap::do_method(int, int, int, int) ()
        #18 0xb6121858 in GenerateOopMap::interp1(BytecodeStream*) ()
        #19 0xb6121f4c in GenerateOopMap::interp_bb(BasicBlock*) ()
        #20 0xb675dd0c in OopMapForCacheEntry::compute_map(Thread*) ()
        #21 0xb6760098 in OopMapCacheEntry::fill(methodHandle const&, int) ()
        #22 0xb6760e18 in OopMapCache::compute_one_oop_map(methodHandle const&, int, InterpreterOopMap*) ()
        #23 0xb5feb2bc in frame::describe(FrameValues&, int) ()
        #24 0xb6a772e8 in JavaThread::print_frame_layout(int, bool) ()
        #25 0xb5f0a3e0 in Deoptimization::unpack_frames(JavaThread*, int) ()
        #26 0xb336bc4c in ?? ()

        Issue caused by printf function (LogDecorations::create_uptime_decoration -> jio_snprintf) with value of double type - in non-aligned stack mode the function prints big mess to provided char buffer and overflows them.

        Attachments

          Issue Links

            Activity

              People

                bulasevich Boris Ulasevich
                bulasevich Boris Ulasevich
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: