JDK-5081594 : arguments008 fails an assertion
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 6
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris
  • CPU: sparc
  • Submitted: 2004-08-02
  • Updated: 2012-10-08
  • Resolved: 2004-08-30
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6 mustangFixed
Related Reports
Relates :  
Description

Name: dd4877			Date: 08/02/2004


###@###.### 2004-08-02

New HPROF_FULLLOOK failures (from 2004.07.30)
*   nsk/coverage/arguments/arguments008
       This test failed on Solaris SPARC Client VM due to the following
       assertion failure:
           Internal Error (src/cpu/sparc/vm/frame_sparc.cpp, 317
           assert(cb == 0 || (!cb->caller_must_gc_arguments(map->thread())
               && !map->include_argument_oops()),
               "Assumed that we don't need map->set_include_argument_oops
               (cb->caller_must_gc_arguments(map->thread()))
               (for sake of performance)")
       This test exercises the -Xprof option and not the -Xrunhprof
       so this is a failure in the flat profiler and not the JVM/TI
       profiler. This failure also occurred in the following configs
       in c2_baseline testing:
           Solaris SPARC Client VM
           Solaris SPARC Server VM
           Solaris SPARC-64 Server VM
       The Tiger version of frame_sparc.cpp is 1.146 and the current
       version is 1.152 and all the deltas are Coleen's. I'm going to
       ping Coleen about this failure.
                                                                               
       Last failure on 2004.08.01 run.
       Previous failure on 2004.07.30 run.

======================================================================

Name: dd4877			Date: 08/02/2004


daniel.daugherty@Sun 2004-08-02

This bug affects the following NSK test:

    nsk/coverage/arguments/arguments008




======================================================================

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: mustang FIXED IN: mustang INTEGRATED IN: mustang
31-08-2004

PUBLIC COMMENTS Name: dd4877 Date: 08/02/2004 . ======================================================================
31-08-2004

EVALUATION This assertion in frame_sparc.cpp sender() seems bogus, and the code to remove old code for compiler safepoints changed from passing a NULL argument to this to passing the cb that you get directly after the assertion. Strange, the assertion thinks you can optimize and not call some code that it calls anyway below. assert(cb == NULL || (!cb->caller_must_gc_arguments(map->thread()) && !map->include_argument_oops()), "Assumed that we don't need " "map->set_include_argument_oops(cb->caller_must_gc_arguments(map->thread())) " "(for sake of performance)"); if (cb == NULL) { cb = CodeCache::find_blob(pc()); } if (cb != NULL) { if (cb->caller_must_gc_arguments(map->thread())) { map->set_include_argument_oops(true); } ... I'll probably just remove the assertion, but I also want to remove the public sender_for_compiled_frame() and just have the remaining callers, fprofiler and safepoint (1 place), call sender() instead. The more general sender() will call sender_for_compiled_frame (or equivalent) if it's a compiled frame. ###@###.### 2004-08-03
03-08-2004