youxiudeshouyeren opened a new issue, #16490:
URL: https://github.com/apache/tvm/issues/16490

   In the debug_executor's `debug_get_output` function, the out parameter can 
be set to None, but in the C++ implementation of the function, there is no 
check to see if the out parameter is None, which can result in the program 
reporting an error without a prompt. The details are as follows:
   
   1. `debug_get_output` function in 
tvm/python/tvm/contrib/debugger/debug_executor.py
   
![image](https://github.com/apache/tvm/assets/41790911/4b7edf34-dedf-42a1-a1c7-e8628a031b66)
   
   2. C++ implementation  in 
tvm/src/runtime/graph_executor/debug/graph_executor_debug.cc.  This function 
has no return value and copies Ndarray directly to the out parameter in python.
   
![image](https://github.com/apache/tvm/assets/41790911/da031c46-5061-473c-b567-5f4a40335d59)
   
   3. When out is None, this will raise a direct error: segment fault
   
![image](https://github.com/apache/tvm/assets/41790911/a79200a3-ea16-44e1-b536-d1c62af6d2b1)
   
   I would like to raise a pr to address this issue. Now there are two choices:
   1. check at python level that this out parameter cannot be None.
   2. check the number of arguments in C++ and return Ndarray directly when out 
is None. This operation has the same behavior as get_output function in 
executor.
   I prefer the second choice. Thanks for reading and what do you suggest?
   
   @Hzfengsy 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to