You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Xiaolin Ha (Jira)" <ji...@apache.org> on 2021/07/14 12:48:00 UTC

[jira] [Created] (HBASE-26087) JVM crash when displaying RPC params by MonitoredRPCHandler

Xiaolin Ha created HBASE-26087:
----------------------------------

             Summary: JVM crash when displaying RPC params by MonitoredRPCHandler
                 Key: HBASE-26087
                 URL: https://issues.apache.org/jira/browse/HBASE-26087
             Project: HBase
          Issue Type: Bug
          Components: UI
    Affects Versions: 2.0.0, 3.0.0-alpha-1
            Reporter: Xiaolin Ha
            Assignee: Xiaolin Ha


It is the same problem as HBASE-25981.
The reason here is MonitoredRPCHandlerImpl uses the shallow copy of call param to displaying RPC info, but the param contains offheap request data. Thought when calling toMap() there is state checking for the monitored RPC, only RUNNING RPCs can read and display params, the state is ENUM type and like a constant in clone().
So there exists circumstances that the state in the clone MonitoredRPCHandler is RUNNING, but the param still refers to the cloned MonitoredRPCHandler, whose state changed to be not RUNNING and param referred offheap ByteBuffer is released.






  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)