bkushigian / gto-

7 stars 0 forks source link

Fix GTO+ hanging bug #2

Open bkushigian opened 3 years ago

bkushigian commented 3 years ago

Sometimes we hang when we try to receive from GTO+. Could be a bug in GTO.receive(), could be that the python console is hanging.

bkushigian commented 2 years ago

It looks like this comes from sending too many commands to GTO+ too quickly. I've "solved" this by adding sleep calls to lots of things, especially big file-load type stuff. This gives GTO+ a chance to finish whatever it's doing before we try to do another thing.

this is obviously a shitty solution! we don't know how long it takes to load a file so I just said "sleep 0.5 seconds". Since file reloading is a regular part of tree navigation (if we ever want to go up a node we need to reload the file and renavigate to that point which is super duper inefficient) this means that we cant' do efficient tree navigation

jneufeld commented 2 years ago

I can look into this. _send and _receive should have retry logic and more helpful logging and error messages. It might not help much because we're using a deprecated API to GTO+, but it'll at least make the problem clearer.