Re: kobject: delayed kobject release: help find buggy drivers

From: Dave Jones
Date: Thu Sep 05 2013 - 14:14:24 EST


On Thu, Sep 05, 2013 at 06:35:40PM +0100, Russell King - ARM Linux wrote:
> On Thu, Sep 05, 2013 at 01:19:45AM -0400, Dave Jones wrote:
> > Got it. (I think I was getting tracebacks from multiple cpus, hence
> > the spewing). Adding a check for tainted() = infinite loop to
> > show_backtrace() combined with boot_delay gave me a really long oops
> > that I had to grab video to record.
>
> How complete is this trace? If accurate, I suspect that this is an oops
> caused by the timer expiring, but the memory associated with the timer
> has already been overwritten. That would make it particularly hard to
> debug.

There were some '?' symbols in the trace too which I omitted last night.
(offsets left out, because I'm hand-transcribing from video)

<IRQ>
? call_timer_fn
? call_timer_fn
run_timer_softirq
__do_softirq
irq_exit
smp_apic_timer_interrupt
apic_timer_interrupt
<EOI>
? touch_nmi_watchdog
? touch_nmi_watchdog
vprintk_emit
? create_syslog_header
dev_vprintk_emit
? dump_trace
? trace_hardirqs_off_caller
? trace_hardirqs_off_caller
dev_print_emit
? trace_hardirqs_off_caller
__dev_printk
_dev_info
? trace_hardirqs_off
ahci_print_info
ahci_init_one
local_pci_probe
pci_device_probe
driver_probe_device
__driver_attach
? __device_attach
bus_for_each_dev
driver_attach
bus_add_driver
? ata_sff_init
driver_register
__pci_register_driver
ahci_pci_driver_init
do_one_initcall
? parse_args
kernel_init_freeable
? do_early_param
? rest_init
kernel_init
ret_from_fork
? rest_init

> Maybe the patch below will allow Dave to boot to a prompt and capture
> the full dmesg - I've only just cooked up this patch so it may need
> a bit of work to get it to build. Please ensure that kobject debugging
> is enabled, so we can translate from kobject addresses to names.
>
> Dave - thanks for your patience and effort in trying to track this down.
> Hopefully the patch below will make it easier.

building now.

Thanks,

Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/