it's not a fundamental restriction, but for now it's just a missing functionality. Currently it works this way:
the TracingAllocator records the allocations on the remote side (where the code is exectued)
the LeakDetector checks whether the TracingAllocator leaked anything inside a with: statement around a call site, which happens on the local side
To make it working with local=False, we would need to implement one or more thrift calls so that the TracingAllocator and the LeakDetector can communicate. I even started to do it, but then I realized that it was becoming unnecessarily complex and that for the sake of running our own tests local=True works well enough and it's much simpler to implement.
it's not a fundamental restriction, but for now it's just a missing functionality. Currently it works this way:
TracingAllocator
records the allocations on the remote side (where the code is exectued)LeakDetector
checks whether theTracingAllocator
leaked anything inside awith:
statement around a call site, which happens on the local sideTo make it working with
local=False
, we would need to implement one or more thrift calls so that theTracingAllocator
and theLeakDetector
can communicate. I even started to do it, but then I realized that it was becoming unnecessarily complex and that for the sake of running our own testslocal=True
works well enough and it's much simpler to implement._Originally posted by @antocuni in https://github.com/xnd-project/rbc/pull/380#discussion_r772358000_