-
Notifications
You must be signed in to change notification settings - Fork 359
[Bug] Protocol: AttributeError: 'NoneType' object has no attribute 'ReadUntilClose' still occurring on NVidia Shield #136
Comments
@fahhem sorry to intrude, but I'm hoping you can have a look into this error soon when you have the time. I know this repo has become pretty desolate, but this appears to be a pretty significant bug. I've tried to figure it out on my own, but have failed after debugging for a few hours. Hopefully, seeing as you're more aware of the inner-workings of the project you'll know exactly what to look for with my extensive debugging logs. I know this probably doesn't help much, but I organized the first two errors in a horizontal fashion to easily follow the variable values from function-to-function left-to-right in the attached excel file. |
@fahhem here is a new issue on the problem. Any insight? |
Are you using the latest python-adb (from GitHub) or the release from PyPI (admittedly I need to update it)? The remote ID being 27639 means that the device is responding to a different call to the one you're expecting, and we don't support multi-streams (yet). Are you using TCP or USB? If it's TCP, is there a chance someone else is talking to the device at the moment? |
I'm using this version: https://github.com/JeffLIrion/python-adb/tree/adb-homeassistant, which I believe has been updated. In fact, the editor of that tree has an open issue here (#133) for you to release that version lol. To answer your question, TCP & there is no chance anyone/anything else is talking to the device at the moment. The remote ID error is actually the second error in the logs, but it's the first one that is "Raised". The real first one (receiving WRTE instead of OKAY or CLSE) is a silent error. Again, this only seems to occur on devices with Android TV OSes (Nvidia Shield). I don't have the issue on my android box. Any idea why it's receiving WRTE in this case? How can this be fixed? |
Adding additional links here in hopes it helps you diagnose the problem. Differential between a working To me, it seems the problem originates in either the The following logs are all for the same device & same adb command. I hope that helps @fahhem |
Any input on this @fahhem? |
See #151 for a possible fix. This worked for me. |
I think this might be related to #59. It seems the error only occurs on "Official" Android TV OS devices because I have not been able to reproduce the error on my android box that runs an Android Tablet OS. Anyway, the traceback is as follows
I've taken the liberty of modifying the
adb_protocol.py
file to add in a ton of logging to see what's going on. You can find the modified file's code here and a partial log showing where the error begins to occur hereFrom what I could gather after jumping down the rabbit hole bouncing from function to function after a few hours I have the following theory:
adb_protocol.py
, then line 312 because we're receiving a command that isn't expected (we getb'WRTE'
while it's looking for eitherb'CLSE'
orb'OKAY'
What's wrong with the
adb_protocol.py
file? Does anyone know of a fix?The text was updated successfully, but these errors were encountered: