You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Alerts is the main mechanism for libtorrent to report errors and events. pop_alerts fills in the vector passed to it with
pointers to new alerts. The [session](https://libtorrent.org/reference-Session.html#session) still owns these alerts and
they will stay valid until the next time pop_alerts is called. You may not delete the
[alert](https://libtorrent.org/reference-Alerts.html#alert) objects.
A user has removed a torrent just before the crash:
Request: DELETE http://localhost:50729/downloads/<hash>
Finished: DELETE http://localhost:50729/downloads/<hash>
Request: GET http://localhost:50729/downloads?get_pieces=1
Finished: GET http://localhost:50729/downloads?get_pieces=1
CoreExceptionHandler.unhandled_error_observer(): RuntimeError: Access violation - no RTTI data!
So, I can identify two probable causes of the error:
An alert from a previous pop_alerts call is being modified/accessed during the current call of pop_alerts.
The information about the sessions becomes outdated during the _task_process_alerts since it caches the session list:
def_task_process_alerts(self):
forhops, ltsessioninlist(self.ltsessions.items()): # <- here
...
I couldn't find a way to properly fix the error besides addressing it through #7940, which fixes potentially dangerous situations but is not the root cause of the original issue. Therefore, I'm unassigning myself from it.
Sentry Issue: TRIBLER-1JG
The text was updated successfully, but these errors were encountered: