From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754652Ab1IFOvZ (ORCPT ); Tue, 6 Sep 2011 10:51:25 -0400 Received: from mga14.intel.com ([143.182.124.37]:8838 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754159Ab1IFOvU (ORCPT ); Tue, 6 Sep 2011 10:51:20 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.68,338,1312182000"; d="scan'208";a="45987197" Subject: Re: 3.0.3 kernel BUG at kernel/timer.c:1035 From: Lin Ming To: Frank van Maarseveen Cc: Andrew Morton , linux-kernel@vger.kernel.org In-Reply-To: References: <20110824130238.GA24543@janus> <20110902011058.c5bad476.akpm@linux-foundation.org> <20110905123813.GA29763@janus> Content-Type: text/plain; charset="ISO-8859-1" Date: Tue, 06 Sep 2011 22:48:38 +0800 Message-ID: <1315320518.4235.3.camel@hp6530s> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 5, 2011 at 8:38 PM, Frank van Maarseveen wrote: > On Fri, Sep 02, 2011 at 01:10:58AM -0700, Andrew Morton wrote: >> On Wed, 24 Aug 2011 15:02:38 +0200 Frank van Maarseveen wrote: >> >> > Got several of these (logged via netconsole): >> > >> > kernel BUG at kernel/timer.c:1035! >> > invalid opcode: 0000 [#1] >> > PREEMPT >> > SMP >> > >> > ... >> > >> > Call Trace: >> > [] run_timer_softirq+0x148/0x1e0 >> > [] ? rebalance_domains+0x135/0x160 >> > [] ? get_parent_ip+0xb/0x40 >> > [] ? get_parent_ip+0xb/0x40 >> > [] __do_softirq+0x78/0x100 >> > [] ? local_bh_enable+0xa0/0xa0 >> > >> > >> > [] ? irq_exit+0x5d/0x70 >> > [] ? smp_apic_timer_interrupt+0x53/0x90 >> > [] ? apic_timer_interrupt+0x2a/0x30 >> > [] ? mwait_idle+0x4d/0x80 >> > [] ? cpu_idle+0x3a/0x80 >> > [] ? rest_init+0x7b/0x80 >> > [] ? start_kernel+0x2e2/0x2e8 >> > [] ? loglevel+0x1a/0x1a >> > [] ? i386_start_kernel+0xb3/0xbb >> > >> > >> >> Could be that a timer was freed while still running. >> >> Please ensure that all kernel debugging options are enabled. >> Especially >> >> CONFIG_DEBUG_OBJECTS=y >> CONFIG_DEBUG_OBJECTS_SELFTEST=y >> CONFIG_DEBUG_OBJECTS_FREE=y >> CONFIG_DEBUG_OBJECTS_TIMERS=y >> CONFIG_DEBUG_OBJECTS_WORK=y >> CONFIG_DEBUG_OBJECTS_RCU_HEAD=y >> CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y >> CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 >> CONFIG_SLUB_DEBUG_ON=y >> >> CONFIG_DEBUG_OBJECTS_TIMERS might catch this one. > > Got something after enabling the above. Unplugging USB storage > before umount a couple of times produced the following trace: > > usb 1-7: USB disconnect, device number 10 > Buffer I/O error on device sdb1, logical block 0 > lost page write due to I/O error on sdb1 > ------------[ cut here ]------------ > WARNING: at lib/debugobjects.c:262 debug_print_object+0x85/0xa0() > Hardware name: OptiPlex GX620 > ODEBUG: free active (active state 0) object type: timer_list hint: wakeup_timer_fn+0x0/0x50 Does below patch help? >>From a98b874437f871d5ecc3f6fe409b2b474b1f2731 Mon Sep 17 00:00:00 2001 From: Lin Ming Date: Tue, 6 Sep 2011 22:45:43 +0800 Subject: [PATCH] block: delete bdi writeback wakup_timer in blk_cleanup_queue() Signed-off-by: Lin Ming --- block/blk-core.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index 90e1ffd..22529a3 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -363,6 +363,7 @@ void blk_cleanup_queue(struct request_queue *q) blk_sync_queue(q); del_timer_sync(&q->backing_dev_info.laptop_mode_wb_timer); + del_timer_sync(&q->backing_dev_info.wb.wakeup_timer); mutex_lock(&q->sysfs_lock); queue_flag_set_unlocked(QUEUE_FLAG_DEAD, q); mutex_unlock(&q->sysfs_lock); -- 1.7.2.3 Regards, Lin Ming > Modules linked in: [last unloaded: scsi_wait_scan] > Pid: 5144, comm: umount Not tainted 3.0.4-y264 #1 > Call Trace: > [] warn_slowpath_common+0x6d/0xa0 > [] ? debug_print_object+0x85/0xa0 > [] ? debug_print_object+0x85/0xa0 > [] warn_slowpath_fmt+0x2e/0x30 > [] debug_print_object+0x85/0xa0 > [] ? bdi_init+0x150/0x150 > [] __debug_check_no_obj_freed+0xda/0x180 > [] ? get_parent_ip+0xb/0x40 > [] debug_check_no_obj_freed+0x15/0x20 > [] kmem_cache_free+0x9a/0xc0 > [] ? prop_local_destroy_percpu+0x8/0x10 > [] ? bdi_destroy+0xdb/0x110 > [] ? blk_release_queue+0x45/0x50 > [] blk_release_queue+0x45/0x50 > [] kobject_release+0x3a/0x80 > [] ? kobject_del+0x60/0x60 > [] kref_put+0x2d/0x60 > [] kobject_put+0x1d/0x50 > [] ? __cancel_work_timer+0x68/0x70 > [] blk_put_queue+0xd/0x10 > [] scsi_device_dev_release_usercontext+0xe3/0x120 > [] ? scsi_device_cls_release+0x10/0x10 > [] execute_in_process_context+0x5c/0x70 > [] scsi_device_dev_release+0x13/0x20 > [] device_release+0x19/0x80 > [] ? kfree+0xc9/0xd0 > [] ? kobject_release+0x45/0x80 > [] kobject_release+0x3a/0x80 > [] ? kobject_del+0x60/0x60 > [] kref_put+0x2d/0x60 > [] kobject_put+0x1d/0x50 > [] ? kobject_put+0x1d/0x50 > [] put_device+0xf/0x20 > [] scsi_device_put+0x33/0x50 > [] scsi_disk_put+0x2b/0x40 > [] sd_release+0x2f/0x60 > [] __blkdev_put+0x120/0x160 > [] __blkdev_put+0xfd/0x160 > [] blkdev_put+0x23/0x110 > [] kill_block_super+0x40/0x70 > [] deactivate_locked_super+0x3d/0x60 > [] deactivate_super+0x49/0x70 > [] mntput_no_expire+0x86/0xc0 > [] sys_umount+0x5d/0xb0 > [] sysenter_do_call+0x12/0x2c > ---[ end trace ad6863f336beb434 ]--- > > > -- > Frank