Hi, Thanks for the reply. So the BUG_ON means that it is known prior that a could raise in this codelines. Correct me if am wrong. In that case, there would a patch to fix this, guessing. --Sri On Wed, May 25, 2011 at 11:15 PM, Mulyadi Santosa <mulyadi.santosa@gmail.com
wrote:
Hi...
On Wed, May 25, 2011 at 16:32, sri <bskmohan@gmail.com> wrote:
kernel BUG at kernel/workqueue.c:113!
from http://lxr.linux.no/#linux+v2.6.18/kernel/workqueue.c, lines around 113: int fastcall queue_work(struct workqueue_struct *wq, struct work_struct *work) 107{ 108 int ret = 0, cpu = get_cpu(); 109 110 if (!test_and_set_bit(0, &work->pending)) { 111 if (unlikely(is_single_threaded(wq))) 112 cpu = singlethread_cpu; 113 BUG_ON(!list_empty(&work->entry)); 114 __queue_work(per_cpu_ptr(wq->cpu_wq, cpu), work); 115 ret = 1; 116 } 117 put_cpu(); 118 return ret; 119}
So, if I interpret it correctly, that BUG_ON line means that if work->entry is not empty or null, then it is a bug.
Not sure what causes that, but it could be simply due to failure of "work" initialization (as work_struct) somewhere...
-- regards,
Mulyadi Santosa Freelance Linux trainer and consultant
blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
-- -- Krishna Mohan B