-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
When tor process exits unexpectedly tor.protocol.get_info hangs #389
Comments
Okay, so it does Although it's not quite the same, there is That said, adding a |
It calls the errback on the first failure, that is this log line
But then when the second
I am not sure this is the correct thing to do in this case though, since the first failure could potentially be a non-final failure (ex. I passed an invalid descriptor) in which case I just would like to skip that specific relay. |
Yes, definitely at least one issue here, thanks for the detailed bug report! |
By default, Twisted's So, we either need to "not limit" line-length (not really possible with Twisted right now, but we could set MAX_INT or something I suppose) and / or find out what the maximum length of a microdescriptor can be ..... |
To test if this is the only thing holding your case back, you could set |
ca33eca Bump txtorcon from 23.0.0 to 23.11.0 (Kristaps Kaupe) Pull request description: In #1567 we updated to 23.0.0, not 23.5.0, because that was the last version supporting Python 3.7. Now that Python 3.7 support is dropped with #1639, can upgrade to latest. Changes in [23.5.0](https://github.com/meejah/txtorcon/releases/tag/v23.5.0): * twisted.web.client.Agent instances now use the same HTTPS policy by default as twisted.web.client.Agent. It is possible to override this policy with the tls_context_factory= argument, the equivalent to Agent's contextFactory= (Thanks to Itamar Turner-Trauring) * Added support + testing for Python 3.11. * No more ipaddress dependency Changes in [23.11.0](https://github.com/meejah/txtorcon/releases/tag/v23.11.0): * Fix test-failures on Python 3.12 * Particular GETINFO hanging (meejah/txtorcon#389) (ultra-long lines over 16KiB caused problems in the protocol) * Use built-in `mock` only (https://github.com/jelly) * Remove `incremental` (https://github.com/gdrosos) Basically, not much changes, but fixed bug, dropped dependencies and better support for Python 3.11 and 3.12 is good enough reason to merge for me. Top commit has no ACKs. Tree-SHA512: 0379dfd7303f3d2f5567fddda75f4d06af1fb56c0499245745842ba82b5623d49324e4c36e7e759b50becb22874a32282c115f6c5a2c5c18979acc4b096f7d18
Here is a minimal reproduction for this issue:
You can see that the last log lines are:
Where we are waiting on the
tor.protocol.get_info("md/id/" + exit_fp)
call.I would expect to either get an errback, because the process is dead or have some other way to tell that I should not be calling it.
It would also be nice to be able to somehow know that tor has exited this way, as it's currently not possible to listen for the "tor exited" event.
This probably is also a tor bug, as it should not happen that the tor process exits when issuing this specific get_info command.
The text was updated successfully, but these errors were encountered: