C:\Users\Greg\projects\pycurl-7.19.0>tests\test_multi_socket_select.py
Add socket 384
2 384 <pycurl.CurlMulti object at 0x0000000001ED6958> None
Add socket 400
2 400 <pycurl.CurlMulti object at 0x0000000001ED6958> None
Add socket 404
2 404 <pycurl.CurlMulti object at 0x0000000001ED6958> None
<-- crashes here
Unhandled exception at 0x0000000180010317 in python.exe: 0xC0000005: Access violation reading location 0xffffffffffffffff.
> pycurl.pyd!0000000180010317()
[Frames below may be incorrect and/or missing, no symbols loaded for pycurl.pyd]
pycurl.pyd!000000018000c51e()
pycurl.pyd!000000018000c6bf()
pycurl.pyd!0000000180005072()
python27.dll!000000001e0ca9e9()
python27.dll!000000001e10ec24()
python27.dll!000000001e1123d4()
python27.dll!000000001e113bd9()
python27.dll!000000001e113c79()
python27.dll!000000001e13fc0a()
python27.dll!000000001e140eea()
python27.dll!000000001e14152a()
python27.dll!000000001e141f23()
python27.dll!000000001e0443f9()
python.exe!000000001d00119e()
kernel32.dll!000000007739f56d()
ntdll.dll!0000000077ad3021()
C:\Users\Greg\projects\pycurl-7.19.0>python
Python 2.7 (r27:82525, Jul 4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> ^Z
pycurl from here:
http://www.lfd.uci.edu/~gohlke/pythonlibs/
pycurl-7.19.0.win-amd64-py2.7.exe [863 KB] [Python 2.7] [64 bit] [Sep 04, 2010]
I tried the tests after running into a crash in a real application, which I can reproduce with Tornado easily:
import tornado.ioloop
import tornado.httpclient
http_client = tornado.httpclient.AsyncHTTPClient()
def done(r):
print "done!", r
response = http_client.fetch("http://google.com", done)
tornado.ioloop.IOLoop.instance().start()
I built libcurl 7.21.2 for x86_84 on VC9 and rebuilt pycurl-7.19.0 to use it, and I still get the crash.