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
Segfault on time.sleep #67174
Comments
I have found what appears to be a segfualt in time.sleep but I'm not sure. The following program that reproduces the segfault uses my fork of billiard, a replacement for the multiprocessing module that is used by celery. In order to install: pip install git+https://github.com/thedrow/billiard@topic/dill-with-threads The program: p1 = ThreadPool()
class Foo(object):
def a(self):
print("a")
return 1
def do(self):
return p1.apply_async(self.a)
foo = Foo()
r = foo.do()
print(r.get())
p1.close()
p1.join() The output from gdb: Program received signal SIGTERM, Terminated. |
SIGTERM is not a segmentation fault. SIGSEGV is for segmentation faults. |
So why exactly the program terminates on a system call? 2014-12-05 23:44 GMT+02:00 STINNER Victor <report@bugs.python.org>:
|
Capturing the signal provides the following traceback: File "mt_example.py", line 10, in <module> The following code reproduces that traceback every time: def handler(signum, frame):
import traceback
print(''.join(traceback.format_stack(frame)))
signal.signal(signal.SIGTERM, handler)
p1 = ThreadPool()
class Foo(object):
def a(self):
print("a")
return 1
def do(self):
return p1.apply_async(self.a)
foo = Foo()
r = foo.do()
print(r.get())
p1.close()
p1.join() I'm convinced that there is a bug somewhere and it seems that Python is the source of the bug. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: