-
Notifications
You must be signed in to change notification settings - Fork 445
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
Device or resource busy #3440
Comments
Per conversation on NixOS/nixpkgs#36065, it seems this bug was introduced some time between 7.0.0 rc3 and the 7.0.0 release. I was going to take a look and see if I could find anything, but there are quite a few commits there. Might want to control your rc process a little better. |
The error seems to be here: https://github.com/twisted/twisted/blob/trunk/src/twisted/internet/_resolver.py#L123 My best guess is that this is the line that would cause this:
|
@non-Jedi thank you for your report. We are currently in the process of reproducing and fixing this bug within our environment. We will keep you updated! |
Can someone with NixOS send me the output of this script? import urllib2, socket, urlparse
from twisted.internet import defer, reactor, threads
def error(failure):
print str(failure)
def run():
urls = ["https://www.google.com/", "http://www.python.org/", "https://github.com/"]
try:
deferreds = []
for url in (urls):
deferreds.append(reactor.resolve(url))
deferreds[-1].addErrback(error)
threads.blockingCallFromThread(reactor, lambda: defer.DeferredList(deferreds))
print "Finished Twisted resolution"
except:
import traceback
traceback.print_exc()
print "Twisted reactor.resolve failed"
try:
for url in (urls):
socket.gethostbyname(urlparse.urlparse(urllib2.urlopen(url).geturl()).hostname)
print "Finished socket resolution"
except:
import traceback
traceback.print_exc()
print "Socket gethostbyname failed"
reactor.callFromThread(reactor.stop)
reactor.callInThread(run)
reactor.run() |
@xvapx I'm not sure how to make a python environment with nix that looks like the one tribler sees. Maybe you have a better idea. |
@non-Jedi Yes, nixos generates a wrapper for tribler which exports all the needed environment variables and paths, you can actually run @qstokkink output:
Is there any more test more I can do to help? |
@xvapx Thanks for testing: this apparently is not the issue making Tribler crash on Nix though. One side-effect of testing this, is that we discovered that |
@qstokkink No problem, I'm testing 7.1.0-exp2 to see if something has changed on nixos, I'll report back. |
I'm working on it, having to fix some dependencies in nixpkgs. |
@qstokkink @non-Jedi EDIT: Lol, after about 10 minutes running, I just wrote this comment and tribler crashed with |
crash log:
|
It seems the error is with Twisted: https://github.com/twisted/twisted/blob/trunk/src/twisted/internet/_resolver.py#L123 seems to only catch If we fix this on our end, it would be a nasty patch. |
We appear to already have a nasty workaround method which we can add to: https://github.com/Tribler/tribler/blob/next/Tribler/Core/Session.py#L149 . |
This should be fixed now. We'll keep you posted on the build completion. |
Actually, release candidate 3 should be out tomorrow evening. |
Great, I'll test it ASAP, thanks a lot! |
@qstokkink
I've sent the report, it's the same bug, version 7.1.0-exp3, on NixOS. |
Great, thanks a lot! |
@xvapx could you try out this build? https://jenkins.tribler.org/job/Build_Tribler_next/297/ |
Yep, I'll try and report back |
@devos50 It's been running for more than one hour now, without a single crash. |
This crashes again in Tribler 7.4.4 (on NixOS release-20.03). Same thing.
|
This doesn't happen in 7.5.0-rc5 so I guess it's all fine. |
From reporter (Tribler 7.0.0)
The text was updated successfully, but these errors were encountered: