[Click] schedule_timeout: wrong timeout value ffffffff

kssrain kssrain at gmail.com
Sat Jan 31 21:32:10 EST 2009


Hey
Anybody solve the problem? I have the problem too.

2009/1/31 Brian Kim(김계연) <double73 at gmail.com>

> Hi,
>
> I got panic message like this.
>
> [45126.836299] schedule_timeout: wrong timeout value ffffffff
> [45126.836302] Pid: 27420, comm: kclick Not tainted 2.6.24.7 #1
> [45126.836307]  [<c0103bfa>] show_trace_log_lvl+0x1a/0x30
> [45126.836315]  [<c0104602>] show_trace+0x12/0x20
> [45126.836322]  [<c0104f6e>] dump_stack+0x6e/0x80
> [45126.836329]  [<c03a746b>] schedule_timeout+0x9b/0xc0
> [45126.836336]  [<f90b81b2>] _ZN12RouterThread6driverEv+0x502/0x610
> [45126.836525]  [<f9164ce2>] _Z11click_schedPv+0xd2/0x1f0 [genianclick]
> [45126.836739]  [<c01037eb>] kernel_thread_helper+0x7/0x1c
>
> I running click on my linux 2.6.24.7.
> I had some investigation of this problem. And I found some weird code.
>
> ============
> diff --git a/lib/routerthread.cc b/lib/routerthread.cc
> index dfd7bf4..6cf7291 100644
> --- a/lib/routerthread.cc
> +++ b/lib/routerthread.cc
> @@ -441,7 +441,7 @@ RouterThread::run_os()
>    if (wait.sec() >= LONG_MAX / CLICK_HZ - 1)
>        (void) schedule_timeout(LONG_MAX - CLICK_HZ - 1);
>    else
> -       (void) schedule_timeout((wait.sec() * CLICK_HZ) + (wait.subsec()
> * CLICK_HZ / Timestamp::NSUBSEC) - 1);
> +       (void) schedule_timeout((wait.sec() * CLICK_HZ) +
> (wait.subsec() / (Timestamp::NSUBSEC / CLICK_HZ)) - 1);
>     } else
>    goto block;
>     SET_STATE(S_RUNNING);
> ============
>
> wait.subsec() * CLICK_HZ is possibly overflow. So result is -1.
> I still no problem with this patch.
>
> Is this patch is correct ?
>
> Thanks,
>
>
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>



-- 
Ever Qi  || Yongheng Qi  齐永恒

Mobile: +86 1390 119 7481


More information about the click mailing list