Message23837
Logged In: YES
user_id=646321
I've been able to replicate the problem reliably on both 10.3.5 and
10.3.7. I've attached two more examples to demonstrate:
Try this: Do, "dd if=/dev/zero of=./data bs=1024 count=10240" and save
server.pl wherever you put "data". Have three terminals open. In one,
run "perl server.pl -s0.25". In another, run "top -ovsize" and in the third
run "python example2.py".
After about 100 iterations, python's vsize is +1GB (just about the value
of cumulative_req in example2.py) and if left running will cause a
malloc error at around 360 iterations with a vsize over 3.6GB (again, just
about what cumulative_req reports). Mind you, we've only received
~512kbytes.
server.pl differs from the netcat method in that it (defaults) to sending
only 1492 bytes at a time (configurable with the -b switch) and sleeps for
however many seconds specified with the -s switch. This guarantees
enough iterations to raise the error each time around. When omittting
the -s switch to server.pl, I don't get the error, but throughput is good
enough that the loop in readFromSockUntil() only runs a few times. |
|
Date |
User |
Action |
Args |
2007-08-23 14:28:47 | admin | link | issue1092502 messages |
2007-08-23 14:28:47 | admin | create | |
|