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

JvmtiExport::post* functions can crash if multiple envs or tracing enabled

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 5.0
    • 5.0
    • hotspot
    • b37
    • generic
    • generic


      All trace messages (usages of EVT_TRACE and EVT_TRIG_TRACE macros)
      in JvmtiExport.cpp need to re-examined as many of of them are using
      oops rather than Handles. If there are multiple environments enabled
      then a GC can occur when in the agent's callback and objects may
      when it gets to post the event for the next and subsequent environments.

      Some examples :-

      JvmtiExport::post_raw_breakpoint's use of 'method'
      JvmtiExport::post_class_load's use of of 'klass'
      JvmtiExport::post_class_prepare's use of 'klass'
      JvmtiExport::post_method_entry's use of 'method'
      JvmtiExport::post_method_exit's use of 'method'
      JvmtiExport::post_single_step's use of 'method'
      JvmtiExport::post_exception_throw's use of 'method' and 'exception'
      JvmtiExport::notice_unwind_due_to_exception's use of 'method'
      JvmtiExport::post_field_access's use of 'method'
      :
      :

      ###@###.### 2003-11-24

            alanb Alan Bateman
            alanb Alan Bateman
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: