curl-library
Re: release delay
Date: Thu, 07 Jun 2007 11:57:03 +0200
Michael Wallner wrote:
> I'm still investigating my curl_share issue. I've not been able to write
> a short reproduce case yet, but I know it stopped working for me with 7.16.1,
> as it works with 7.16.0 and doesn't with .1, .2 and CVS HEAD.
Not working means infinitely hanging in poll(0,0,1000) here.
A GDB backtrace, if it helps anything in the meantime:
mike_at_honeybadger:~/build/php-5.2-debug$ gdb --args sapi/cli/php ~/cvs/pecl/http/tests/HttpRequestDataShare_001.phpt
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(gdb) r
Starting program: /home/mike/build/php-5.2-debug/sapi/cli/php /home/mike/cvs/pecl/http/tests/HttpRequestDataShare_001.phpt
[Thread debugging using libthread_db enabled]
[New Thread -1213864256 (LWP 28001)]
--TEST--
HttpRequestDataShare
--SKIPIF--
--FILE--
-TEST
# About to connect() to www.php.net port 80 (#0)
# Trying 69.147.83.197... # connected
# Connected to www.php.net (69.147.83.197) port 80 (#0)
< GET / HTTP/1.1\x0D\x0A
< User-Agent: PECL::HTTP/1.6.0dev (PHP/5.2.3-dev)\x0D\x0A
< Host: www.php.net\x0D\x0A
< Accept: */*\x0D\x0A
< \x0D\x0A
Program received signal SIGINT, Interrupt.
[Switching to Thread -1213864256 (LWP 28001)]
0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7b2585b in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7f3643b in wait_ms (timeout_ms=1000) at select.c:133
#3 0xb7f3674b in Curl_socket_ready (readfd=-1, writefd=-1, timeout_ms=1000) at select.c:193
#4 0xb7f2d98a in Curl_perform (data=0x86d7398) at transfer.c:1849
#5 0xb7f2e26d in curl_easy_perform (curl=0x86d7398) at easy.c:492
#6 0x08343227 in _http_request_exec (request=0x86a16bc) at /home/mike/cvs/php-5.2/ext/http/http_request_api.c:892
#7 0x08332c2b in zim_HttpRequest_send (ht=0, return_value=0x86a2064, return_value_ptr=0x0, this_ptr=0x86a6a88, return_value_used=0, tsrm_ls=0x854b018)
at /home/mike/cvs/php-5.2/ext/http/http_request_object.c:1823
#8 0x083f52a8 in zend_do_fcall_common_helper_SPEC (execute_data=0xbfc17680, tsrm_ls=0x854b018) at /home/mike/cvs/php-5.2/Zend/zend_vm_execute.h:200
#9 0x083f6296 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0xbfc17680, tsrm_ls=0x854b018) at /home/mike/cvs/php-5.2/Zend/zend_vm_execute.h:322
#10 0x083f4d42 in execute (op_array=0x869e020, tsrm_ls=0x854b018) at /home/mike/cvs/php-5.2/Zend/zend_vm_execute.h:92
#11 0x083cc8b1 in zend_execute_scripts (type=8, tsrm_ls=0x854b018, retval=0x0, file_count=3) at /home/mike/cvs/php-5.2/Zend/zend.c:1134
#12 0x08367267 in php_execute_script (primary_file=0xbfc19a04, tsrm_ls=0x854b018) at /home/mike/cvs/php-5.2/main/main.c:1794
#13 0x08452515 in main (argc=2, argv=0xbfc19b84) at /home/mike/cvs/php-5.2/sapi/cli/php_cli.c:1138
(gdb) f 4
#4 0xb7f2d98a in Curl_perform (data=0x86d7398) at transfer.c:1849
1849 switch (Curl_socket_ready(fd_read, fd_write, 1000)) {
(gdb) p *data
$1 = {
dns = {
hostcache = 0x86d3c90,
hostcachetype = HCACHE_SHARED
},
multi = 0x0,
multi_pos = 0x0,
share = 0x86d3c70,
reqdata = {
pathbuffer = 0x86d4998 "/",
path = 0x86d4998 "/",
newurl = 0x0,
keep = {
size = -1,
bytecountp = 0x86d4cd8,
maxdownload = -1,
writebytecountp = 0x0,
bytecount = 0,
writebytecount = 0,
headerbytecount = 0,
deductheadercount = 0,
start = {
tv_sec = 1181209778,
tv_usec = 380167
},
now = {
tv_sec = 1181209785,
tv_usec = 399491
},
header = true,
badheader = HEADER_NORMAL,
headerline = 0,
hbufp = 0x86d3f50 "\020?\020?",
hbuflen = 0,
str = 0x0,
str_start = 0x0,
end_ptr = 0x0,
p = 0x0,
content_range = false,
offset = 0,
httpcode = 0,
httpversion = -1,
start100 = {
tv_sec = 0,
tv_usec = 0
},
write_after_100_header = false,
wait100_after_headers = false,
content_encoding = 0,
zlib_init = ZLIB_UNINIT,
z = {
next_in = 0x0,
avail_in = 0,
---Type <return> to continue, or q <return> to quit---
total_in = 0,
next_out = 0x0,
avail_out = 0,
total_out = 0,
msg = 0x0,
state = 0x0,
zalloc = 0,
zfree = 0,
opaque = 0x0,
data_type = 0,
adler = 0,
reserved = 0
},
timeofdoc = 0,
bodywrites = 0,
buf = 0x86d77d8 "",
uploadbuf = 0x86db7d9 "",
maxfd = 6,
keepon = 5,
upload_done = false,
ignorebody = false,
ignorecl = false
},
upload_present = 0,
upload_fromhere = 0x0,
size = -1,
bytecountp = 0x86d4cd8,
maxdownload = -1,
writebytecountp = 0x0,
use_range = false,
rangestringalloc = false,
range = 0x0,
resume_from = 0,
proto = {
http = 0x86d4cc0,
https = 0x86d4cc0,
ftp = 0x86d4cc0,
tftp = 0x86d4cc0,
file = 0x86d4cc0,
telnet = 0x86d4cc0,
generic = 0x86d4cc0,
ssh = 0x86d4cc0
}
},
set = {
err = 0xb7b9d560,
debugdata = 0x86a16bc,
errorbuffer = 0x86a1748 "",
proxyuserpwd = 0x0,
proxyport = 0,
out = 0xb7b9d4c0,
in = 0x0,
writeheader = 0x0,
---Type <return> to continue, or q <return> to quit---
set_url = 0x86a2d98 "http://www.php.net/",
proxy = 0x0,
use_port = 0,
userpwd = 0x0,
httpauth = 1,
proxyauth = 1,
set_range = 0x0,
followlocation = 0,
maxredirs = -1,
set_referer = 0x0,
free_referer = false,
useragent = 0x84f3e7c "PECL::HTTP/1.6.0dev (PHP/5.2.3-dev)",
encoding = 0x0,
postfields = 0x0,
postfieldsize = 0,
ftpport = 0x0,
device = 0x0,
localport = 0,
localportrange = 0,
fwrite = 0x833ddc2 <http_curl_dummy_callback>,
fwrite_header = 0,
fread = 0x8343365 <http_curl_read_callback>,
fprogress = 0,
fdebug = 0x83437a6 <http_curl_raw_callback>,
ioctl = 0x83436f7 <http_curl_ioctl_callback>,
fsockopt = 0,
sockopt_client = 0x0,
convfromnetwork = 0,
convtonetwork = 0,
convfromutf8 = 0,
progress_client = 0x0,
ioctl_client = 0x0,
timeout = 0,
connecttimeout = 3000,
ftp_response_timeout = 0,
infilesize = 0,
low_speed_limit = 0,
low_speed_time = 0,
max_send_speed = -5191843719665418240,
max_recv_speed = -5191843719665418240,
set_resume_from = 0,
cookie = 0x0,
headers = 0x0,
httppost = 0x0,
cert = 0x0,
cert_type = 0x0,
key = 0x0,
key_type = 0x0,
key_passwd = 0x0,
cookiejar = 0x0,
cookiesession = false,
crlf = false,
ftp_account = 0x0,
---Type <return> to continue, or q <return> to quit---
ftp_alternative_to_user = 0x0,
quote = 0x0,
postquote = 0x0,
prequote = 0x0,
source_quote = 0x0,
source_prequote = 0x0,
source_postquote = 0x0,
telnet_options = 0x0,
timecondition = CURL_TIMECOND_NONE,
timevalue = 0,
httpreq = HTTPREQ_GET,
customrequest = 0x0,
httpversion = 0,
auth_host = 0x0,
krb4_level = 0x0,
ssl = {
version = 0,
certverifyresult = 0,
verifypeer = 0,
verifyhost = 0,
CApath = 0x0,
CAfile = 0x84f3ea0 "/usr/local/curl-CVS/share/curl/curl-ca-bundle.crt",
random_file = 0x0,
egdsocket = 0x0,
cipher_list = 0x0,
numsessions = 5,
fsslctx = 0,
fsslctxp = 0x0,
sessionid = true
},
proxytype = CURLPROXY_HTTP,
dns_cache_timeout = 60,
buffer_size = 0,
private_data = 0x86a16bc "\230sm\b\230-j\b\001",
one_easy = 0x0,
http200aliases = 0x0,
ip_version = 0,
max_filesize = 0,
source_url = 0x0,
source_userpwd = 0x0,
ftp_filemethod = FTPFILE_MULTICWD,
printhost = false,
get_filetime = true,
tunnel_thru_httpproxy = false,
prefer_ascii = false,
ftp_append = false,
ftp_list_only = false,
ftp_create_missing_dirs = false,
ftp_use_port = false,
hide_progress = true,
http_fail_on_error = false,
http_follow_location = false,
http_disable_hostname_check_before_authentication = false,
---Type <return> to continue, or q <return> to quit---
include_header = false,
http_set_referer = false,
http_auto_referer = true,
opt_no_body = false,
set_port = false,
upload = false,
use_netrc = CURL_NETRC_IGNORED,
netrc_file = 0x0,
verbose = true,
krb4 = false,
reuse_forbid = false,
reuse_fresh = false,
ftp_use_epsv = true,
ftp_use_eprt = true,
ftp_ssl = CURLFTPSSL_NONE,
ftpsslauth = CURLFTPAUTH_DEFAULT,
ftp_ccc = CURLFTPSSL_CCC_NONE,
no_signal = true,
global_dns_cache = false,
tcp_nodelay = false,
ignorecl = false,
ftp_skip_ip = false,
connect_only = false,
ssh_auth_types = -1,
ssh_public_key = 0x0,
ssh_private_key = 0x0,
http_te_skip = false,
http_ce_skip = false
},
change = {
url = 0x86a2d98 "http://www.php.net/",
url_alloc = false,
url_changed = false,
referer = 0x0,
referer_alloc = false,
cookielist = 0x0
},
cookies = 0x86d3d70,
progress = {
lastshow = 1181209785,
size_dl = 0,
size_ul = 0,
downloaded = 0,
uploaded = 0,
current_speed = 0,
callback = false,
width = 0,
flags = 16,
timespent = 7.2388589999999997,
dlspeed = 0,
ulspeed = 0,
t_nslookup = 0.022876000000000001,
t_connect = 0.21921299999999999,
---Type <return> to continue, or q <return> to quit---
t_pretransfer = 0.219531,
t_starttransfer = 0,
t_redirect = 0,
start = {
tv_sec = 1181209778,
tv_usec = 160633
},
t_startsingle = {
tv_sec = 1181209778,
tv_usec = 160636
},
speeder = {0, 0, 0, 0, 0, 0},
speeder_time = {{
tv_sec = 1181209785,
tv_usec = 399492
}, {
tv_sec = 1181209780,
tv_usec = 387237
}, {
tv_sec = 1181209781,
tv_usec = 391200
}, {
tv_sec = 1181209782,
tv_usec = 395162
}, {
tv_sec = 1181209783,
tv_usec = 395131
}, {
tv_sec = 1181209784,
tv_usec = 395099
}},
speeder_c = 7
},
state = {
used_interface = Curl_if_easy,
connc = 0x86d43f0,
keeps_speed = {
tv_sec = 1181209785,
tv_usec = 399491
},
lastconnect = -1,
headerbuff = 0x86d3f50 "\020?\020?",
headersize = 256,
buffer = '\0' <repeats 16384 times>,
uploadbuffer = '\0' <repeats 16384 times>,
current_speed = -1,
this_is_a_follow = false,
is_in_pipeline = false,
first_host = 0x86d4e08 "www.php.net",
session = 0x86d4510,
sessionage = 1,
scratch = 0x0,
errorbuf = false,
---Type <return> to continue, or q <return> to quit---
os_errno = 0,
prev_signal = 0,
allow_port = true,
digest = {
nonce = 0x0,
cnonce = 0x0,
realm = 0x0,
algo = 0,
stale = false,
opaque = 0x0,
qop = 0x0,
algorithm = 0x0,
nc = 0
},
proxydigest = {
nonce = 0x0,
cnonce = 0x0,
realm = 0x0,
algo = 0,
stale = false,
opaque = 0x0,
qop = 0x0,
algorithm = 0x0,
nc = 0
},
authhost = {
want = 1,
picked = 0,
avail = 0,
done = true,
multi = false
},
authproxy = {
want = 1,
picked = 0,
avail = 0,
done = true,
multi = false
},
authproblem = false,
areschannel = 0x86d3de0,
engine = 0x0,
expiretime = {
tv_sec = 0,
tv_usec = 0
},
timenode = {
smaller = 0x0,
larger = 0x0,
same = 0x0,
key = 0,
payload = 0x0
},
---Type <return> to continue, or q <return> to quit---
most_recent_ftp_entrypath = 0x0,
ftp_trying_alternative = false,
expect100header = false,
pipe_broke = false,
cancelled = false,
prev_block_had_trailing_cr = false,
crlf_conversions = 0,
shared_conn = 0x0,
closed = false
},
info = {
httpcode = 0,
httpproxycode = 0,
httpversion = 0,
filetime = -1,
header_size = 0,
request_size = 99,
proxyauthavail = 0,
httpauthavail = 0,
numconnects = 1,
contenttype = 0x0
},
magic = 3235830701
}
-- MichaelReceived on 2007-06-07