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

ARM32: wrong stack alignment on Deoptimization::unpack_frames

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 12
    • Fix Version/s: 12
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b24
    • CPU:
      aarch32
    • OS:
      linux

      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

          Activity

            People

            • Assignee:
              bulasevich Boris Ulasevich
              Reporter:
              bulasevich Boris Ulasevich
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: