Hello,

I think I found a bug in wget.

My GNU wget version is 1.82
My system GNU/Debian unstable


I use wget to replay our apache logfiles to a 
test webserver to try different tuning parameters.


Wget fails to run through the logfile
and give out the error message that "msec >=0 failed".

This is the command I run
#time wget -q -i replaylog -O /dev/null


Here is the output of strace
#time strace wget -q -i replaylog -O /dev/null

read(4, "HTTP/1.1 200 OK\r\nDate: Sat, 13 S"..., 4096) = 4096
write(3, "\377\330\377\340\0\20JFIF\0\1\1\1\0H\0H\0\0\377\354\0\21"...,
3792) = 3792
gettimeofday({1063461157, 858103}, NULL) = 0
select(5, [4], NULL, [4], {900, 0})     = 1 (in [4], left {900, 0})
read(4, "\377\0\344=\217\355V\\\232\363\16\221\255\336h\227\361"..., 1435) =
1435
write(3, "\377\0\344=\217\355V\\\232\363\16\221\255\336h\227\361"..., 1435)
= 1435
gettimeofday({1063461157, 858783}, NULL) = 0
time(NULL)                              = 1063461157
access("390564.jpg?time=1060510404", F_OK) = -1 ENOENT (No such file or
directory)
time(NULL)                              = 1063461157
select(5, [4], NULL, NULL, {0, 1})      = 0 (Timeout)
time(NULL)                              = 1063461157
select(5, NULL, [4], [4], {900, 0})     = 1 (out [4], left {900, 0})
write(4, "GET /fotos/4/390564.jpg?time=106"..., 244) = 244
select(5, [4], NULL, [4], {900, 0})     = 1 (in [4], left {900, 0})
read(4, "HTTP/1.1 200 OK\r\nDate: Sat, 13 S"..., 4096) = 4096
write(3, "\377\330\377\340\0\20JFIF\0\1\1\1\0H\0H\0\0\377\333\0C"..., 3792)
= 3792
gettimeofday({1063461157, 880833}, NULL) = 0
select(5, [4], NULL, [4], {900, 0})     = 1 (in [4], left {900, 0})
read(4, "\343P\223\36T\4\203Rc\317\257J\4x\2165\303;o\211\256+\222"..., 817)
= 817
write(3, "\343P\223\36T\4\203Rc\317\257J\4x\2165\303;o\211\256+\222"...,
817) = 817
gettimeofday({1063461157, 874729}, NULL) = 0
time(NULL)                              = 1063461157
write(2, "wget: retr.c:262: calc_rate: Ass"..., 60wget: retr.c:262:
calc_rate: Assertion `msecs >=
 0' failed.
) = 60
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
getpid()                                = 7106
kill(7106, SIGABRT)                     = 0
--- SIGABRT (Aborted) @ 0 (0) ---
+++ killed by SIGABRT +++


I hope that help.
Keep up the good work

Kind regards

Gunnar

Reply via email to