Re: How to debug DEBUG_TEST_DRIVER_REMOVE hang during loading of kernel?

From: Randy Dunlap
Date: Fri Nov 04 2016 - 22:08:21 EST


On 11/04/16 13:47, Maarten Maathuis wrote:
> Anyone have advice where else I can ask?
>
> On Sat, Oct 29, 2016 at 1:07 PM, Maarten Maathuis <madman2003@xxxxxxxxx> wrote:
>> Anyone have suggestions?

Besides serial console, there are also netconsole, earlycon (probably not
useful to you), and earlyprintk.

You can use the boot option "initcall_debug" to see what drivers are being loaded
and possibly which one is causing the system hang.

You can use the boot option "ignore_loglevel" to have all kernel messages printed.


Who is enabling DEBUG_TEST_DRIVER_REMOVE? Its help text says:

This option is expected to find errors and may render your system
unusable. You should say N here unless you are explicitly looking to
test this functionality.


>> On Thu, Oct 27, 2016 at 8:42 PM, Maarten Maathuis <madman2003@xxxxxxxxx> wrote:
>>> Hi,
>>>
>>> I recently had trouble with loading a 4.9rcX kernel, which was hanging
>>> after loading the initial kernel ramdisk. After some painful bisecting
>>> I found this:
>>>
>>> bea5b158ff0da9c7246ff391f754f5f38e34577a is the first bad commit
>>> commit bea5b158ff0da9c7246ff391f754f5f38e34577a
>>> Author: Rob Herring <robh@xxxxxxxxxx>
>>> Date: Thu Aug 11 10:20:58 2016 -0500
>>>
>>> driver core: add test of driver remove calls during probe
>>>
>>> In recent discussions on ksummit-discuss[1], it was suggested to do a
>>> sequence of probe, remove, probe for testing driver remove paths. This
>>> adds a kconfig option for said test.
>>>
>>> [1] https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2016-August/003459.html
>>>
>>> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
>>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>>> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
>>> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>>>
>>> It turns out that the package i was using to build the kernel had
>>> DEBUG_TEST_DRIVER_REMOVE enabled.
>>>
>>> How do I actually figure out why this test causes a hang. I don't have
>>> a COM port available to use as serial console, and i don't know if it
>>> would even help.
>>>
>>> Please CC me as i'm not a member of this mailinglist.
>>>
>>> Maarten.


--
~Randy