Re: 6.9.0-rc2+ kernel hangs on boot (bisected, maybe LED related)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07.05.2024 12:58, Heiner Kallweit wrote:
> On 07.05.2024 08:27, Heiner Kallweit wrote:
>> On 07.05.2024 06:20, Ben Greear wrote:
>>> On 5/6/24 13:00, Heiner Kallweit wrote:
>>>> On 03.04.2024 21:35, Ben Greear wrote:
>>>>> On 4/2/24 10:38, Ben Greear wrote:
>>>>>> On 4/2/24 09:37, Ben Greear wrote:
>>>>>>> Hello,
>>>>>>>
>>>>>>> Sometime between rc1 and today's rc2, my system quit booting.
>>>>>>> I'm not seeing any splats, it just stops.  Evidently before
>>>>>>> sysrq is enabled.
>>>>>>>
>>>>
>>>> For my understanding:
>>>> You say 6.9-rc1 was ok, but 6.9-rc2 is not?
>>>>
>>>> If I look at the diff then I see no LED subsystem changes,
>>>> but iwlwifi changes. It's not clear to me why your bisect
>>>> points to something outside the diff.
>>>
>>> I was incorrect in my early assessment about exactly where
>>> the error came in.  I later ran a full bisect to find the commit
>>> that showed the error.  The problem only seems to happen when there
>>> are lots of iwlwifi (in my case) radios in a system, so that added
>>> to my initial confusion on the bug.
>>>
>>> It is almost certainly LED related, as my initial hack to make the problem
>>> go away was to just comment out the led registration logic in iwlwifi.
>>>
>> The bisect points to a merge commit, what makes root cause analysis cumbersome.
>> Could you bisect based on the following? Between for-leds-fixes and leds-next-6.9
>> Then the bisect result should point to the individual commit.
>>
>> git.kernel.org/pub/scm/linux/kernel/git/lee/leds.git/log/?h=leds-next-6.9
>>
> The issue seems to be somewhat related to module loading. So a trace of module
> loading activity may help. Could you please enable module activity tracing
> and provide the resulting trace file?
> 
> /sys/kernel/debug/tracing/events/module/enable
> 

So far the only change that seems to be related is adding the following
module loading. Eventhough I don't see anything wrong with it, could you
please test whether removing it makes a difference?


diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index b1b323b19..6e45d9c61 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -282,8 +282,8 @@ void led_trigger_set_default(struct led_classdev *led_cdev)
 	 * If default trigger wasn't found, maybe trigger module isn't loaded yet.
 	 * Once loaded it will re-probe with all led_cdev's.
 	 */
-	if (!found)
-		request_module_nowait("ledtrig:%s", led_cdev->default_trigger);
+//	if (!found)
+//		request_module_nowait("ledtrig:%s", led_cdev->default_trigger);
 }
 EXPORT_SYMBOL_GPL(led_trigger_set_default);
 
-- 


>>> Johanne's solution also makes the problem go away.
>>>
>>> Thanks,
>>> Ben
>>>
>>>>
>>>>
>>>>>>> [  OK  ] Started Flush Journal to Persistent Storage.
>>>>>>> [  OK  ] Started udev Coldplug all Devices.
>>>>>>>            Starting udev Wait for Complete Device Initialization...
>>>>>>> [  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
>>>>>>> [  OK  ] Created slice system-lvm2\x2dpvscan.slice.
>>>>>>>            Starting LVM2 PV scan on device 8:19...
>>>>>>>            Starting LVM2 PV scan on device 8:3...
>>>>>>> [  OK  ] Started Device-mapper event daemon.
>>>>>>> iwlwifi 0000:04:00.0: WRT: Invalid buffer destination: 0
>>>>>>> sysrq: This sysrq operation is disabled.
>>>>>>>
>>>>>>> I can start a bisect, but in case anyone knows the answer already, please let me know.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Ben
>>>>>>>
>>>>>>
>>>>>> So, deadlock I guess....
>>>>>>
>>>>>>    INFO: task kworker/5:13:648 blocked for more than 180 seconds.
>>>>>>         Not tainted 6.9.0-rc2+ #23
>>>>>> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
>>>>>> task:kworker/5:13    state:D stack:0     pid:648   tgid:648   ppid:2      flags:0x00004000
>>>>>> Workqueue: events deferred_probe_timeout_work_func
>>>>>> Call Trace:
>>>>>>    <TASK>
>>>>>>    __schedule+0x43d/0xe20
>>>>>>    schedule+0x31/0x130
>>>>>>    schedule_timeout+0x1b9/0x1d0
>>>>>>    ? mark_held_locks+0x49/0x70
>>>>>>    ? lockdep_hardirqs_on_prepare+0xd6/0x170
>>>>>>    __wait_for_common+0xb9/0x1d0
>>>>>>    ? usleep_range_state+0xb0/0xb0
>>>>>>    ? __flush_work+0x1ff/0x460
>>>>>>    __flush_work+0x287/0x460
>>>>>>    ? flush_workqueue_prep_pwqs+0x120/0x120
>>>>>>    deferred_probe_timeout_work_func+0x2b/0xa0
>>>>>>    process_one_work+0x212/0x710
>>>>>>    ? lock_is_held_type+0xa5/0x110
>>>>>>    worker_thread+0x188/0x340
>>>>>>    ? rescuer_thread+0x380/0x380
>>>>>>    kthread+0xd7/0x110
>>>>>>    ? kthread_complete_and_exit+0x20/0x20
>>>>>>    ret_from_fork+0x28/0x40
>>>>>>    ? kthread_complete_and_exit+0x20/0x20
>>>>>>    ret_from_fork_asm+0x11/0x20
>>>>>>    </TASK>
>>>>>> INFO: task udevadm:763 blocked for more than 180 seconds.
>>>>>>         Not tainted 6.9.0-rc2+ #23
>>>>>> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
>>>>>> task:udevadm         state:D stack:0     pid:763   tgid:763   ppid:1      flags:0x00000000
>>>>>> Call Trace:
>>>>>>    <TASK>
>>>>>>    __schedule+0x43d/0xe20
>>>>>>    schedule+0x31/0x130
>>>>>>    schedule_timeout+0x1b9/0x1d0
>>>>>>    ? __wait_for_common+0xb0/0x1d0
>>>>>>    ? lock_release+0xc6/0x290
>>>>>>    ? lockdep_hardirqs_on_prepare+0xd6/0x170
>>>>>>    __wait_for_common+0xb9/0x1d0
>>>>>>    ? usleep_range_state+0xb0/0xb0
>>>>>>    ? __flush_work+0x1ff/0x460
>>>>>>    __flush_work+0x287/0x460
>>>>>>    ? flush_workqueue_prep_pwqs+0x120/0x120
>>>>>>    fsnotify_destroy_group+0x66/0xf0
>>>>>>    inotify_release+0x12/0x40
>>>>>>    __fput+0xa6/0x2d0
>>>>>>    __x64_sys_close+0x33/0x70
>>>>>>    do_syscall_64+0x6c/0x170
>>>>>>    entry_SYSCALL_64_after_hwframe+0x46/0x4e
>>>>>> RIP: 0033:0x7f744d5bc878
>>>>>> RSP: 002b:00007ffcef12f8d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
>>>>>> RAX: ffffffffffffffda RBX: 00007f744cd048c0 RCX: 00007f744d5bc878
>>>>>> RDX: ffffffffffffff80 RSI: 0000000000000000 RDI: 0000000000000003
>>>>>> RBP: 0000000000000003 R08: 000055f9ce349fb0 R09: 0000000000000000
>>>>>> R10: 00007ffcef12f8f0 R11: 0000000000000246 R12: 0000000000000002
>>>>>> R13: 0000000007270e00 R14: 000055f99670c9b8 R15: 0000000000000002
>>>>>>    </TASK>
>>>>>> INFO: task modprobe:968 blocked for more than 180 seconds.
>>>>>>         Not tainted 6.9.0-rc2+ #23
>>>>>> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
>>>>>> task:modprobe        state:D stack:0     pid:968   tgid:968   ppid:65     flags:0x00000000
>>>>>> Call Trace:
>>>>>>    <TASK>
>>>>>>    __schedule+0x43d/0xe20
>>>>>>    schedule+0x31/0x130
>>>>>>    schedule_timeout+0x1b9/0x1d0
>>>>>>    ? __wait_for_common+0xb0/0x1d0
>>>>>>    ? lock_release+0xc6/0x290
>>>>>>    ? lockdep_hardirqs_on_prepare+0xd6/0x170
>>>>>>    __wait_for_common+0xb9/0x1d0
>>>>>>    ? usleep_range_state+0xb0/0xb0
>>>>>>    idempotent_init_module+0x1ae/0x290
>>>>>>    __x64_sys_finit_module+0x55/0xb0
>>>>>>    do_syscall_64+0x6c/0x170
>>>>>>    entry_SYSCALL_64_after_hwframe+0x46/0x4e
>>>>>> RIP: 0033:0x7fde25530ddd
>>>>>> RSP: 002b:00007fffac078518 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
>>>>>> RAX: ffffffffffffffda RBX: 0000558758e28ef0 RCX: 00007fde25530ddd
>>>>>> RDX: 0000000000000000 RSI: 000055873cebf358 RDI: 0000000000000001
>>>>>> RBP: 0000000000040000 R08: 0000000000000000 R09: 0000000000000000
>>>>>> R10: 0000000000000001 R11: 0000000000000246 R12: 000055873cebf358
>>>>>> R13: 0000000000000000 R14: 0000558758e29020 R15: 0000558758e28ef0
>>>>>>    </TASK>
>>>>>> INFO: task modprobe:969 blocked for more than 180 seconds.
>>>>>>         Not tainted 6.9.0-rc2+ #23
>>>>>> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
>>>>>> task:modprobe        state:D stack:0     pid:969   tgid:969   ppid:93     flags:0x00000000
>>>>>> Call Trace:
>>>>>>    <TASK>
>>>>>>    __schedule+0x43d/0xe20
>>>>>>    schedule+0x31/0x130
>>>>>>    schedule_timeout+0x1b9/0x1d0
>>>>>>    ? __wait_for_common+0xb0/0x1d0
>>>>>>    ? lock_release+0xc6/0x290
>>>>>>    ? lockdep_hardirqs_on_prepare+0xd6/0x170
>>>>>>    __wait_for_common+0xb9/0x1d0
>>>>>>    ? usleep_range_state+0xb0/0xb0
>>>>>>    idempotent_init_module+0x1ae/0x290
>>>>>>    __x64_sys_finit_module+0x55/0xb0
>>>>>>    do_syscall_64+0x6c/0x170
>>>>>>    entry_SYSCALL_64_after_hwframe+0x46/0x4e
>>>>>> RIP: 0033:0x7f338d516ddd
>>>>>> RSP: 002b:00007ffd155cd1e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
>>>>>> RAX: ffffffffffffffda RBX: 000056092cb0def0 RCX: 00007f338d516ddd
>>>>>> RDX: 0000000000000000 RSI: 00005608ecb4a358 RDI: 0000000000000001
>>>>>> RBP: 0000000000040000 R08: 0000000000000000 R09: 0000000000000000
>>>>>> R10: 0000000000000001 R11: 0000000000000246 R12: 00005608ecb4a358
>>>>>> R13: 0000000000000000 R14: 000056092cb0e020 R15: 000056092cb0def0
>>>>>>    </TASK>
>>>>>> INFO: task modprobe:1044 blocked for more than 180 seconds.
>>>>>>         Not tainted 6.9.0-rc2+ #23
>>>>>> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
>>>>>> task:modprobe        state:D stack:0     pid:1044  tgid:1044  ppid:10     flags:0x00000000
>>>>>> Call Trace:
>>>>>>    <TASK>
>>>>>>    __schedule+0x43d/0xe20
>>>>>>    schedule+0x31/0x130
>>>>>>    schedule_timeout+0x1b9/0x1d0
>>>>>>    ? __wait_for_common+0xb0/0x1d0
>>>>>>    ? lock_release+0xc6/0x290
>>>>>>    ? lockdep_hardirqs_on_prepare+0xd6/0x170
>>>>>>    __wait_for_common+0xb9/0x1d0
>>>>>>    ? usleep_range_state+0xb0/0xb0
>>>>>>    idempotent_init_module+0x1ae/0x290
>>>>>>    __x64_sys_finit_module+0x55/0xb0
>>>>>>    do_syscall_64+0x6c/0x170
>>>>>>    entry_SYSCALL_64_after_hwframe+0x46/0x4e
>>>>>> RIP: 0033:0x7f7637b30ddd
>>>>>> RSP: 002b:00007ffe6251da78 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
>>>>>> RAX: ffffffffffffffda RBX: 000055b889cb3ef0 RCX: 00007f7637b30ddd
>>>>>> RDX: 0000000000000000 RSI: 000055b854eea358 RDI: 0000000000000001
>>>>>> RBP: 0000000000040000 R08: 0000000000000000 R09: 0000000000000000
>>>>>> R10: 0000000000000001 R11: 0000000000000246 R12: 000055b854eea358
>>>>>> R13: 0000000000000000 R14: 000055b889cb4020 R15: 000055b889cb3ef0
>>>>>>    </TASK>
>>>>>> INFO: task modprobe:1047 blocked for more than 180 seconds.
>>>>>>         Not tainted 6.9.0-rc2+ #23
>>>>>> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
>>>>>> task:modprobe        state:D stack:0     pid:1047  tgid:1047  ppid:113    flags:0x00000000
>>>>>> Call Trace:
>>>>>>    <TASK>
>>>>>>    __schedule+0x43d/0xe20
>>>>>>    schedule+0x31/0x130
>>>>>>    schedule_timeout+0x1b9/0x1d0
>>>>>>    ? __wait_for_common+0xb0/0x1d0
>>>>>>    ? lock_release+0xc6/0x290
>>>>>>    ? lockdep_hardirqs_on_prepare+0xd6/0x170
>>>>>>    __wait_for_common+0xb9/0x1d0
>>>>>>    ? usleep_range_state+0xb0/0xb0
>>>>>>    idempotent_init_module+0x1ae/0x290
>>>>>>    __x64_sys_finit_module+0x55/0xb0
>>>>>>    do_syscall_64+0x6c/0x170
>>>>>>    entry_SYSCALL_64_after_hwframe+0x46/0x4e
>>>>>> RIP: 0033:0x7f3907130ddd
>>>>>> RSP: 002b:00007ffc36e4eb08 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
>>>>>> RAX: ffffffffffffffda RBX: 000056100a856ef0 RCX: 00007f3907130ddd
>>>>>> RDX: 0000000000000000 RSI: 0000560fff0ec358 RDI: 0000000000000001
>>>>>> RBP: 0000000000040000 R08: 0000000000000000 R09: 0000000000000000
>>>>>> R10: 0000000000000001 R11: 0000000000000246 R12: 0000560fff0ec358
>>>>>> R13: 0000000000000000 R14: 000056100a857020 R15: 000056100a856ef0
>>>>>>    </TASK>
>>>>>> INFO: task modprobe:1056 blocked for more than 180 seconds.
>>>>>>         Not tainted 6.9.0-rc2+ #23
>>>>>> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
>>>>>> task:modprobe        state:D stack:0     pid:1056  tgid:1056  ppid:1045   flags:0x00000000
>>>>>> Call Trace:
>>>>>>    <TASK>
>>>>>>    __schedule+0x43d/0xe20
>>>>>>    schedule+0x31/0x130
>>>>>>    schedule_timeout+0x1b9/0x1d0
>>>>>>    ? __wait_for_common+0xb0/0x1d0
>>>>>>    ? lock_release+0xc6/0x290
>>>>>>    ? lockdep_hardirqs_on_prepare+0xd6/0x170
>>>>>>    __wait_for_common+0xb9/0x1d0
>>>>>>    ? usleep_range_state+0xb0/0xb0
>>>>>>    idempotent_init_module+0x1ae/0x290
>>>>>>    __x64_sys_finit_module+0x55/0xb0
>>>>>>    do_syscall_64+0x6c/0x170
>>>>>>    entry_SYSCALL_64_after_hwframe+0x46/0x4e
>>>>>> RIP: 0033:0x7fcb1e730ddd
>>>>>> RSP: 002b:00007ffc692d0ad8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
>>>>>> RAX: ffffffffffffffda RBX: 000055f8d8828ef0 RCX: 00007fcb1e730ddd
>>>>>> RDX: 0000000000000000 RSI: 000055f8bff36358 RDI: 0000000000000001
>>>>>> RBP: 0000000000040000 R08: 0000000000000000 R09: 0000000000000000
>>>>>> R10: 0000000000000001 R11: 0000000000000246 R12: 000055f8bff36358
>>>>>> R13: 0000000000000000 R14: 000055f8d8829020 R15: 000055f8d8828ef0
>>>>>>    </TASK>
>>>>>> INFO: task modprobe:1058 blocked for more than 180 seconds.
>>>>>>         Not tainted 6.9.0-rc2+ #23
>>>>>> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
>>>>>> task:modprobe        state:D stack:0     pid:1058  tgid:1058  ppid:1051   flags:0x00000000
>>>>>> Call Trace:
>>>>>>    <TASK>
>>>>>>    __schedule+0x43d/0xe20
>>>>>>    schedule+0x31/0x130
>>>>>>    schedule_timeout+0x1b9/0x1d0
>>>>>>    ? __wait_for_common+0xb0/0x1d0
>>>>>>    ? lock_release+0xc6/0x290
>>>>>>    ? lockdep_hardirqs_on_prepare+0xd6/0x170
>>>>>>    __wait_for_common+0xb9/0x1d0
>>>>>>    ? usleep_range_state+0xb0/0xb0
>>>>>>    idempotent_init_module+0x1ae/0x290
>>>>>>    __x64_sys_finit_module+0x55/0xb0
>>>>>>    do_syscall_64+0x6c/0x170
>>>>>>    entry_SYSCALL_64_after_hwframe+0x46/0x4e
>>>>>> RIP: 0033:0x7f0a17b30ddd
>>>>>> RSP: 002b:00007fff56d619e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
>>>>>> RAX: ffffffffffffffda RBX: 000055abd6741ef0 RCX: 00007f0a17b30ddd
>>>>>> RDX: 0000000000000000 RSI: 000055abc6586358 RDI: 0000000000000001
>>>>>> RBP: 0000000000040000 R08: 0000000000000000 R09: 0000000000000000
>>>>>> R10: 0000000000000001 R11: 0000000000000246 R12: 000055abc6586358
>>>>>> R13: 0000000000000000 R14: 000055abd6742020 R15: 000055abd6741ef0
>>>>>>    </TASK>
>>>>>> INFO: task modprobe:1060 blocked for more than 181 seconds.
>>>>>>         Not tainted 6.9.0-rc2+ #23
>>>>>> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
>>>>>> task:modprobe        state:D stack:0     pid:1060  tgid:1060  ppid:1057   flags:0x00000000
>>>>>> Call Trace:
>>>>>>    <TASK>
>>>>>>    __schedule+0x43d/0xe20
>>>>>>    schedule+0x31/0x130
>>>>>>    schedule_timeout+0x1b9/0x1d0
>>>>>>    ? __wait_for_common+0xb0/0x1d0
>>>>>>    ? lock_release+0xc6/0x290
>>>>>>    ? lockdep_hardirqs_on_prepare+0xd6/0x170
>>>>>>    __wait_for_common+0xb9/0x1d0
>>>>>>    ? usleep_range_state+0xb0/0xb0
>>>>>>    idempotent_init_module+0x1ae/0x290
>>>>>>    __x64_sys_finit_module+0x55/0xb0
>>>>>>    do_syscall_64+0x6c/0x170
>>>>>>    entry_SYSCALL_64_after_hwframe+0x46/0x4e
>>>>>> RIP: 0033:0x7f12c0130ddd
>>>>>> RSP: 002b:00007ffccdef0488 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
>>>>>> RAX: ffffffffffffffda RBX: 000056249db40ef0 RCX: 00007f12c0130ddd
>>>>>> RDX: 0000000000000000 RSI: 0000562471e4d358 RDI: 0000000000000001
>>>>>> RBP: 0000000000040000 R08: 0000000000000000 R09: 0000000000000000
>>>>>> R10: 0000000000000001 R11: 0000000000000246 R12: 0000562471e4d358
>>>>>> R13: 0000000000000000 R14: 000056249db41020 R15: 000056249db40ef0
>>>>>>    </TASK>
>>>>>>
>>>>>> Showing all locks held in the system:
>>>>>> 2 locks held by systemd/1:
>>>>>>    #0: ffff88812a7a10a0 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x1f/0x50
>>>>>>    #1: ffff88812a7a1130 (&tty->atomic_write_lock){+.+.}-{4:4}, at: file_tty_write.constprop.0+0xab/0x330
>>>>>> 2 locks held by kworker/0:1/9:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc900000afe50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/u32:0/10:
>>>>>>    #0: ffff888120070948 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc900000b7e50 ((work_completion)(&sub_info->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/3:0/37:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc900001cbe50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/7:0/61:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc9000029be50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/u32:1/65:
>>>>>>    #0: ffff888120070948 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc900002bfe50 ((work_completion)(&sub_info->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 1 lock held by khungtaskd/66:
>>>>>>    #0: ffffffff8296e760 (rcu_read_lock){....}-{1:3}, at: debug_show_all_locks+0x32/0x1c0
>>>>>> 2 locks held by kworker/1:1/79:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc9000032fe50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/u32:2/93:
>>>>>>    #0: ffff888120070948 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc900003d3e50 ((work_completion)(&sub_info->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/6:1/94:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc900003dbe50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/3:1/96:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc900003ebe50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/1:2/102:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90000eabe50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/u32:3/107:
>>>>>>    #0: ffff888120070948 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90000ed3e50 ((work_completion)(&sub_info->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/u32:4/113:
>>>>>>    #0: ffff888120070948 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90000f03e50 ((work_completion)(&sub_info->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/6:2/189:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90000e0fe50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/6:5/196:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90000f13e50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/6:6/197:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90000f23e50 ((work_completion)(&(&hda->probe_work)->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/6:8/199:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90000f53e50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/7:2/296:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc9000105be50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/7:3/297:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90001043e50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/7:4/298:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90001063e50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/7:5/320:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90001003e50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/2:2/371:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc9000104be50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/5:13/648:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc9000198fe50 ((deferred_probe_timeout_work).work){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/5:14/649:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90001997e50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/5:15/650:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc9000199fe50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/5:16/651:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc900019a7e50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/4:3/722:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90001a27e50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/1:4/768:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc900010d7e50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/1:5/769:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc900010dfe50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/0:2/849:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90001353e50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by lvm/860:
>>>>>>    #0: ffff8881323c19a8 (&md->type_lock){+.+.}-{4:4}, at: table_load+0xc9/0x400
>>>>>>    #1: ffff88813200c3b8 (&mddev->reconfig_mutex){+.+.}-{4:4}, at: raid_ctr+0x13b3/0x2860 [dm_raid]
>>>>>> 2 locks held by modprobe/1019:
>>>>>>    #0: ffffffffa0ca7b68 (iwlwifi_opmode_table_mtx){+.+.}-{4:4}, at: iwl_opmode_register+0x27/0xd0 [iwlwifi]
>>>>>>    #1: ffff888139f88270 (&led_cdev->led_access){+.+.}-{4:4}, at: led_classdev_register_ext+0x195/0x450
>>>>>> 2 locks held by kworker/u32:5/1045:
>>>>>>    #0: ffff888120070948 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90004367e50 ((work_completion)(&sub_info->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/u32:6/1051:
>>>>>>    #0: ffff888120070948 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90004703e50 ((work_completion)(&sub_info->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/u32:7/1057:
>>>>>>    #0: ffff888120070948 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90004a97e50 ((work_completion)(&sub_info->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/3:3/1111:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90005bafe50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>> 2 locks held by kworker/3:4/1132:
>>>>>>    #0: ffff88812006c548 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x41e/0x710
>>>>>>    #1: ffffc90005e13e50 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x1d1/0x710
>>>>>>
>>>>>> =============================================
>>>>>>
>>>>>>
>>>>>
>>>>> I ran a bisect on this.  The tagged bad commit is a LED related merge, but commit
>>>>> shows no code changes when I look at it in git.  I double checked that the
>>>>> merge is bad by manually going to it again at the end of the bisect and
>>>>> indeed it fails.
>>>>>
>>>>>  From looking at lockdep, this below may be interesting.  I do have 24 intel be200 radios
>>>>> in this system, so maybe lots of iwlwifi radios help trigger the problem?
>>>>>
>>>>>> 2 locks held by modprobe/1019:
>>>>>>     #0: ffffffffa0ca7b68 (iwlwifi_opmode_table_mtx){+.+.}-{4:4}, at: iwl_opmode_register+0x27/0xd0 [iwlwifi]
>>>>>>     #1: ffff888139f88270 (&led_cdev->led_access){+.+.}-{4:4}, at: led_classdev_register_ext+0x195/0x450
>>>>>
>>>>> Please let me know if you have any suggestions for how to debug this further.
>>>>>
>>>>> [greearb@ben-dt5 linux-2.6]$ git bisect log
>>>>> git bisect start
>>>>> # status: waiting for both good and bad commits
>>>>> # good: [e8f897f4afef0031fe618a8e94127a0934896aba] Linux 6.8
>>>>> git bisect good e8f897f4afef0031fe618a8e94127a0934896aba
>>>>> # status: waiting for bad commit, 1 good commit known
>>>>> # bad: [4cece764965020c22cff7665b18a012006359095] Linux 6.9-rc1
>>>>> git bisect bad 4cece764965020c22cff7665b18a012006359095
>>>>> # good: [e5e038b7ae9da96b93974bf072ca1876899a01a3] Merge tag 'fs_for_v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
>>>>> git bisect good e5e038b7ae9da96b93974bf072ca1876899a01a3
>>>>> # bad: [32a50540c3d26341698505998dfca5b0e8fb4fd4] Merge tag 'bcachefs-2024-03-13' of https://evilpiepirate.org/git/bcachefs
>>>>> git bisect bad 32a50540c3d26341698505998dfca5b0e8fb4fd4
>>>>> # good: [a3df5d5422b4edfcfe658d5057e7e059571e32ce] Merge tag 'pinctrl-v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
>>>>> git bisect good a3df5d5422b4edfcfe658d5057e7e059571e32ce
>>>>> # bad: [c0a614e82ece41d15b7a66f43ee79f4dbdbc925a] Merge tag 'lsm-pr-20240314' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm
>>>>> git bisect bad c0a614e82ece41d15b7a66f43ee79f4dbdbc925a
>>>>> # bad: [705c1da8fa4816fb0159b5602fef1df5946a3ee2] Merge tag 'pci-v6.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci
>>>>> git bisect bad 705c1da8fa4816fb0159b5602fef1df5946a3ee2
>>>>> # bad: [f5c31bcf604db54470868f3118a60dc4a9ba8813] Merge tag 'leds-next-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds
>>>>> git bisect bad f5c31bcf604db54470868f3118a60dc4a9ba8813
>>>>> # good: [8403ce70be339d462892a2b935ae30ee52416f92] Merge tag 'mfd-next-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
>>>>> git bisect good 8403ce70be339d462892a2b935ae30ee52416f92
>>>>> # good: [2cd0d1db31e78a63553876f8e6a4c9dcc1f9c061] leds: expresswire: Don't depend on NEW_LEDS
>>>>> git bisect good 2cd0d1db31e78a63553876f8e6a4c9dcc1f9c061
>>>>> # good: [23749cf3dfff5dcd706183ade1d27198a37b3881] backlight: gpio: Simplify with dev_err_probe()
>>>>> git bisect good 23749cf3dfff5dcd706183ade1d27198a37b3881
>>>>> # good: [2c7c70f54f791ece44541a9254c1a73790fd4595] dt-bindings: leds: Add NCP5623 multi-LED Controller
>>>>> git bisect good 2c7c70f54f791ece44541a9254c1a73790fd4595
>>>>> # good: [c9128ed7b9edeb2b6f1faec06d96b2fd5bc72cb8] backlight: lm3630a_bl: Simplify probe return on gpio request error
>>>>> git bisect good c9128ed7b9edeb2b6f1faec06d96b2fd5bc72cb8
>>>>> # good: [45066c4bbe8ca25f9f282245b84568116c783f1d] leds: ncp5623: Add MS suffix to time defines
>>>>> git bisect good 45066c4bbe8ca25f9f282245b84568116c783f1d
>>>>> # good: [f3d8f29d1f59230b8c2a09e6dee7db7bd295e42c] Merge tag 'backlight-next-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight
>>>>> git bisect good f3d8f29d1f59230b8c2a09e6dee7db7bd295e42c
>>>>> # first bad commit: [f5c31bcf604db54470868f3118a60dc4a9ba8813] Merge tag 'leds-next-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds
>>>>> [greearb@ben-dt5 linux-2.6]$
>>>>>
>>>>> Thanks,
>>>>> Ben
>>>>>
>>>>
>>>
>>>
>>
> 





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux