Error in OnGetText
Hi sir,
I got this error message in Output. The bug triggered once I activated HRDevHelper then browsed a sub call in a function.
IDAPython: Error while calling Python callback <OnGetText>:
Traceback (most recent call last):
File "HRDevHelper.py", line 483, in OnGetText
return self[node_id]
File "ida_graph.py", line 2609, in __getitem__
raise KeyError
KeyError
WARNING: It appears the graph_viewer_t instance is changing its
WARNING: textual/color data without calling refresh() afterwards.
WARNING: In order to provide backwards-compatibility, IDA will
WARNING: still consider the new data, but later versions of IDA
WARNING: will likely not. Please consider calling refresh_viewer()
WARNING: (or the Refresh() method if you are using IDAPython)
WARNING: after changes occur in the data.
IDAPython: Error while calling Python callback <OnGetText>:
Traceback (most recent call last):
File "HRDevHelper.py", line 483, in OnGetText
return self[node_id]
File "ida_graph.py", line 2609, in __getitem__
raise KeyError
KeyError
Hi,
I've had this occur as well in the past and thought I had it fixed with one of the "recent" commits. Are you able to reproduce this with the latest version commited to this repository? If yes, could you please provide more information on how to reproduce? An IDA database or executable would help best. Thank you.
Sure,
Here is the sample I would like to share with you to reproduce:
https://drive.google.com/file/d/144Zr4pzA7aF90mpc-rZcpUGkAdtRQ4m-/view?usp=sharing (password: infected)
E.g Activate HRDevHelper with this function: sub_10001AF8. Then double click to sub_10011F26 and the issue comes.
Thanks
Would it be possible to share it on anything other than google drive please? Also, which IDA version are you using?
Another upload for you: https://wormhole.app/AY2ZP#jgiT8oTwwj-fKHZMK-hetw
I am using IDA 7.4
I am unable to reproduce the issue. Could you please verify that the version of HrDevHelper you are using is head on the master branch? Please let me know if the problem persists.
Yes, I am using the latest version of script. I tried to create a tiny video for you: https://wormhole.app/qz8En#BGC9-9H8y4Ez71pT4RKGGg
Please note that I browsed to some functions, go back (by using double click then esc) ...
Thank you. I will look into it (will probably take a few days until I get the chance).
Take your time sir. Thank you :).
Apologies for the very late response... :P One of the recent commits may have fixed it. I don't think I've got the executable anymore but may I ask you to try and reproduce the issue? If no longer reproducible, I'd like to close the issue. Thank you!
No worries, I am using the latest version of plugin but no any issues :). Alright, I didn't keep that sample so cannot reproduce the bug recently. Anyway, if it hits me again, I will report soon.
Thank you for making this great IDA plugin.
Now looking at your initial message again, there could potentially be a race condition that may occur if the user places the screen cursor on a ctree item while the plugin was still in the process of rendering the graph (its textual output to be precise). I remember there was a commit at some point that added a dialog box that is shown to the user during graph-rendering. This may have mitigated the issue because it prevents the screen cursor to be changed but it probably didn't really address the root cause. Happy to close the issue for now and please feel free to open it anytime if the issue can be reproduced.
Thank you for using the plugin and finding it useful!