When attempting file transfer with remote client: "AttributeError: 'NoneType' object has no attribute 'fileno'"
Versions
- OS: Arch Linux
- GTK+ Version: 3.24.8
- PyGObject Version: 3.32.0
- python-nbxmpp Version: 0.6.10
- Gajim Version: 1.1.2
Traceback
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/nbxmpp/dispatcher_nb.py", line 502, in dispatch
handler['func'](session, stanza)
File "/usr/lib/python3.7/site-packages/gajim/common/connection_handlers.py", line 599, in _PubkeyResultCB
jingle_xtls.handle_new_cert(con, iq_obj, jid_from)
File "/usr/lib/python3.7/site-packages/gajim/common/jingle_xtls.py", line 185, in handle_new_cert
approve_pending_content(id_)
File "/usr/lib/python3.7/site-packages/gajim/common/jingle_xtls.py", line 37, in approve_pending_content
cb(*args)
File "/usr/lib/python3.7/site-packages/gajim/common/jingle_ft.py", line 242, in continue_session_accept
receiving=False)
File "/usr/lib/python3.7/site-packages/gajim/common/socks5.py", line 170, in connect_to_hosts
self.add_sockobj(account, socks5obj)
File "/usr/lib/python3.7/site-packages/gajim/common/socks5.py", line 276, in add_sockobj
result = sockobj.connect()
File "/usr/lib/python3.7/site-packages/gajim/common/socks5.py", line 523, in connect
self.fd = self._sock.fileno()
AttributeError: 'NoneType' object has no attribute 'fileno'
Steps to reproduce the problem
- Attempt transfer with friend.
- Friend and I are both behind NAT firewalls, using no special settings.
- It does not work, throwing an exception.
(I would expect that at the very least this exception would have been handled if it were intentional, so I assume it's a bug of some kind.)
It's notable that I am able to send files back and forth between my laptop and my phone just fine, connecting to my private remote server. (Although it might be important that both client devices are on the same local network. More testing is needed.)
Edit: I have just disconnected my phone from my local network, forcing it to connect over cell tower. File transfer both ways is still working. I had OMEMO enabled, so I disabled that to mimic the circumstances of the conversation with my friend... still could not replicate the problem I had with sharing files with his client. I assume there's something different about his firewall.
Edit 2: It should be noted that I am aware of the contents of this page.
It turns out my port 7777 is working just fine after all (BTW, someone should fix that page, because the servers it lists don't seem to work for testing don't seem to work anymore), so I'm going to have to test my friend's network next. He's not going to be happy about having to open a terminal again.
Edit 3: Forgot to mention that the server in question is running Prosody.