[win11][2022.32120] List COMP initialization bug

Hey, I’m running into a weird listCOMP initialization bug. Unfortunately I can’t share it here, without sharing my whole big project, because I can only observe it there, but I’ll try to describe it here:

When I load my project, listCOMP starts to initialize and if the project is heavy so TD would stall for a while when opening it, then listCOMP content would get messed up and I’ll see this very confusing message in the textport:
TypeError: onInitRow() takes three arguments, but four was given
This is confusing because td calls this callback internally, I have no control over it. Also the callback itself consists only of return statment.
I tried to do this, I put an optional fourth argument to onInitRow callback (foo='foo') and in the callback body I said print(foo) to inspect what gets passed to the list comp as fourth argument and this is what I got in the textport:

foo
foo
foo
<td.ListAttribute object at 0x000001AD9284B650>
TypeError: onRadio() missing 2 required positional arguments: 'prevRow' and 'prevCol'

again, I’m not using onRadio() callback. Can it be some kind of pointer resolution problem from c++ code internally in td?

You probably can package the project up and send it to support@derivative.ca
but also pinging @Ivan as this seems like something in his domain!

Hey @densi I’ve seen this but have had trouble replicating it. I agree there must be an internal bug for this callback to get the wrong arguments.
Would it be possible for you to email your project or give us access to a git repo or other download? I’d like to find this one too but I’d have to run it through debugger with C++ team.

Oh and if you email send direct to ivan@derivative.ca

This will be fixed in next release. Thanks for report and test case!

1 Like