-
Notifications
You must be signed in to change notification settings - Fork 1
Tests and issues found
Had to modify pluginsrv.py setup of SimpleXMLRPCServer to use port 0 (pick a free port) instead of 9100. Have not been able to find any reason for the use of port 9100. Just seems to need a unique port to work and the API can safely pick one.
In the mean time, debugging is made harder by using what pylint calls bare-except and broad-except. In the professional projects that I work on, I am not allowed to use "except:" or "except Exception:". The coding standard is that you must specify the exception(s) that you are catching. If anything else shows up, that is a bug.
For this pass, I am just trying to silence the pylint warnings, either with quick fixes, or supressions.
Submitted fix upstream for chat status issues.
Testing files transfer for bytearray issues. Submitted bytearray fix to upstream.
03/14/2021 15:20:50 Sessionmgr : Received block 0:2 for session
chat'
03/14/2021 15:20:50 x CommGeneric Exception <class 'socket.error'> [Errno 11] Resource temporarily unavailable
03/14/2021 15:20:50 Transport : Got a block: DDT2+: 0:1:5 WB8TYW-1->CQCQCQ (1On
`
Locally fixed in main_station. Need to fix in other places.
So does Get Version
rpc.py needs to handle bytearray. Fix submited to upstream.
If you connect to your self as a remote file it appears to freeze until you disconnect.
Existing bug/feature to be dealt with later.
03/21/2021 14:56:26 RPC : Sending job
File list request' to WB8TYW-1
03/21/2021 14:56:26 RPC : Job sent
03/21/2021 14:56:26 Transport : Waiting 1.1 sec before transmitting
03/21/2021 14:56:27 Transport : Sending block: DDT2+: 1:2:0 WB8TYW-1->WB8TYW-1 (RPCFileListJob...[15])
03/21/2021 14:56:27 Transport : Got a block: DDT2+: 1:2:0 WB8TYW-1->WB8TYW-1 (RPCFileListJob...[15])
03/21/2021 14:56:27 Sessionmgr : Received looped frame
03/21/2021 14:56:57 RPC : Cancelling job 1 due to timeout
03/21/2021 14:56:57 Mainfiles : Incomplete job
`
This may be timing related. Have not been able to make much sense of the dump. Not sure how repeatable it is.
The value being complained about is a class constant from ddt2.py, so do not know why it has become a nonetype.
The get_boolean was from a private instance of the config module being passed two strings. The bottom of the traceback is in an exception handler for when the config.py get_boolean() call failed.
` 03/13/2021 20:07:13 Transport : Sending block: DDT2+: 0:1:5 WB8TYW-2->CQCQCQ (9Going offline (D-RATS)...[23]) Exception in thread Thread-3 (most likely raised during interpreter shutdown):Exception in thread Thread-1 (most likely raised during interpreter shutdown): Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 754, in run File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
File "/mnt/aviary/home/malmberg/work/d-rats/D-Rats/d_rats/transport.py", line 376, in worker File "/usr/lib/python2.7/threading.py", line 754, in run
File "/mnt/aviary/home/malmberg/work/d-rats/D-Rats/d_rats/transport.py", line 209, in parse_blocks File "/mnt/aviary/home/malmberg/work/d-rats/D-Rats/d_rats/msgrouting.py", line 620, in _run
<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'ENCODED_HEADER' File "/mnt/aviary/home/malmberg/work/d-rats/D-Rats/d_rats/config.py", line 2138, in getboolean
<type 'exceptions.TypeError'>: 'NoneType' object is not callable
`
This allows remote systems or program bugs to be a DDOS attack. These items should be logged or flagged, but not cause D-Rats to pop-up an exception.
This triggers the issue.
Tried to resend a message that failed to be received by a buggy client, and got the existing client in apparently an endless loop reporting the message is locked instead of reporting a failure and giving up.
It seems to give up on files right away.
For messages, on receive it rejects them, but the sender keeps retrying apparently until restarted. It keeps the message locked during this.
Getting various errors when d-rats exits. The problem seems to be that threads are throwing exceptions on exit. It looks like on exit, we need something to signal all the threads to exit cleanly, and wait for them to all to end before actually exiting.
The problem apparently
This just generates log noise and should be removed.
Probably needs to just be removed from the code.
([Errno 2] No translation file found for domain: 'D-RATS')
These may be part of my debugging
TypeError: popup() takes exactly 7 arguments (6 given)
Locally Fixed. popup on GTK-3 takes one more argument.