The error has been discovered when connecting Drive to a server that returns an 500 error every time on NuxeoDrive.GetChangeSummary. It was possible to use Drive and create a Direct Transfer session but the files upload would never start. The only way for the upload to start was to restart Drive.
When pushing an item into the the queue_manager, the QueueManager.newItem signal is sent and will trigger the QueueManager.launch_processors() method that will handle the item. This signal connection is done in the QueueManager.init_processors() method.
This method is triggered by the RemoteWatcher.initiate signal in the remote watcher.
If the remote scan fails on the first pass, the signal will never be emitted and QueueManager.init_processors() will never be called. This will prevent the items added in Direct Transfer to be handled by the QueueManager.launch_processors() method.