in reply to Devel::Size with Tk

Well, the "CV isn't complete" message means that you're trying to get the size (directly or indirectly) of a code ref, which Devel::Size doesn't completely support at the moment. (Specifically it doesn't know how to look for scratchpads, and it doesn't have a way to walk the optree holding the code and check how big it is)

Devel::Size isn't supposed to get into any sort of infinite loop--there's code in it to identify all the items it checks the size of so it doesn't get into a loop. If it is, it means I missed something somewhere, so I'll go check.

You'll still not necessarily get the full memory size for your stuff, unfortunately, since Tk allocates memory itself in spots (both the Tk module and the Tk libraries) which Devel::Size doesn't know about.