JDK-8188000 : Verify C1 OSR compiled methods for stack walking
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2017-09-27
  • Updated: 2022-02-08
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.
Other
tbdUnresolved
Related Reports
Relates :  
Description
C1 OSR compiled methods have two entries. The normal _verified_entry and _osr_entry. There is a field _frame_complete_offset in (CodeBlob, CompiledMethod or nmethod) which says when the program counter is considered safe. Ie after entry + _frame_complete_offset the program counter is at a point where we can look at the _frame_size to find the return address. 

However if we are doing a OSR migration and go to the _osr_entry, the check in frame::safe_for_sender might not take this into account. The check as I recall only checks entry + _frame_complete_offset. Maybe there should also be a check for _osr_entry + some value that I'm not sure if we actually store.

Worth looking into.