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
What steps will reproduce the problem?
import PyV8
import eventlet
class Global(PyV8.JSClass):
def sleep(self, seconds):
eventlet.sleep(seconds)
def run(n):
with PyV8.JSContext(Global()) as ctx:
return ctx.eval("sleep(2);")
pool = eventlet.GreenPool()
for result in pool.imap(run, xrange(5)):
print result
What is the expected output? What do you see instead?
Expected:
None
None
None
None
None
Instead:
Segmentation Fault
What version of the product are you using? On what operating system?
Eventlet 0.9.7, PyV8 0.9, V8 2.2.9, Python 2.6.2, Ubuntu 9.04
Please provide any additional information below.
Strangely enough, if I compile the "sleep(2)", then run it, it works. Only
when I eval() something that would cause Eventlet to cooperatively yield
does it segfault.
Original issue reported on code.google.com by [email protected] on 14 May 2010 at 9:52
Another note I should probably add,
Someone from Freenode #eventlet claims they are able to run the above example
just
fine on X86_64 with the PyV8 binaries. I'm on i686 and have tried both the
PyV8
binaries and compiling from source, but I still get a segfault.
I think the root cause is the eventlet base on the greenlet project, which
seems use a
customized python stack frame for the lightweight coroutine, which may conflict
with
pyv8's multi-thread support. So, I need more time to study the implement
mechanism
of greenlet.
Original issue reported on code.google.com by
[email protected]
on 14 May 2010 at 9:52Attachments:
The text was updated successfully, but these errors were encountered: